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

Assertion `low_match < dtuple_get_n_fields_cmp(tuple)' failed

    XMLWordPrintable

Details

    • Can result in hang or crash

    Description

      # mysqld options required for replay:  --innodb-buffer-pool-size=6M
      CREATE TABLE t (pk INT PRIMARY KEY, filler CHAR(255) NOT NULL DEFAULT '', g GEOMETRY NOT NULL, SPATIAL KEY spt(g)) ENGINE=InnoDB;
        INSERT INTO t (pk,g) SELECT seq, POINT(seq,seq) FROM seq_1_to_20000;
        SET GLOBAL innodb_lru_scan_depth=1024;
        DELIMITER $$
        CREATE PROCEDURE p(n INT)
        BEGIN
          WHILE n > 0 DO
            ALTER TABLE t FORCE;
            SELECT COUNT(*) FROM t FORCE INDEX(spt) WHERE MBRWithin(g, ST_GeomFromText('POLYGON((-1 -1,-1 99999,99999 99999,99999 -1,-1 -1))'));
            SET n = n - 1;
          END WHILE;
        END$$
        DELIMITER ;
        SET debug_dbug='+d,row_merge_instrument_log_check_flush';
        CALL p(10);
        SET debug_dbug='';
        CHECK TABLE t EXTENDED;
      

      Leads to:

      CS 10.11.19 1bc9eca856a32065fddce1db68edcfa6f4342578 (Debug, Clang 22.1.8-20260621) Build 03/09/2026

      mariadbd: /test/10.11_dbg/storage/innobase/row/row0sel.cc:3474: dberr_t Row_sel_get_clust_rec_for_mysql::operator()(row_prebuilt_t *, dict_index_t *, const rec_t *, que_thr_t *, const rec_t **, rec_offs **, mem_heap_t **, dtuple_t **, mtr_t *): Assertion `low_match < dtuple_get_n_fields_cmp(tuple)' failed.
      

      CS 10.11.19 1bc9eca856a32065fddce1db68edcfa6f4342578 (Debug, Clang 22.1.8-20260621) Build 03/09/2026

      Core was generated by `/test/MD030926-mariadb-10.11.19-linux-x86_64-dbg/bin/mariadbd --no-defaults --l'.
      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 1897224)]
      (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  0x00007bfb12e4527e in __GI_raise (sig=sig@entry=6)at ../sysdeps/posix/raise.c:26
      #4  0x00007bfb12e288ff in __GI_abort () at ./stdlib/abort.c:79
      #5  0x00007bfb12e2881b in __assert_fail_base (fmt=0x7bfb12fd01e8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x6386e27c160c "low_match < dtuple_get_n_fields_cmp(tuple)", file=file@entry=0x6386e27c0f4c "/test/10.11_dbg/storage/innobase/row/row0sel.cc", line=line@entry=3474, function=function@entry=0x6386e27c14fa "dberr_t Row_sel_get_clust_rec_for_mysql::operator()(row_prebuilt_t *, dict_index_t *, const rec_t *, que_thr_t *, const rec_t **, rec_offs **, mem_heap_t **, dtuple_t **, mtr_t *)")at ./assert/assert.c:96
      #6  0x00007bfb12e3b517 in __assert_fail (assertion=0x6386e27c160c "low_match < dtuple_get_n_fields_cmp(tuple)", file=0x6386e27c0f4c "/test/10.11_dbg/storage/innobase/row/row0sel.cc", line=3474, function=0x6386e27c14fa "dberr_t Row_sel_get_clust_rec_for_mysql::operator()(row_prebuilt_t *, dict_index_t *, const rec_t *, que_thr_t *, const rec_t **, rec_offs **, mem_heap_t **, dtuple_t **, mtr_t *)") at ./assert/assert.c:105
      #7  0x00006386e2157d46 in Row_sel_get_clust_rec_for_mysql::operator() (this=0x7bfb1020a960, prebuilt=0x73f9f407eb70, sec_index=0x73f9f4025630, rec=0x73fae836456a "", thr=0x73f9f407f218, out_rec=0x7bfb1020a980, offsets=0x7bfb1020a698, offset_heap=0x7bfb1020a8f8, vrow=0x0, mtr=0x7bfb1020afe8) at /test/10.11_dbg/storage/innobase/row/row0sel.cc:3474
      #8  0x00006386e215d7bf in row_search_mvcc (buf=0x73f9f40212b8 "", mode=PAGE_CUR_CONTAIN, prebuilt=0x73f9f407eb70, match_mode=0, direction=1)at /test/10.11_dbg/storage/innobase/row/row0sel.cc:5551
      #9  0x00006386e1f3f8bd in ha_innobase::general_fetch (this=0x73f9f4020ab8, buf=0x73f9f40212b8 "", direction=1, match_mode=0)at /test/10.11_dbg/storage/innobase/handler/ha_innodb.cc:9264
      #10 0x00006386e1f3faef in ha_innobase::index_next_same (this=0x73f9f4020ab8, buf=0x73f9f40212b8 "")at /test/10.11_dbg/storage/innobase/handler/ha_innodb.cc:9332
      #11 0x00006386e1bb85e5 in handler::ha_index_next_same (this=0x73f9f4020ab8, buf=0x73f9f40212b8 "", key=0x73f9f4671820 "", keylen=34)at /test/10.11_dbg/sql/handler.cc:3852
      #12 0x00006386e16c8dd8 in QUICK_RANGE_SELECT_GEOM::get_next (this=0x73f9f40c32c0) at /test/10.11_dbg/sql/opt_range.cc:13105
      #13 0x00006386e16ee60d in rr_quick (info=0x73f9f466ea18)at /test/10.11_dbg/sql/records.cc:403
      #14 0x00006386e16d92f6 in READ_RECORD::read_record (this=0x73f9f466ea18)at /test/10.11_dbg/sql/records.h:81
      #15 0x00006386e1878c98 in sub_select (join=0x73f9f402b280, join_tab=0x73f9f466e940, end_of_records=false)at /test/10.11_dbg/sql/sql_select.cc:23334
      #16 0x00006386e189b678 in do_select (join=0x73f9f402b280, procedure=0x0)at /test/10.11_dbg/sql/sql_select.cc:22838
      #17 0x00006386e189ab14 in JOIN::exec_inner (this=0x73f9f402b280)at /test/10.11_dbg/sql/sql_select.cc:5023
      #18 0x00006386e1899ed3 in JOIN::exec (this=0x73f9f402b280)at /test/10.11_dbg/sql/sql_select.cc:4807
      #19 0x00006386e187942d in mysql_select (thd=0x73f9f4000d58, tables=0x73f9f408abf8, fields=@0x73f9f408a9f8: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x73f9f4085d98, last = 0x73f9f4085d98, elements = 1}, <No data fields>}, conds=0x73f9f408b318, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2164526848, result=0x73f9f402b258, unit=0x73f9f408e0f8, select_lex=0x73f9f408a740)at /test/10.11_dbg/sql/sql_select.cc:5285
      #20 0x00006386e1878f2d in handle_select (thd=0x73f9f4000d58, lex=0x73f9f408e020, result=0x73f9f402b258, setup_tables_done_option=0)at /test/10.11_dbg/sql/sql_select.cc:601
      #21 0x00006386e1827365 in execute_sqlcom_select (thd=0x73f9f4000d58, all_tables=0x73f9f408abf8) at /test/10.11_dbg/sql/sql_parse.cc:6452
      #22 0x00006386e181c846 in mysql_execute_command (thd=0x73f9f4000d58, is_called_from_prepared_stmt=false)at /test/10.11_dbg/sql/sql_parse.cc:4032
      #23 0x00006386e1726877 in sp_instr_stmt::exec_core (this=0x73f9f4089f78, thd=0x73f9f4000d58, nextp=0x7bfb1020da08)at /test/10.11_dbg/sql/sp_head.cc:3948
      #24 0x00006386e17253dd in sp_lex_keeper::reset_lex_and_exec_core (this=0x73f9f4089fc0, thd=0x73f9f4000d58, nextp=0x7bfb1020da08, open_tables=false, instr=0x73f9f4089f78)at /test/10.11_dbg/sql/sp_head.cc:3659
      #25 0x00006386e1725c30 in sp_instr_stmt::execute (this=0x73f9f4089f78, thd=0x73f9f4000d58, nextp=0x7bfb1020da08)at /test/10.11_dbg/sql/sp_head.cc:3851
      #26 0x00006386e171e111 in sp_head::execute (this=0x73f9f4083f80, thd=0x73f9f4000d58, merge_da_on_success=true)at /test/10.11_dbg/sql/sp_head.cc:1464
      #27 0x00006386e1720625 in sp_head::execute_procedure (this=0x73f9f4083f80, thd=0x73f9f4000d58, args=0x73f9f4005f88)at /test/10.11_dbg/sql/sp_head.cc:2483
      #28 0x00006386e1819eca in do_execute_sp (thd=0x73f9f4000d58, sp=0x73f9f4083f80)at /test/10.11_dbg/sql/sql_parse.cc:3093
      #29 0x00006386e1819a65 in Sql_cmd_call::execute (this=0x73f9f4013570, thd=0x73f9f4000d58) at /test/10.11_dbg/sql/sql_parse.cc:3356
      #30 0x00006386e182567b in mysql_execute_command (thd=0x73f9f4000d58, is_called_from_prepared_stmt=false)at /test/10.11_dbg/sql/sql_parse.cc:6190
      #31 0x00006386e1815658 in mysql_parse (thd=0x73f9f4000d58, rawbuf=0x73f9f40134c0 "CALL p(10)", length=10, parser_state=0x7bfb1020fa20)at /test/10.11_dbg/sql/sql_parse.cc:8210
      #32 0x00006386e1812f3a in dispatch_command (command=COM_QUERY, thd=0x73f9f4000d58, packet=0x73f9f400af49 "", packet_length=10, blocking=true) at /test/10.11_dbg/sql/sql_parse.cc:1924
      #33 0x00006386e18160da in do_command (thd=0x73f9f4000d58, blocking=true)at /test/10.11_dbg/sql/sql_parse.cc:1434
      #34 0x00006386e19ccc4e in do_handle_one_connection (connect=0x638700597318, put_in_cache=true) at /test/10.11_dbg/sql/sql_connect.cc:1486
      #35 0x00006386e19cca35 in handle_one_connection (arg=0x638700693b98)at /test/10.11_dbg/sql/sql_connect.cc:1398
      #36 0x00007bfb12e9cb84 in start_thread (arg=<optimized out>)at ./nptl/pthread_create.c:447
      #37 0x00007bfb12f29d6c in clone3 ()at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
      

      Bug Detection Matrix

          Rel    o/d  Build   Commit                                    UniqueID observed             
      CS  10.11  dbg  030926  1bc9eca856a32065fddce1db68edcfa6f4342578  low_match < dtuple_get_n_fields_cmp(tuple)|SIGABRT|Row_sel_get_clust_rec_for_mysql::operatorrow0sel.cc|row_search_mvcc|ha_innobase::general_fetch|ha_innobase::index_next_same
      CS  10.11  opt  030926  1bc9eca856a32065fddce1db68edcfa6f4342578  No bug found                  
      CS  11.4   dbg  030926  79f96bf15d2538cb78201cc85681571f56548957  low_match < dtuple_get_n_fields_cmp(tuple)|SIGABRT|Row_sel_get_clust_rec_for_mysql::operatorrow0sel.cc|row_search_mvcc|ha_innobase::general_fetch|ha_innobase::index_next_same
      CS  11.4   opt  030926  79f96bf15d2538cb78201cc85681571f56548957  No bug found                  
      CS  11.8   dbg  030926  e2e060ce3d8c3ce11b6c7ba28ced0f1a30c50a54  low_match < dtuple_get_n_fields_cmp(tuple)|SIGABRT|Row_sel_get_clust_rec_for_mysql::operatorrow0sel.cc|row_search_mvcc|ha_innobase::general_fetch|ha_innobase::index_next_same
      CS  11.8   opt  030926  e2e060ce3d8c3ce11b6c7ba28ced0f1a30c50a54  No bug found                  
      CS  12.3   dbg  030926  ab9657491197ac6a32f4f325388badda974f2fe2  low_match < dtuple_get_n_fields_cmp(tuple)|SIGABRT|Row_sel_get_clust_rec_for_mysql::operatorrow0sel.cc|row_search_mvcc|ha_innobase::general_fetch|ha_innobase::index_next_same
      CS  12.3   opt  030926  ab9657491197ac6a32f4f325388badda974f2fe2  No bug found                  
      CS  13.0   dbg  030926  b2c4e675049e23ce8c7346985f40840fcd4e583f  low_match < dtuple_get_n_fields_cmp(tuple)|SIGABRT|Row_sel_get_clust_rec_for_mysql::operatorrow0sel.cc|row_search_mvcc|ha_innobase::general_fetch|ha_innobase::index_next_same
      CS  13.0   opt  030926  b2c4e675049e23ce8c7346985f40840fcd4e583f  No bug found                  
      CS  13.1   dbg  030926  b2a8c2234dbc276fe3947633c9ffea454badf48f  low_match < dtuple_get_n_fields_cmp(tuple)|SIGABRT|Row_sel_get_clust_rec_for_mysql::operatorrow0sel.cc|row_search_mvcc<InnoDBPolicy<true, true> >|ha_innobase::general_fetch|ha_innobase::index_next_same
      CS  13.1   opt  030926  b2a8c2234dbc276fe3947633c9ffea454badf48f  No bug found                  
      ES  10.6   dbg  030926  47e099839c30841f59054ff738662d3fd5f58a08  low_match < dtuple_get_n_fields_cmp(tuple)|SIGABRT|Row_sel_get_clust_rec_for_mysql::operatorrow0sel.cc|row_search_mvcc|ha_innobase::general_fetch|ha_innobase::index_next_same
      ES  10.6   opt  030926  47e099839c30841f59054ff738662d3fd5f58a08  No bug found                  
      ES  11.4   dbg  030926  e953e9092e7e78da74eec4a80ead7b67d55f3772  low_match < dtuple_get_n_fields_cmp(tuple)|SIGABRT|Row_sel_get_clust_rec_for_mysql::operatorrow0sel.cc|row_search_mvcc|ha_innobase::general_fetch|ha_innobase::index_next_same
      ES  11.4   opt  030926  e953e9092e7e78da74eec4a80ead7b67d55f3772  No bug found                  
      ES  11.8   dbg  030926  72bfb892c8537baa3e0e5ea16e24e79171a9be22  low_match < dtuple_get_n_fields_cmp(tuple)|SIGABRT|Row_sel_get_clust_rec_for_mysql::operatorrow0sel.cc|row_search_mvcc|ha_innobase::general_fetch|ha_innobase::index_next_same
      ES  11.8   opt  030926  72bfb892c8537baa3e0e5ea16e24e79171a9be22  No bug found                  
      ES  12.3   dbg  030926  31a1c7393d7f943ff9e335c84923988876681b44  low_match < dtuple_get_n_fields_cmp(tuple)|SIGABRT|Row_sel_get_clust_rec_for_mysql::operatorrow0sel.cc|row_search_mvcc|ha_innobase::general_fetch|ha_innobase::index_next_same
      ES  12.3   opt  030926  31a1c7393d7f943ff9e335c84923988876681b44  No bug found                  
      

      Attachments

        Activity

          People

            thiru Thirunarayanan Balathandayuthapani
            saahil Saahil Alam
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0d
                0d
                Logged:
                Time Spent - 1.45h
                1.45h

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.