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

void sux_lock<ssux>::free() [with ssux = ssux_lock_impl<true>]: Assertion `r->empty()' failed

    XMLWordPrintable

Details

    • Can result in hang or crash

    Description

      Assertion found on 10.6 debug build
      Leads to

      origin/10.6 e80998281aa1551f12a6b86cb3765796130d822d

      # 2025-11-03T15:00:33 [3626269] | mariadbd: /data/Server/10.6C/storage/innobase/include/sux_lock.h:85: void sux_lock<ssux>::free() [with ssux = ssux_lock_impl<true>]: Assertion `r->empty()' failed.
      

      Stacktrace

      #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  __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
      #4  __GI_abort () at ./stdlib/abort.c:79
      #5  __assert_fail_base (fmt="%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry="r->empty()", file=file@entry="/data/Server/10.6C/storage/innobase/include/sux_lock.h", line=line@entry=85,
          function=function@entry="void sux_lock<ssux>::free() [with ssux = ssux_lock_impl<true>]") at ./assert/assert.c:94
      #6  __assert_fail (assertion="r->empty()", file="/data/Server/10.6C/storage/innobase/include/sux_lock.h", line=85, function="void sux_lock<ssux>::free() [with ssux = ssux_lock_impl<true>]")
          at ./assert/assert.c:103
      #7  sux_lock<ssux_lock_impl<true> >::free (this=this@entry=) at /data/Server/10.6C/storage/innobase/include/sux_lock.h:85
      #8  dict_index_remove_from_cache_low (table=table@entry=, index=, lru_evict=lru_evict@entry=0) at /data/Server/10.6C/storage/innobase/dict/dict0dict.cc:2198
      #9  dict_sys_t::remove (this=<dict_sys>, table=table@entry=, lru=lru@entry=false, keep=keep@entry=false) at /data/Server/10.6C/storage/innobase/dict/dict0dict.cc:1924
      #10 innobase_reload_table (thd=<optimized out>, table=, table_name=..., ctx=...) at /data/Server/10.6C/storage/innobase/handler/handler0alter.cc:10641
      #11 ha_innobase::commit_inplace_alter_table (this=<optimized out>, altered_table=, ha_alter_info=, commit=<optimized out>) at /data/Server/10.6C/storage/innobase/handler/handler0alter.cc:11784
      #12 handler::ha_commit_inplace_alter_table (this=, altered_table=altered_table@entry=, ha_alter_info=ha_alter_info@entry=, commit=commit@entry=true) at /data/Server/10.6C/sql/handler.cc:5439
      #13 mysql_inplace_alter_table (thd=thd@entry=, table_list=, table=table@entry=, altered_table=altered_table@entry=, ha_alter_info=ha_alter_info@entry=, target_mdl_request=target_mdl_request@entry=,
          ddl_log_state=, trigger_param=, alter_ctx=) at /data/Server/10.6C/sql/sql_table.cc:7794
      #14 mysql_alter_table (thd=thd@entry=, new_db=new_db@entry=, new_name=<optimized out>, create_info=create_info@entry=, table_list=<optimized out>, table_list@entry=, recreate_info=recreate_info@entry=,
          alter_info=<optimized out>, order_num=<optimized out>, order=<optimized out>, ignore=<optimized out>, if_exists=<optimized out>) at /data/Server/10.6C/sql/sql_table.cc:10851
      #15 Sql_cmd_alter_table::execute (this=<optimized out>, thd=) at /data/Server/10.6C/sql/sql_alter.cc:675
      #16 mysql_execute_command (thd=thd@entry=, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /data/Server/10.6C/sql/sql_parse.cc:6167
      #17 mysql_parse (thd=thd@entry=, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=) at /data/Server/10.6C/sql/sql_parse.cc:8200
      #18 dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=,
          packet=packet@entry=" ALTER IGNORE TABLE test.t9_p ADD FULLTEXT KEY IF NOT EXISTS `ftidx1` ( col_text ), LOCK = EXCLUSIVE  /* E_R Thread7 QNO 373 CON_ID 34 */ ", packet_length=packet_length@entry=138,
          blocking=blocking@entry=true) at /data/Server/10.6C/sql/sql_parse.cc:1908
      #19 do_command (thd=thd@entry=, blocking=blocking@entry=true) at /data/Server/10.6C/sql/sql_parse.cc:1421
      #20 do_handle_one_connection (connect=<optimized out>, connect@entry=, put_in_cache=put_in_cache@entry=true) at /data/Server/10.6C/sql/sql_connect.cc:1386
      #21 handle_one_connection (arg=) at /data/Server/10.6C/sql/sql_connect.cc:1298
      #22 start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
      #23 clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100
      

      RR trace is present on SDP:-
      /data/results/1762205108/TBR-1676

      Attachments

        Issue Links

          Activity

            People

              serg Sergei Golubchik
              saahil Saahil Alam
              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.