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

void trx_assign_rseg_low(trx_t*): Assertion `!look_for_rollover || start_scan_slot != slot' failed

    XMLWordPrintable

Details

    • Can result in hang or crash

    Description

      Assertion found on debug build
      leads to :-

      origin/10.11 9aca89fa9f3b78074fd360cd229abb349fb6b572

      # 2025-09-17T12:35:10 [33294] | mariadbd: /data/Server/10.11D/storage/innobase/trx/trx0trx.cc:821: void trx_assign_rseg_low(trx_t*): Assertion `!look_for_rollover || start_scan_slot != slot' failed.
      

      Stacktrace

      #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=140604916323904) at ./nptl/pthread_kill.c:44
      #1  __pthread_kill_internal (signo=6, threadid=140604916323904) at ./nptl/pthread_kill.c:78
      #2  __GI___pthread_kill (threadid=140604916323904, 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="!look_for_rollover || start_scan_slot != slot", file="/data/Server/10.11D/storage/innobase/trx/trx0trx.cc", line=821, function=<optimized out>)
          at ./assert/assert.c:92
      #6  __GI___assert_fail (assertion="!look_for_rollover || start_scan_slot != slot", file="/data/Server/10.11D/storage/innobase/trx/trx0trx.cc", line=821, function="void trx_assign_rseg_low(trx_t*)") at ./assert/assert.c:101
      #7  trx_assign_rseg_low (trx=trx@entry=) at /data/Server/10.11D/storage/innobase/trx/trx0trx.cc:821
      #8  trx_set_rw_mode (trx=trx@entry=) at /data/Server/10.11D/storage/innobase/trx/trx0trx.cc:2258
      #9  lock_table (table=, fktable=fktable@entry=, mode=LOCK_IX, thr=thr@entry=) at /data/Server/10.11D/storage/innobase/lock/lock0lock.cc:3934
      #10 row_search_mvcc (buf=buf@entry="\377", ' ' <repeats 60 times>, mode=PAGE_CUR_GE, prebuilt=<optimized out>, match_mode=<optimized out>, direction=direction@entry=0) at /data/Server/10.11D/storage/innobase/row/row0sel.cc:4718
      #11 ha_innobase::index_read (this=, buf="\377", ' ' <repeats 60 times>, key_ptr="\252\263", key_len=4, find_flag=HA_READ_KEY_EXACT) at /data/Server/10.11D/storage/innobase/handler/ha_innodb.cc:9031
      #12 handler::index_read_map (this=, buf="\377", ' ' <repeats 60 times>, key="\252\263", keypart_map=<optimized out>, find_flag=HA_READ_KEY_EXACT) at /data/Server/10.11D/sql/handler.h:3873
      #13 handler::ha_index_read_map (this=this@entry=, buf="\377", ' ' <repeats 60 times>, key="\252\263", keypart_map=1, find_flag=HA_READ_KEY_EXACT) at /data/Server/10.11D/sql/handler.cc:3637
      #14 handler::read_range_first (this=, start_key=, end_key=<optimized out>, eq_range_arg=<optimized out>, sorted=<optimized out>) at /data/Server/10.11D/sql/handler.cc:6799
      #15 handler::multi_range_read_next (this=, range_info=range_info@entry=) at /data/Server/10.11D/sql/multi_range_read.cc:518
      #16 Mrr_simple_index_reader::get_next (this=, range_info=) at /data/Server/10.11D/sql/multi_range_read.cc:555
      #17 DsMrr_impl::dsmrr_next (this=, range_info=) at /data/Server/10.11D/sql/multi_range_read.cc:1659
      #18 ha_innobase::multi_range_read_next (this=<optimized out>, range_info=<optimized out>) at /data/Server/10.11D/storage/innobase/handler/ha_innodb.cc:20214
      #19 QUICK_RANGE_SELECT::get_next (this=) at /data/Server/10.11D/sql/opt_range.cc:12980
      #20 rr_quick (info=) at /data/Server/10.11D/sql/records.cc:403
      #21 READ_RECORD::read_record (this=) at /data/Server/10.11D/sql/records.h:81
      #22 mysql_delete (thd=thd@entry=, table_list=, conds=<optimized out>, order_list=order_list@entry=, limit=18446744073709551615, options=<optimized out>, result=<optimized out>) at /data/Server/10.11D/sql/sql_delete.cc:900
      #23 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:4920
      #24 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
      #25 dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=, packet=packet@entry="DELETE FROM `oltp3` WHERE `id` = 45994 /* E_R Thread8 QNO 67 CON_ID 25 */ ", packet_length=packet_length@entry=74, 
          blocking=blocking@entry=true) at /data/Server/10.11D/sql/sql_parse.cc:1906
      #26 do_command (thd=thd@entry=, blocking=blocking@entry=true) at /data/Server/10.11D/sql/sql_parse.cc:1419
      #27 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
      #28 handle_one_connection (arg=) at /data/Server/10.11D/sql/sql_connect.cc:1387
      #29 start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
      #30 clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100
      

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

      Attachments

        Activity

          People

            marko Marko Mäkelä
            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.