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

dberr_t BtrBulk::finish(dberr_t): Assertion `err != DB_SUCCESS || btr_validate_index(m_index, __null) == DB_SUCCESS' failed

    XMLWordPrintable

Details

    • Can result in hang or crash

    Description

      Assertion found on debug build :-
      Leads to :-

      origin/10.11 9aca89fa9f3b78074fd360cd229abb349fb6b572

      # 2025-09-17T13:24:09 [1335711] | mariadbd: /data/Server/10.11D/storage/innobase/btr/btr0bulk.cc:1220: dberr_t BtrBulk::finish(dberr_t): Assertion `err != DB_SUCCESS || btr_validate_index(m_index, __null) == DB_SUCCESS' failed.
      

      Stacktrace

      #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=140394052912704) at ./nptl/pthread_kill.c:44
      #1  __pthread_kill_internal (signo=6, threadid=140394052912704) at ./nptl/pthread_kill.c:78
      #2  __GI___pthread_kill (threadid=140394052912704, 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="err != DB_SUCCESS || btr_validate_index(m_index, __null) == DB_SUCCESS", file="/data/Server/10.11D/storage/innobase/btr/btr0bulk.cc", line=1220, 
          function=<optimized out>) at ./assert/assert.c:92
      #6  __GI___assert_fail (assertion="err != DB_SUCCESS || btr_validate_index(m_index, __null) == DB_SUCCESS", file="/data/Server/10.11D/storage/innobase/btr/btr0bulk.cc", line=1220, function="dberr_t BtrBulk::finish(dberr_t)")
          at ./assert/assert.c:101
      #7  BtrBulk::finish (this=this@entry=, err=DB_SUCCESS) at /data/Server/10.11D/storage/innobase/btr/btr0bulk.cc:1220
      #8  row_merge_read_clustered_index (trx=trx@entry=, table=table@entry=, old_table=old_table@entry=, new_table=<optimized out>, new_table@entry=, online=online@entry=true, index=index@entry=, fts_sort_idx=<optimized out>, 
          psort_info=<optimized out>, files=<optimized out>, key_numbers=<optimized out>, n_index=<optimized out>, defaults=<optimized out>, add_v=<optimized out>, col_map=<optimized out>, add_autoinc=<optimized out>, sequence=..., 
          block=<optimized out>, skip_pk_sort=<optimized out>, tmpfd=<optimized out>, stage=<optimized out>, pct_cost=pct_cost@entry=33.333333333333336, crypt_block=<optimized out>, eval_table=<optimized out>, 
          allow_not_null=<optimized out>, col_collate=<optimized out>) at /data/Server/10.11D/storage/innobase/row/row0merge.cc:2825
      #9  row_merge_build_indexes (trx=, old_table=, new_table=new_table@entry=, online=true, indexes=, key_numbers=, n_indexes=2, table=, defaults=, col_map=, add_autoinc=18446744073709551615, sequence=..., skip_pk_sort=true, stage=, 
          add_v=, eval_table=, allow_not_null=false, col_collate=) at /data/Server/10.11D/storage/innobase/row/row0merge.cc:4764
      #10 ha_innobase::inplace_alter_table (this=, altered_table=, ha_alter_info=) at /data/Server/10.11D/storage/innobase/handler/handler0alter.cc:8972
      #11 handler::ha_inplace_alter_table (ha_alter_info=, altered_table=, this=<optimized out>) at /data/Server/10.11D/sql/handler.h:4620
      #12 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=, partial_alter=false, start_alter_id=0, if_exists=false) at /data/Server/10.11D/sql/sql_table.cc:8128
      #13 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.11D/sql/sql_table.cc:11404
      #14 Sql_cmd_alter_table::execute (this=<optimized out>, thd=) at /data/Server/10.11D/sql/sql_alter.cc:688
      #15 mysql_execute_command (thd=thd@entry=, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /data/Server/10.11D/sql/sql_parse.cc:6165
      #16 mysql_parse (thd=thd@entry=, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=) at /data/Server/10.11D/sql/sql_parse.cc:8180
      #17 dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=, packet=packet@entry="ALTER TABLE `t2` ENCRYPTION_KEY_ID=6 /* E_R Thread5 QNO 11 CON_ID 22 */ ", packet_length=packet_length@entry=72, 
          blocking=blocking@entry=true) at /data/Server/10.11D/sql/sql_parse.cc:1906
      #18 do_command (thd=thd@entry=, blocking=blocking@entry=true) at /data/Server/10.11D/sql/sql_parse.cc:1419
      #19 do_handle_one_connection (connect=<optimized out>, connect@entry=, put_in_cache=put_in_cache@entry=true) at /data/Server/10.11D/sql/sql_connect.cc:1475
      #20 handle_one_connection (arg=) at /data/Server/10.11D/sql/sql_connect.cc:1387
      #21 start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
      #22 clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100
      

      RR trace is present on pluto :-
      /data/results/1758109426/TBR-2242

      Attachments

        Activity

          People

            thiru Thirunarayanan Balathandayuthapani
            saahil Saahil Alam
            Votes:
            0 Vote for this issue
            Watchers:
            1 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.