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

GTT: InnoDB: Failing assertion: table->get_ref_count() == 0 in dict_sys_t::remove from innodb_shutdown

    XMLWordPrintable

Details

    • Not for Release Notes

    Description

      I am regulary (25+ occurences) seeing the following bug during GTT testing:

      MDEV-35915 CS 12.2.0 b6b856c27fd4c7cc13191ba95848700c0e31e955 (Optimized, Clang 21.1.3-20250923) Build 05/03/2026

      InnoDB: Failing assertion: table->get_ref_count() == 0
      

      MDEV-35915 CS 12.2.0 b6b856c27fd4c7cc13191ba95848700c0e31e955 (Optimized, Clang 21.1.3-20250923) Build 05/03/2026

      Core was generated by `/test/MDEV-35915_v12_MD050326-mariadb-12.2.0-linux-x86_64-opt/bin/mariadbd --no'.
      Program terminated with signal SIGABRT, Aborted.
      #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:44
       
      [Current thread is 1 (LWP 670115)]
      (gdb) bt
      #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:44
      #1  __pthread_kill_internal (signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:78
      #2  __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6)at ./nptl/pthread_kill.c:89
      #3  0x000072bf1724526e in __GI_raise (sig=sig@entry=6)at ../sysdeps/posix/raise.c:26
      #4  0x000072bf172288ff in __GI_abort () at ./stdlib/abort.c:79
      #5  0x00005a476e642aff in ut_dbg_assertion_failed (expr=0x5a476d6e01da "table->get_ref_count() == 0", file=0x5a476d717643 "/test/bb-12.2-nikita-global-tmp_opt/storage/innobase/dict/dict0dict.cc", line=1678)at /test/bb-12.2-nikita-global-tmp_opt/storage/innobase/ut/ut0dbg.cc:60
      #6  0x00005a476e4a59fd in dict_sys_t::remove (this=this@entry=0x5a476ea99a80 <dict_sys>, table=0x72bdc807a4e8, lru=<optimized out>, keep=<optimized out>)at /test/bb-12.2-nikita-global-tmp_opt/storage/innobase/dict/dict0dict.cc:1757
      #7  0x00005a476e4ac2fc in dict_sys_t::close (this=0x5a476ea99a80 <dict_sys>)at /test/bb-12.2-nikita-global-tmp_opt/storage/innobase/dict/dict0dict.cc:4142
      #8  0x00005a476e6200bf in innodb_shutdown ()at /test/bb-12.2-nikita-global-tmp_opt/storage/innobase/srv/srv0start.cc:2128
      #9  0x00005a476e480b1b in innobase_end ()at /test/bb-12.2-nikita-global-tmp_opt/storage/innobase/handler/ha_innodb.cc:4315
      #10 0x00005a476ddf4861 in ha_finalize_handlerton (plugin_=0x5a4770d571e0)at /test/bb-12.2-nikita-global-tmp_opt/sql/handler.cc:601
      #11 0x00005a476e0df0a5 in plugin_deinitialize (plugin=0x5a4770d571e0, ref_check=true)at /test/bb-12.2-nikita-global-tmp_opt/sql/sql_plugin.cc:1274
      #12 0x00005a476e0dd23a in reap_plugins ()at /test/bb-12.2-nikita-global-tmp_opt/sql/sql_plugin.cc:1345
      #13 0x00005a476e0df460 in plugin_shutdown ()at /test/bb-12.2-nikita-global-tmp_opt/sql/sql_plugin.cc:2086
      #14 0x00005a476ddc4c56 in clean_up (print_message=true)at /test/bb-12.2-nikita-global-tmp_opt/sql/mysqld.cc:2012
      #15 0x00005a476ddc7110 in mysqld_main (argc=57, argv=0x5a4770ac4238)at /test/bb-12.2-nikita-global-tmp_opt/sql/mysqld.cc:6194
      #16 0x000072bf1722a1ca in __libc_start_call_main (main=main@entry=0x5a476ddc3df0 <main(int, char**)>, argc=argc@entry=56, argv=argv@entry=0x7ffda988d3e8)at ../sysdeps/nptl/libc_start_call_main.h:58
      #17 0x000072bf1722a28b in __libc_start_main_impl (main=0x5a476ddc3df0 <main(int, char**)>, argc=56, argv=0x7ffda988d3e8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffda988d3d8) at ../csu/libc-start.c:360
      #18 0x00005a476ddc3d25 in _start ()
      

      Always on optimized/release builds. This stack matches MDEV-29277, fixed in 2022. However, while seen regular in the GTT branch, this stack is not seen anywhere else since the fix. Note the testcase back then required a debug build. Running the same testcase on the GTT branch build as debug does not cause the same issue. It is clearly a new GTT-introduced bug. The issue is that so far it has not been possible to reproduce/reduce the issue manually, in spite of various attempts. Hopefully, given the analysis in (and title of) MDEV-29277 it will be possible to troubleshoot the issue in the code directly.

      Attachments

        Issue Links

          Activity

            People

              sanja Oleksandr Byelkin
              Roel Roel Van de Paar
              Votes:
              0 Vote for this issue
              Watchers:
              5 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.