[MDEV-31595] Using MariaDB with Nextcloud on docker gives fatal IO error Created: 2023-06-30 Updated: 2023-10-02 |
|
| Status: | Open |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB |
| Affects Version/s: | 11.0.2 |
| Fix Version/s: | 11.0 |
| Type: | Bug | Priority: | Major |
| Reporter: | Jay Schieber | Assignee: | Unassigned |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | crash | ||
| Environment: |
Docker running in Ubuntu |
||
| Attachments: |
|
||||||||||||
| Issue Links: |
|
||||||||||||
| Description |
|
Sorry,I known nothing about databases, but MariaDB has stopped working for a few days, and showing the attached logs, with some alarming messages. I could find no similar logs in the reported issues (I tried to follow the instructions here). It was running great for at least a year, and started crashing without any updates, afaicr. Also attached is my docker-compose.yaml file. |
| Comments |
| Comment by Marko Mäkelä [ 2023-06-30 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
In _mariadbnextcloud_logs.txt
Error 22 is EINVAL, and a possible reason is that the file descriptor 10 had been closed. This might be a duplicate of | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Daniel Black [ 2023-06-30 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
As both bugs Marko mentioned have been fixed, you can try quay.io/mariadb-foundation/mariadb-devel:11.0 as a image that has both of those fixed. This follows the reviewed and fixed MariaDB codebase for the 11.0 branch and is build the same way as the mariadb Docker Official Image. Please confirm if this runs correctly. Also, after confirming it works correctly, from [https://mariadb.com/kb/en/mariadb-server-docker-official-image-environment-variables/#mariadb_auto_upgrade-mariadb_disable_upgrade_backup|envionment variables], recommend MARIADB_AUTO_UPGRADE=1 since you are following mariadb:latest as an image. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Jay Schieber [ 2023-07-09 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Thanks Daniel, the 11.0 version works! However, I am not sure that I understand the second paragraph. I went back to the old image (mariadb) and added the environment you suggested. But this crashes with:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Jay Schieber [ 2023-07-09 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Hmmm. Now going back to what was working fails. Maybe it was repairing something that hadn't finished before? No idea, really.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Daniel Black [ 2023-07-09 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
The code of the MARIADB_AUTO_UPGRADE=1 didn't run, and it relates to with updating the system tables more than anything innodb specific. Use once you're sure that you don't need to downgrade as it blocks some downgrade paths between major versions. This new assertion is | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Marko Mäkelä [ 2023-07-10 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
jds, like danblack says, the crash on recovery was fixed in | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Jay Schieber [ 2023-07-10 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Sorry, but I don't understand all of this. I currently have no 'docker-compose.yaml' files that runs successfully. When I ran one using the image 'quay.io/mariadb-foundation/mariadb-devel:11.0', it originally worked, but when what (I think) was the final fix, it crashed with different complaints (see my last log above). Now, that dev image no longer works either. Could I get more specific instructions of the docker-compose setting necessary to get the version to test. Apologies for my ignorance here. If it is relevant, I am not aware of any multiple instances running here. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Jay Schieber [ 2023-07-26 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
I have been without the database (and nextcloud) for nearly a month now, and really stuck about how to fix it. I have the latest of both, but MariaDB still won't run in docker. It currently throws the error below. Is there any way to salvage the situation?
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Marko Mäkelä [ 2023-08-28 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
jds, the intentional crash following the message
should have been fixed in If you are unable to start up the database after upgrading to 11.0.3, you could try setting innodb_force_recovery=5 to prevent any undo logs from being accessed. That should allow you to use a tool like mariadb-dump to create a logical backup of the database contents. This will be using the transaction isolation level READ UNCOMMITTED. Then you could load the dump into a newly initialized database. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Marko Mäkelä [ 2023-10-02 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Another cause for that assertion failure is |