Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-40293

SIGABRT in tpool/libaio code when mariadbd runs as Akonadi per-user instance

    XMLWordPrintable

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)

      Attachments

        Activity

          People

            danblack Daniel Black
            mschorm Michal Schorm
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.