Details
-
Bug
-
Status: Needs Feedback (View Workflow)
-
Major
-
Resolution: Unresolved
-
11.8.6, 11.8.8
-
None
-
None
-
None
-
Fedora 44 (x86_64), Fedora 45 / rawhide (x86_64)
glibc 2.41, libaio 0.3.111, kernel 7.0.x / 7.1.x
Description
MariaDB crashes with SIGABRT when launched by KDE Akonadi as a per-user embedded instance. Two distinct crash paths observed, both in the tpool/libaio subsystem.
Crash 1 — AIO wait during operation (7+ reporters, rhbz#2461899):
#1 handle_fatal_signal signal_handler.cc:310
|
#3 __syscall_cancel_arch
|
#8 __pthread_cond_wait_common pthread_cond_wait.c:421
|
#9 ___pthread_cond_wait
|
#10 __gthread_cond_wait gthr-default.h:911
|
#11 std::__condvar::wait std_mutex.h:174
|
#12 std::condition_variable::wait condition_variable.cc:41
|
#13 tpool::cache<tpool::aiocb, true>::wait tpool/tpool_structs.h:188
|
#15 io_slots::wait storage/innobase/os/os0file.cc:111
|
#16 os_aio_wait_until_no_pending_writes_low os0file.cc:3187
|
Crash 2 — AIO teardown during shutdown (1 reporter, rhbz#2487558):
#1 handle_fatal_signal signal_handler.cc:310
|
#3 syscall syscall.S:38
|
#4 io_destroy io_destroy.c:23
|
#5 aio_libaio::~aio_libaio tpool/aio_libaio.cc:170
|
#7 std::default_delete<tpool::aio>::operator() unique_ptr.h:92
|
#10 tpool::thread_pool::disable_aio tpool/tpool.h:286
|
#11 os_aio_free storage/innobase/os/os0file.cc:3176
|
#12 innodb_shutdown storage/innobase/srv/srv0start.cc:2103
|
#13 innobase_end storage/innobase/handler/ha_innodb.cc:4327
|
#15 ha_finalize_handlerton sql/handler.cc:601
|
#16 plugin_deinitialize sql/sql_plugin.cc:1276
|
#17 reap_plugins sql/sql_plugin.cc:1347
|
#18 plugin_shutdown sql/sql_plugin.cc:2109
|
Environment
Akonadi launches mariadbd with:
mariadbd --defaults-file=~/.local/share/akonadi/mysql.conf \
|
--datadir=~/.local/share/akonadi/db_data/ \
|
--socket=~/.local/share/akonadi/mysql.socket
|
Configuration:
skip_grant_tables, skip_networking, default_storage_engine=innodb, innodb_buffer_pool_size=128M, innodb_file_per_table=1
|
No replication, single-user, local socket only. Runs as user UID 1000 under systemd user slice (akonadi_control.service).
Crash 1 is observed on both 11.8.6-2.fc44 and 11.8.8-3.fc44, so the 11.8.8 update did not fix it.
Open questions
- Whether the SIGABRT originates from within the libaio/tpool code (assertion, failed syscall) or from an external signal (Akonadi timeout, systemd watchdog). The "always on login" pattern from multiple reporters and the deterministic shutdown crash path (Crash 2) suggest it's internal.
- Whether innodb_use_native_aio=0 avoids the crash (asked reporters to test).
- Whether innodb_linux_aio=aio vs auto/io_uring makes a difference (11.8.3+ has this knob via
MDEV-36234).
Full backtraces (all threads) are attached to the Bugzilla tickets linked above.
Possibly related
MDEV-23943(InnoDB double free on shutdown after insufficient buffer pool allocation)MDEV-36234(innodb_linux_aio parameter, auto-selection of io_uring vs libaio)MDEV-27593(crashing on I/O error is unhelpful)