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

Assertion `error == DB_IO_ERROR || error == DB_LOCK_TABLE_FULL || error == DB_DECRYPTION_FAILED || error == DB_PAGE_CORRUPTED || error == DB_CORRUPTION' failed

    XMLWordPrintable

Details

    • Can result in hang or crash

    Description

      Assertion found on debug build
      Leads to :-

      GIT_SHOW: HEAD -> 11.8, origin/11.8 9a4a30aec003a8efdf9d35d3ac669385286ba4b4 2025-07-07T08:06:33+03:00

      # 2025-07-08T20:46:12 [815507] | mariadbd: /data/Server/11.8/storage/innobase/handler/handler0alter.cc:10883: bool commit_try_norebuild(Alter_inplace_info*, ha_innobase_inplace_ctx*, TABLE*, const TABLE*, bool, trx_t*, const char*): Assertion `error == DB_IO_ERROR || error == DB_LOCK_TABLE_FULL || error == DB_DECRYPTION_FAILED || error == DB_PAGE_CORRUPTED || error == DB_CORRUPTION' failed.
      

      Stacktrace

      #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=136869065803328) at ./nptl/pthread_kill.c:44
      #1  __pthread_kill_internal (signo=6, threadid=136869065803328) at ./nptl/pthread_kill.c:78
      #2  __GI___pthread_kill (threadid=136869065803328, 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="error == DB_IO_ERROR || error == DB_LOCK_TABLE_FULL || error == DB_DECRYPTION_FAILED || error == DB_PAGE_CORRUPTED || error == DB_CORRUPTION", 
          file="/data/Server/11.8/storage/innobase/handler/handler0alter.cc", line=10883, function=<optimized out>) at ./assert/assert.c:92
      #6  __GI___assert_fail (assertion="error == DB_IO_ERROR || error == DB_LOCK_TABLE_FULL || error == DB_DECRYPTION_FAILED || error == DB_PAGE_CORRUPTED || error == DB_CORRUPTION", 
          file="/data/Server/11.8/storage/innobase/handler/handler0alter.cc", line=10883, function="bool commit_try_norebuild(Alter_inplace_info*, ha_innobase_inplace_ctx*, TABLE*, const TABLE*, bool, trx_t*, const char*)")
          at ./assert/assert.c:101
      #7  commit_try_norebuild (ha_alter_info=ha_alter_info@entry=, ctx=ctx@entry=, altered_table=altered_table@entry=, old_table=, statistics_exist=<optimized out>, trx=trx@entry=, table_name="t7")
          at /data/Server/11.8/storage/innobase/handler/handler0alter.cc:10883
      #8  ha_innobase::commit_inplace_alter_table (this=<optimized out>, altered_table=, ha_alter_info=, commit=true) at /data/Server/11.8/storage/innobase/handler/handler0alter.cc:11677
      #9  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/11.8/sql/handler.cc:5761
      #10 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/11.8/sql/sql_table.cc:8273
      #11 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/11.8/sql/sql_table.cc:11664
      #12 Sql_cmd_alter_table::execute (this=<optimized out>, thd=) at /data/Server/11.8/sql/sql_alter.cc:701
      #13 mysql_execute_command (thd=thd@entry=, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /data/Server/11.8/sql/sql_parse.cc:5886
      #14 mysql_parse (thd=thd@entry=, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=) at /data/Server/11.8/sql/sql_parse.cc:7906
      #15 dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=, packet=packet@entry=" ALTER IGNORE TABLE t7 DROP KEY `Marvão_uidx2`, ALGORITHM = NOCOPY, LOCK = DEFAULT  /* E_R Thread1 QNO 13380 CON_ID 291 */ ", 
          packet_length=packet_length@entry=124, blocking=blocking@entry=true) at /data/Server/11.8/sql/sql_parse.cc:1902
      #16 do_command (thd=thd@entry=, blocking=blocking@entry=true) at /data/Server/11.8/sql/sql_parse.cc:1415
      #17 do_handle_one_connection (connect=<optimized out>, connect@entry=, put_in_cache=put_in_cache@entry=true) at /data/Server/11.8/sql/sql_connect.cc:1415
      #18 handle_one_connection (arg=) at /data/Server/11.8/sql/sql_connect.cc:1327
      #19 start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
      #20 clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100
      

      RR trace is present on pluto:-

      /data/results/1752001242/TBR-2296

      Attachments

        Activity

          People

            marko Marko Mäkelä
            saahil Saahil Alam
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: