Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
11.5.1, 10.11, 11.4
-
macOS sonoma
IBM AIX 7.1
Description
I have encountered a recurring issue with MariaDB 11.5.1 where the InnoDB storage engine fails to initialize due to a "Missing FILE_CHECKPOINT" error. This issue arises consistently after importing data into a freshly created database and then attempting to restart the MariaDB server.
*Steps to Reproduce:*
1. Install MariaDB 11.5.1.
2. Initialize a new, empty database.
3. Import data into the database.
4. Restart the MariaDB server.
*Expected Behavior:*
MariaDB should restart successfully without any errors.
*Actual Behavior:*
The server fails to restart, and the following error messages appear in the log files:
240619 11:35:26 mysqld_safe Starting mariadbd daemon with databases from /Applications/ServBay/db/mariadb/11.5
|
2024-06-19 11:35:26 0 [Note] Starting MariaDB 11.5.1-MariaDB-log source revision 65079ece42f383bdeb9b3f913a833a6f0123919d as process 32024
|
2024-06-19 11:35:26 0 [Warning] Setting lower_case_table_names=2 because file system for /Applications/ServBay/db/mariadb/11.5/ is case insensitive
|
2024-06-19 11:35:26 0 [Warning] --innodb-file-per-table is deprecated and will be removed in a future release
|
2024-06-19 11:35:26 0 [Note] InnoDB: Compressed tables use zlib 1.3.1
|
2024-06-19 11:35:26 0 [Note] InnoDB: Number of transaction pools: 1
|
2024-06-19 11:35:26 0 [Note] InnoDB: Using generic crc32 instructions
|
2024-06-19 11:35:26 0 [Note] InnoDB: Initializing buffer pool, total size = 4.000GiB, chunk size = 64.000MiB
|
2024-06-19 11:35:26 0 [Note] InnoDB: Completed initialization of buffer pool
|
2024-06-19 11:35:26 0 [Note] InnoDB: End of log at LSN=47733
|
2024-06-19 11:35:26 0 [Note] InnoDB: Opened 3 undo tablespaces
|
2024-06-19 11:35:26 0 [Note] InnoDB: 128 rollback segments in 3 undo tablespaces are active.
|
2024-06-19 11:35:26 0 [Note] InnoDB: Setting file '/Applications/ServBay/db/mariadb/11.5/ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ...
|
2024-06-19 11:35:26 0 [Note] InnoDB: File '/Applications/ServBay/db/mariadb/11.5/ibtmp1' size is now 12.000MiB.
|
2024-06-19 11:35:26 0 [Note] InnoDB: log sequence number 47733; transaction id 14
|
2024-06-19 11:35:26 0 [Note] InnoDB: Loading buffer pool(s) from /Applications/ServBay/db/mariadb/11.5/ib_buffer_pool
|
2024-06-19 11:35:26 0 [Note] Plugin 'FEEDBACK' is disabled.
|
2024-06-19 11:35:26 0 [Note] Plugin 'wsrep-provider' is disabled.
|
2024-06-19 11:35:26 0 [Note] InnoDB: Buffer pool(s) load completed at 240619 11:35:26
|
2024-06-19 11:35:27 0 [Note] Server socket created on IP: '::1'.
|
2024-06-19 11:35:27 0 [Note] Server socket created on IP: '127.0.0.1'.
|
2024-06-19 11:35:27 0 [Note] Server socket created on IP: '::'.
|
2024-06-19 11:35:27 0 [Note] Server socket created on IP: '0.0.0.0'.
|
2024-06-19 11:35:27 0 [Note] mariadbd: Event Scheduler: Loaded 0 events
|
2024-06-19 11:35:27 0 [Note] /Applications/ServBay/package/mariadb/11.5/current/bin/mariadbd: ready for connections.
|
Version: '11.5.1-MariaDB-log' socket: '/Applications/ServBay/tmp/mariadb-11.5.sock' port: 3306 ServBay.dev
|
2024-06-19 11:37:01 0 [Note] /Applications/ServBay/package/mariadb/11.5/current/bin/mariadbd (initiated by: unknown): Normal shutdown
|
2024-06-19 11:37:01 0 [Note] InnoDB: FTS optimize thread exiting.
|
2024-06-19 11:37:01 0 [Note] InnoDB: Starting shutdown...
|
2024-06-19 11:37:01 0 [Note] InnoDB: Dumping buffer pool(s) to /Applications/ServBay/db/mariadb/11.5/ib_buffer_pool
|
2024-06-19 11:37:01 0 [Note] InnoDB: Buffer pool(s) dump completed at 240619 11:37:01
|
2024-06-19 11:37:01 0 [Note] InnoDB: Removed temporary tablespace data file: "/Applications/ServBay/db/mariadb/11.5/ibtmp1"
|
2024-06-19 11:37:01 0 [Note] InnoDB: Shutdown completed; log sequence number 10225990; transaction id 623
|
2024-06-19 11:37:01 0 [Note] /Applications/ServBay/package/mariadb/11.5/current/bin/mariadbd: Shutdown complete
|
|
240619 11:37:01 mysqld_safe mysqld from pid file /Applications/ServBay/tmp/mariadb-11.5.pid ended
|
240619 11:37:02 mysqld_safe Starting mariadbd daemon with databases from /Applications/ServBay/db/mariadb/11.5
|
2024-06-19 11:37:02 0 [Warning] Setting lower_case_table_names=2 because file system for /Applications/ServBay/db/mariadb/11.5/ is case insensitive
|
2024-06-19 11:37:02 0 [Note] Starting MariaDB 11.5.1-MariaDB-log source revision 65079ece42f383bdeb9b3f913a833a6f0123919d as process 32351
|
2024-06-19 11:37:02 0 [Warning] --innodb-file-per-table is deprecated and will be removed in a future release
|
2024-06-19 11:37:02 0 [Note] InnoDB: Compressed tables use zlib 1.3.1
|
2024-06-19 11:37:02 0 [Note] InnoDB: Number of transaction pools: 1
|
2024-06-19 11:37:02 0 [Note] InnoDB: Using generic crc32 instructions
|
2024-06-19 11:37:02 0 [Note] InnoDB: Initializing buffer pool, total size = 4.000GiB, chunk size = 64.000MiB
|
2024-06-19 11:37:02 0 [Note] InnoDB: Completed initialization of buffer pool
|
2024-06-19 11:37:02 0 [ERROR] InnoDB: Missing FILE_CHECKPOINT(10225974) at 10225974
|
2024-06-19 11:37:02 0 [ERROR] InnoDB: Log scan aborted at LSN 10225974
|
2024-06-19 11:37:02 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
|
2024-06-19 11:37:02 0 [Note] InnoDB: Starting shutdown...
|
2024-06-19 11:37:03 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
|
2024-06-19 11:37:03 0 [Note] Plugin 'FEEDBACK' is disabled.
|
2024-06-19 11:37:03 0 [Note] Plugin 'wsrep-provider' is disabled.
|
2024-06-19 11:37:03 0 [ERROR] Unknown/unsupported storage engine: InnoDB
|
2024-06-19 11:37:03 0 [ERROR] Aborting
|
240619 11:37:03 mysqld_safe mysqld from pid file /Applications/ServBay/tmp/mariadb-11.5.pid ended
|
This issue has been observed consistently across multiple users and environments.
*Environment Details:*
- MariaDB version: 11.5.1
- Operating System: macOS Sonoma
*Additional Information:*
The issue does not occur when the database is empty. It only arises after data has been imported and the server is restarted. Sometimes it will also cause ib_logfile0 to be lost.
11.5.0 works fine.
*Reproducibility:*
This issue is reproducible every time following the steps outlined above.
Attachments
Issue Links
- is blocked by
-
MDBF-714 Provide MacOS builders to dev
-
- Open
-
- is caused by
-
MDEV-33515 log_sys.lsn_lock causes excessive context switching
-
- Closed
-
- is duplicated by
-
MDEV-34521 Running mysql_install_db on 10.11 results in crash by assert failure at log0log.cc
-
- Closed
-
- relates to
-
MDEV-34678 pthread_mutex_init() without pthread_mutex_destroy() if SUX_LOCK_GENERIC
-
- Closed
-
-
MDEV-14425 Change the InnoDB redo log format to reduce write amplification
-
- Closed
-
-
MDEV-34350 11.4.2 breaks beyond repair the ib_logfile0 after restart
-
- Closed
-
Thank you for the report. There seems to be a regression between MariaDB Server 10.6 and 10.11. In our CI grid view for 10.6, we have a number of test failures on the experimental aarch64-macos builder, but the maximum configured number of test failures (49) is not being exceeded. In the CI grid view for 10.11, there are much more test failures and the tests are aborted due to too many failures.
I was suspecting that innodb_log_file_buffering=OFF could play a role, but I realize that this setting (use of O_DIRECT) was only implemented for Linux and Microsoft Windows, because we do not know how to find the physical block size on other operating systems. The InnoDB redo log file format was changed in
MDEV-14425, and I suspect that this could explain the regression.In the log excerpt that you posted, the LSN=47733 looks normal for a server startup right after the bootstrap.
In any case, this kind of trouble seems to be consistently reproduced on our CI. Here is a log excerpt from the currently latest 10.11 build (note: the logs will be pruned within some weeks):
10.11 c37b2a9f045f5170189e1ed18a7d177b61beab93
encryption.innodb_encryption-page-compression w8 [ fail ]
Test ended at 2024-06-17 17:07:08
CURRENT_TEST: encryption.innodb_encryption-page-compression
mysqltest: At line 99: query 'SET GLOBAL innodb_encryption_threads = 4' failed: ER_UNKNOWN_SYSTEM_VARIABLE (1193): Unknown system variable 'innodb_encryption_threads'
and some lines from the corresponding server error log (note: the logs will be pruned within some weeks):
10.11 c37b2a9f045f5170189e1ed18a7d177b61beab93
2024-06-17 17:07:06 0 [Warning] Could not increase number of max_open_files to more than 1024 (request: 32190)
2024-06-17 17:07:06 0 [Warning] Changed limits: max_open_files: 1024 max_connections: 151 (was 151) table_cache: 421 (was 2000)
2024-06-17 17:07:06 0 [Warning] Setting lower_case_table_names=2 because file system for /Users/ec2-user/buildbot/aarch64-macos/build/mysql-test/var/8/mysqld.1/data/ is case insensitive
2024-06-17 17:07:06 0 [Note] Starting MariaDB 10.11.9-MariaDB-log source revision c37b2a9f045f5170189e1ed18a7d177b61beab93 as process 62930
2024-06-17 17:07:06 0 [Warning] Plugin 'example_key_management' is of maturity level experimental while the server is stable
2024-06-17 17:07:06 0 [Note] Plugin 'partition' is disabled.
2024-06-17 17:07:06 0 [Note] Plugin 'SEQUENCE' is disabled.
2024-06-17 17:07:06 0 [Note] InnoDB: Compressed tables use zlib 1.2.12
2024-06-17 17:07:06 0 [Note] InnoDB: Number of transaction pools: 1
2024-06-17 17:07:06 0 [Note] InnoDB: Using generic crc32 instructions
2024-06-17 17:07:06 0 [Note] InnoDB: Initializing buffer pool, total size = 8.000MiB, chunk size = 1.000MiB
2024-06-17 17:07:06 0 [Note] InnoDB: Completed initialization of buffer pool
2024-06-17 17:07:06 0 [ERROR] InnoDB: Missing FILE_CHECKPOINT(2679852) at 2679852
2024-06-17 17:07:06 0 [ERROR] InnoDB: Log scan aborted at LSN 2679852
2024-06-17 17:07:06 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
The message Using generic crc32 instructions caught my eye in your log excerpt as well as above. We have specialized CRC-32 implementations for ARMv8 too, actually a couple of variants (see
MDEV-23495). On AMD64, the lowest grade specialization requires SSE 4.2, which was introduced in 2008. The generic code path should almost never be used.We would seem to have two problems on macOS:
MDEV-33817I recently learned that Apple has disabled compiler support for AVX512, in addition to not supporting it in their kernel)To diagnose the latter problem, I’d need a copy of the data directory that leads to a failed restart, generated with as little data as possible. Ideally this should be available from our CI system, but it looks like in https://ci.mariadb.org/47580/logs/aarch64-macos/ we only have the error logs available.