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

Assertion `!sea_cur' failed

    XMLWordPrintable

Details

    • Can result in hang or crash

    Description

      CREATE TABLE t (c POINT NOT NULL,SPATIAL (c));
      INSERT INTO t VALUES (ST_GEOMFROMTEXT ('POINT(1 1)'));
      SET GLOBAL innodb_limit_optimistic_insert_debug=3;
      INSERT INTO t VALUES (ST_GEOMFROMTEXT ('POINT(1 1)'));
      INSERT INTO t VALUES (POINT(1e-1,3e+1));
      INSERT INTO t VALUES (ST_GEOMFROMTEXT ('POINT(1 1)'));
      INSERT INTO t VALUES (POINT(1e+1,1e-1));
      SET GLOBAL innodb_limit_optimistic_insert_debug=2;
      INSERT INTO t VALUES (GEOMFROMTEXT ('POINT(1 1)'));
      

      Leads to:

      CS 10.11.14 11d1ac7285221ab4df7d9ef7cc8ee949b01c9b32 (Debug, Clang) Build 09/06/2025

      mariadbd: /test/10.11_dbg/storage/innobase/gis/gis0sea.cc:1179: const rec_t *rtr_get_father_node(ulint, const dtuple_t *, btr_cur_t *, btr_cur_t *, ulint, mtr_t *): Assertion `!sea_cur' failed.
      

      CS 10.11.14 11d1ac7285221ab4df7d9ef7cc8ee949b01c9b32 (Debug, Clang) Build 09/06/2025

      Core was generated by `/test/MD090625-mariadb-10.11.14-linux-x86_64-dbg/bin/mariadbd --no-defaults --m'.
      Program terminated with signal SIGABRT, Aborted.
      Download failed: Invalid argument.  Continuing without source file ./nptl/./nptl/pthread_kill.c.
      #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:44
       
      [Current thread is 1 (LWP 3261353)]
      (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  0x00007d02acc4527e in __GI_raise (sig=sig@entry=6)at ../sysdeps/posix/raise.c:26
      #4  0x00007d02acc288ff in __GI_abort () at ./stdlib/abort.c:79
      #5  0x00007d02acc2881b in __assert_fail_base (fmt=0x7d02acdd01e8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x5813f69d2d16 "!sea_cur", file=file@entry=0x5813f69d203f "/test/10.11_dbg/storage/innobase/gis/gis0sea.cc", line=line@entry=1179, function=function@entry=0x5813f69d2c91 "const rec_t *rtr_get_father_node(ulint, const dtuple_t *, btr_cur_t *, btr_cur_t *, ulint, mtr_t *)")at ./assert/assert.c:96
      #6  0x00007d02acc3b517 in __assert_fail (assertion=0x5813f69d2d16 "!sea_cur", file=0x5813f69d203f "/test/10.11_dbg/storage/innobase/gis/gis0sea.cc", line=1179, function=0x5813f69d2c91 "const rec_t *rtr_get_father_node(ulint, const dtuple_t *, btr_cur_t *, btr_cur_t *, ulint, mtr_t *)") at ./assert/assert.c:105
      #7  0x00005813f64f53df in rtr_get_father_node (level=3, tuple=0x7d01a007a160, sea_cur=0x7d0285018b68, btr_cur=0x7d02850181e8, page_no=15, mtr=0x7d028501a038) at /test/10.11_dbg/storage/innobase/gis/gis0sea.cc:1179
      #8  0x00005813f64f2129 in rtr_page_get_father_node_ptr (offsets=0x7d01a007a140, heap=0x7d01a007a0c0, sea_cur=0x7d0285018b68, cursor=0x7d02850181e8, mtr=0x7d028501a038)at /test/10.11_dbg/storage/innobase/gis/gis0sea.cc:1253
      #9  0x00005813f64f1e52 in rtr_page_get_father_block (offsets=0x0, heap=0x7d01a007a0c0, mtr=0x7d028501a038, sea_cur=0x7d0285018b68, cursor=0x7d02850181e8)at /test/10.11_dbg/storage/innobase/gis/gis0sea.cc:1294
      #10 0x00005813f64e618a in rtr_adjust_upper_level (sea_cur=0x7d0285018b68, flags=7, block=0x7d0278010400, new_block=0x7d02780104d0, mbr=0x7d0285018450, new_mbr=0x7d0285018430, mtr=0x7d028501a038)at /test/10.11_dbg/storage/innobase/gis/gis0rtree.cc:587
      #11 0x00005813f64e3f4b in rtr_page_split_and_insert (flags=7, cursor=0x7d0285018b68, offsets=0x7d0285018b60, heap=0x7d0285018ae0, tuple=0x7d01a0079310, n_ext=0, mtr=0x7d028501a038, err=0x7d02850189fc)at /test/10.11_dbg/storage/innobase/gis/gis0rtree.cc:1161
      #12 0x00005813f6378f0d in btr_page_split_and_insert (flags=7, cursor=0x7d0285018b68, offsets=0x7d0285018b60, heap=0x7d0285018ae0, tuple=0x7d01a0079310, n_ext=0, mtr=0x7d028501a038, err=0x7d02850189fc)at /test/10.11_dbg/storage/innobase/btr/btr0btr.cc:3056
      #13 0x00005813f6378506 in btr_root_raise_and_insert (flags=7, cursor=0x7d0285018b68, offsets=0x7d0285018b60, heap=0x7d0285018ae0, tuple=0x7d01a0079310, n_ext=0, mtr=0x7d028501a038, err=0x7d02850189fc)at /test/10.11_dbg/storage/innobase/btr/btr0btr.cc:2164
      #14 0x00005813f63a8ee5 in btr_cur_pessimistic_insert (flags=7, cursor=0x7d0285018b68, offsets=0x7d0285018b60, heap=0x7d0285018ae0, entry=0x7d01a0079310, rec=0x7d0285018b10, big_rec=0x7d0285018b18, n_ext=0, thr=0x0, mtr=0x7d028501a038)at /test/10.11_dbg/storage/innobase/btr/btr0cur.cc:2806
      #15 0x00005813f64e641c in rtr_adjust_upper_level (sea_cur=0x7d0285019368, flags=7, block=0x7d0278010260, new_block=0x7d0278010330, mbr=0x7d0285018dd0, new_mbr=0x7d0285018db0, mtr=0x7d028501a038)at /test/10.11_dbg/storage/innobase/gis/gis0rtree.cc:638
      #16 0x00005813f64e3f4b in rtr_page_split_and_insert (flags=7, cursor=0x7d0285019368, offsets=0x7d0285019360, heap=0x7d02850192e0, tuple=0x7d01a0078040, n_ext=0, mtr=0x7d028501a038, err=0x7d02850191fc)at /test/10.11_dbg/storage/innobase/gis/gis0rtree.cc:1161
      #17 0x00005813f6378f0d in btr_page_split_and_insert (flags=7, cursor=0x7d0285019368, offsets=0x7d0285019360, heap=0x7d02850192e0, tuple=0x7d01a0078040, n_ext=0, mtr=0x7d028501a038, err=0x7d02850191fc)at /test/10.11_dbg/storage/innobase/btr/btr0btr.cc:3056
      #18 0x00005813f63a8f1f in btr_cur_pessimistic_insert (flags=7, cursor=0x7d0285019368, offsets=0x7d0285019360, heap=0x7d02850192e0, entry=0x7d01a0078040, rec=0x7d0285019310, big_rec=0x7d0285019318, n_ext=0, thr=0x0, mtr=0x7d028501a038)at /test/10.11_dbg/storage/innobase/btr/btr0cur.cc:2808
      #19 0x00005813f64e641c in rtr_adjust_upper_level (sea_cur=0x7d0285019f80, flags=0, block=0x7d027800fcb0, new_block=0x7d02780100c0, mbr=0x7d02850195d0, new_mbr=0x7d02850195b0, mtr=0x7d028501a038)at /test/10.11_dbg/storage/innobase/gis/gis0rtree.cc:638
      #20 0x00005813f64e3f4b in rtr_page_split_and_insert (flags=0, cursor=0x7d0285019f80, offsets=0x7d0285019d08, heap=0x7d028501a010, tuple=0x7d01a0024768, n_ext=0, mtr=0x7d028501a038, err=0x7d02850199fc)at /test/10.11_dbg/storage/innobase/gis/gis0rtree.cc:1161
      #21 0x00005813f6378f0d in btr_page_split_and_insert (flags=0, cursor=0x7d0285019f80, offsets=0x7d0285019d08, heap=0x7d028501a010, tuple=0x7d01a0024768, n_ext=0, mtr=0x7d028501a038, err=0x7d02850199fc)at /test/10.11_dbg/storage/innobase/btr/btr0btr.cc:3056
      #22 0x00005813f63a8f1f in btr_cur_pessimistic_insert (flags=0, cursor=0x7d0285019f80, offsets=0x7d0285019d08, heap=0x7d028501a010, entry=0x7d01a0024768, rec=0x7d0285019bc0, big_rec=0x7d0285019bb8, n_ext=0, thr=0x7d01a00239d0, mtr=0x7d028501a038)at /test/10.11_dbg/storage/innobase/btr/btr0cur.cc:2808
      #23 0x00005813f6260ca3 in row_ins_sec_index_entry_low (flags=0, mode=BTR_INSERT_TREE, index=0x7d01a0028050, offsets_heap=0x7d01a0076260, heap=0x7d01a0076a40, entry=0x7d01a0024768, trx_id=0, thr=0x7d01a00239d0)at /test/10.11_dbg/storage/innobase/row/row0ins.cc:3243
      #24 0x00005813f62628e6 in row_ins_sec_index_entry (index=0x7d01a0028050, entry=0x7d01a0024768, thr=0x7d01a00239d0, check_foreign=true)at /test/10.11_dbg/storage/innobase/row/row0ins.cc:3434
      #25 0x00005813f626ae9e in row_ins_index_entry (index=0x7d01a0028050, entry=0x7d01a0024768, thr=0x7d01a00239d0)at /test/10.11_dbg/storage/innobase/row/row0ins.cc:3487
      #26 0x00005813f6269f8e in row_ins_index_entry_step (node=0x7d01a00237b0, thr=0x7d01a00239d0) at /test/10.11_dbg/storage/innobase/row/row0ins.cc:3651
      #27 0x00005813f62632d7 in row_ins (node=0x7d01a00237b0, thr=0x7d01a00239d0)at /test/10.11_dbg/storage/innobase/row/row0ins.cc:3776
      #28 0x00005813f6262f80 in row_ins_step (thr=0x7d01a00239d0)at /test/10.11_dbg/storage/innobase/row/row0ins.cc:3905
      #29 0x00005813f628f90c in row_insert_for_mysql (mysql_rec=0x7d01a0021ac8 "\031", prebuilt=0x7d01a0023310, ins_mode=ROW_INS_NORMAL)at /test/10.11_dbg/storage/innobase/row/row0mysql.cc:1301
      #30 0x00005813f6075b25 in ha_innobase::write_row (this=0x7d01a00212c8, record=0x7d01a0021ac8 "\031")at /test/10.11_dbg/storage/innobase/handler/ha_innodb.cc:7816
      #31 0x00005813f5cbae6b in handler::ha_write_row (this=0x7d01a00212c8, buf=0x7d01a0021ac8 "\031") at /test/10.11_dbg/sql/handler.cc:7804
      #32 0x00005813f587648d in write_record (thd=0x7d01a0000d58, table=0x7d01a0020e88, info=0x7d028501b2c8, sink=0x0)at /test/10.11_dbg/sql/sql_insert.cc:2372
      #33 0x00005813f5872a91 in mysql_insert (thd=0x7d01a0000d58, table_list=0x7d01a00135e8, fields=@0x7d01a0005f60: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x5813f73e31f0 <end_of_list>, last = 0x7d01a0005f60, elements = 0}, <No data fields>}, values_list=@0x7d01a0005fa8: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x7d01a00143f8, last = 0x7d01a00143f8, elements = 1}, <No data fields>}, update_fields=@0x7d01a0005f90: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x5813f73e31f0 <end_of_list>, last = 0x7d01a0005f90, elements = 0}, <No data fields>}, update_values=@0x7d01a0005f78: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x5813f73e31f0 <end_of_list>, last = 0x7d01a0005f78, elements = 0}, <No data fields>}, duplic=DUP_ERROR, ignore=false, result=0x0)at /test/10.11_dbg/sql/sql_insert.cc:1197
      #34 0x00005813f58cf795 in mysql_execute_command (thd=0x7d01a0000d58, is_called_from_prepared_stmt=false)at /test/10.11_dbg/sql/sql_parse.cc:4632
      #35 0x00005813f58c4d14 in mysql_parse (thd=0x7d01a0000d58, rawbuf=0x7d01a00134d0 "INSERT INTO t VALUES (GEOMFROMTEXT ('POINT(1 1)'))", length=50, parser_state=0x7d028501ca30)at /test/10.11_dbg/sql/sql_parse.cc:8179
      #36 0x00005813f58c21d4 in dispatch_command (command=COM_QUERY, thd=0x7d01a0000d58, packet=0x7d01a000af59 "INSERT INTO t VALUES (GEOMFROMTEXT ('POINT(1 1)'))", packet_length=50, blocking=true) at /test/10.11_dbg/sql/sql_parse.cc:1905
      #37 0x00005813f58c58c3 in do_command (thd=0x7d01a0000d58, blocking=true)at /test/10.11_dbg/sql/sql_parse.cc:1418
      #38 0x00005813f5aa05a9 in do_handle_one_connection (connect=0x581432735bd8, put_in_cache=true) at /test/10.11_dbg/sql/sql_connect.cc:1386
      #39 0x00005813f5aa0342 in handle_one_connection (arg=0x581432847968)at /test/10.11_dbg/sql/sql_connect.cc:1298
      #40 0x00007d02acc9caa4 in start_thread (arg=<optimized out>)at ./nptl/pthread_create.c:447
      #41 0x00007d02acd29c3c in clone3 ()at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
      

      Bug Detection Matrix

          Rel    o/d  Build   Commit                                    UniqueID observed             
      CS  10.6   dbg  090625  888663ce12647c5aefee5e18accd80843d726741  !sea_cur|SIGABRT|rtr_get_father_node|rtr_page_get_father_node_ptr|rtr_page_get_father_block|rtr_adjust_upper_level
      CS  10.6   opt  090625  888663ce12647c5aefee5e18accd80843d726741  No bug found                  
      CS  10.11  dbg  090625  11d1ac7285221ab4df7d9ef7cc8ee949b01c9b32  !sea_cur|SIGABRT|rtr_get_father_node|rtr_page_get_father_node_ptr|rtr_page_get_father_block|rtr_adjust_upper_level
      CS  10.11  opt  090625  11d1ac7285221ab4df7d9ef7cc8ee949b01c9b32  No bug found                  
      CS  11.4   dbg  090625  8c6cbb336081a5e1ad781df4a9778b61e3b4d73f  !sea_cur|SIGABRT|rtr_get_father_node|rtr_page_get_father_node_ptr|rtr_page_get_father_block|rtr_adjust_upper_level
      CS  11.4   opt  090625  8c6cbb336081a5e1ad781df4a9778b61e3b4d73f  No bug found                  
      CS  11.8   dbg  170625  c095283ea6f9ef25cd1bd731b6984c7cbc7e4c3f  !sea_cur|SIGABRT|rtr_get_father_node|rtr_page_get_father_node_ptr|rtr_page_get_father_block|rtr_adjust_upper_level
      CS  11.8   opt  170625  c095283ea6f9ef25cd1bd731b6984c7cbc7e4c3f  No bug found                  
      CS  12.0   dbg  090625  f1102da37a3dcdc8b92e0205f0a8bd878704b168  !sea_cur|SIGABRT|rtr_get_father_node|rtr_page_get_father_node_ptr|rtr_page_get_father_block|rtr_adjust_upper_level
      CS  12.0   opt  090625  f1102da37a3dcdc8b92e0205f0a8bd878704b168  No bug found                  
      CS  12.1   dbg  090625  6a2afb42ba86188ccda0972f9c2df363f34e10a0  !sea_cur|SIGABRT|rtr_get_father_node|rtr_page_get_father_node_ptr|rtr_page_get_father_block|rtr_adjust_upper_level
      CS  12.1   opt  090625  6a2afb42ba86188ccda0972f9c2df363f34e10a0  No bug found                  
      ES  10.6   dbg  090625  6111fbaf7bdcb6f1170f556ffd05d6e1a4159f62  !sea_cur|SIGABRT|rtr_get_father_node|rtr_page_get_father_node_ptr|rtr_page_get_father_block|rtr_adjust_upper_level
      ES  10.6   opt  090625  6111fbaf7bdcb6f1170f556ffd05d6e1a4159f62  No bug found                  
      ES  11.4   dbg  090625  9cd12544ebfd0d52d2158af66b5aced58121cf1f  !sea_cur|SIGABRT|rtr_get_father_node|rtr_page_get_father_node_ptr|rtr_page_get_father_block|rtr_adjust_upper_level
      ES  11.4   opt  090625  9cd12544ebfd0d52d2158af66b5aced58121cf1f  No bug found                  
      ES  11.8   dbg  170625  b9f97a5bc42a4f23889996d2891bcbb0cafcf0bc  !sea_cur|SIGABRT|rtr_get_father_node|rtr_page_get_father_node_ptr|rtr_page_get_father_block|rtr_adjust_upper_level
      ES  11.8   opt  170625  b9f97a5bc42a4f23889996d2891bcbb0cafcf0bc  No bug found                  
      

      Attachments

        Issue Links

          Activity

            People

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