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

Fatal error or assertion failure in row_undo_mod_del_unmark_sec_and_undo_update with spatial

    XMLWordPrintable

Details

    Description

      --source include/have_innodb.inc
       
      CREATE TABLE t (pk CHAR(1) PRIMARY KEY, s POINT NOT NULL, SPATIAL(s)) ENGINE=InnoDB CHARACTER SET gb2312;
      INSERT INTO t VALUES ('a',POINT(0,0)),('b',POINT(1,1));
      ALTER TABLE t ROW_FORMAT=REDUNDANT;
      START TRANSACTION;
      UPDATE t SET pk = 'x';
      ROLLBACK;
       
      # Cleanup
      DROP TABLE t;
      

      10.3 e4cffc92

      mysqld: /data/src/10.3/storage/innobase/row/row0umod.cc:663: dberr_t row_undo_mod_del_unmark_sec_and_undo_update(ulint, que_thr_t *, dict_index_t *, dtuple_t *): Assertion `mode & BTR_MODIFY_LEAF' failed.
      220903 12:05:05 [ERROR] mysqld got signal 6 ;
       
      #7  0x00007fbc2f651662 in __GI___assert_fail (assertion=0x38d6a40 <str> "mode & BTR_MODIFY_LEAF", file=0x38d39c0 <str> "/data/src/10.3/storage/innobase/row/row0umod.cc", line=663, function=0x38d69a0 <__PRETTY_FUNCTION__._ZL43row_undo_mod_del_unmark_sec_and_undo_updatemP9que_thr_tP12dict_index_tP8dtuple_t> "dberr_t row_undo_mod_del_unmark_sec_and_undo_update(ulint, que_thr_t *, dict_index_t *, dtuple_t *)") at assert.c:101
      #8  0x000000000287a085 in row_undo_mod_del_unmark_sec_and_undo_update (mode=33, thr=0x61600004ded0, index=0x618000046108, entry=0x6190000ed908) at /data/src/10.3/storage/innobase/row/row0umod.cc:663
      #9  0x00000000028752b3 in row_undo_mod_del_mark_sec (node=0x61a00007ed08, thr=0x61600004ded0) at /data/src/10.3/storage/innobase/row/row0umod.cc:977
      #10 0x0000000002872482 in row_undo_mod (node=0x61a00007ed08, thr=0x61600004ded0) at /data/src/10.3/storage/innobase/row/row0umod.cc:1314
      #11 0x000000000227c9b5 in row_undo (node=0x61a00007ed08, thr=0x61600004ded0) at /data/src/10.3/storage/innobase/row/row0undo.cc:308
      #12 0x000000000227be19 in row_undo_step (thr=0x61600004ded0) at /data/src/10.3/storage/innobase/row/row0undo.cc:362
      #13 0x000000000206edf1 in que_thr_step (thr=0x61600004ded0) at /data/src/10.3/storage/innobase/que/que0que.cc:1036
      #14 0x000000000206cca7 in que_run_threads_low (thr=0x61600004ded0) at /data/src/10.3/storage/innobase/que/que0que.cc:1100
      #15 0x000000000206c6ae in que_run_threads (thr=0x61600004ded0) at /data/src/10.3/storage/innobase/que/que0que.cc:1140
      #16 0x00000000023a818d in trx_rollback_to_savepoint_low (trx=0x7fbc25cd38b8, savept=0x7fbc19077520) at /data/src/10.3/storage/innobase/trx/trx0roll.cc:140
      #17 0x00000000023a7567 in trx_rollback_to_savepoint (trx=0x7fbc25cd38b8, savept=0x7fbc19077520) at /data/src/10.3/storage/innobase/trx/trx0roll.cc:188
      #18 0x000000000216ed87 in row_mysql_handle_errors (new_err=0x7fbc19077540, trx=0x7fbc25cd38b8, thr=0x620000013bf0, savept=0x7fbc19077520) at /data/src/10.3/storage/innobase/row/row0mysql.cc:734
      #19 0x000000000217b8dc in row_update_for_mysql (prebuilt=0x620000013108) at /data/src/10.3/storage/innobase/row/row0mysql.cc:1846
      #20 0x0000000001d17350 in ha_innobase::update_row (this=0x61d00021b710, old_row=0x6190000eb630 "b \031", new_row=0x6190000eb620 "x \031") at /data/src/10.3/storage/innobase/handler/ha_innodb.cc:8970
      #21 0x00000000015e263e in handler::ha_update_row (this=0x61d00021b710, old_data=0x6190000eb630 "b \031", new_data=0x6190000eb620 "x \031") at /data/src/10.3/sql/handler.cc:6527
      #22 0x0000000000f07a53 in mysql_update (thd=0x62a0000ba270, table_list=0x62b000000390, fields=..., values=..., conds=0x0, order_num=0, order=0x0, limit=18446744073709551614, ignore=false, found_return=0x7fbc1907a660, updated_return=0x7fbc1907a680) at /data/src/10.3/sql/sql_update.cc:963
      #23 0x0000000000b57582 in mysql_execute_command (thd=0x62a0000ba270) at /data/src/10.3/sql/sql_parse.cc:4344
      #24 0x0000000000b42fc7 in mysql_parse (thd=0x62a0000ba270, rawbuf=0x62b000000290 "UPDATE t SET pk = 'x'", length=21, parser_state=0x7fbc1907f8a0, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:7871
      #25 0x0000000000b33b4d in dispatch_command (command=COM_QUERY, thd=0x62a0000ba270, packet=0x629000136271 "UPDATE t SET pk = 'x'", packet_length=21, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:1852
      #26 0x0000000000b3ce4d in do_command (thd=0x62a0000ba270) at /data/src/10.3/sql/sql_parse.cc:1398
      #27 0x0000000001083097 in do_handle_one_connection (connect=0x611000041bf0) at /data/src/10.3/sql/sql_connect.cc:1403
      #28 0x0000000001082764 in handle_one_connection (arg=0x611000041bf0) at /data/src/10.3/sql/sql_connect.cc:1308
      #29 0x0000000002e99122 in pfs_spawn_thread (arg=0x61600000e4f0) at /data/src/10.3/storage/perfschema/pfs.cc:1869
      #30 0x00007fbc2f80fea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #31 0x00007fbc2f71adef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      10.3.32 release

      2022-09-03 12:07:10 9 [ERROR] [FATAL] InnoDB: Error (Failed, retry may succeed) in rollback.
      220903 12:07:10 [ERROR] mysqld got signal 6 ;
       
      #5  0x000055b5e96f0733 in ib::fatal::~fatal (this=0x7f7b0919c290, __in_chrg=<optimized out>) at /home/buildbot/buildbot/build/storage/innobase/ut/ut0ut.cc:606
      #6  0x000055b5e968f87f in row_undo_step (thr=thr@entry=0x7f7abc06d780) at /home/buildbot/buildbot/build/storage/innobase/row/row0undo.cc:373
      #7  0x000055b5e9634ef0 in que_thr_step (thr=0x7f7abc06d780) at /home/buildbot/buildbot/build/storage/innobase/que/que0que.cc:1036
      #8  que_run_threads_low (thr=<optimized out>) at /home/buildbot/buildbot/build/storage/innobase/que/que0que.cc:1100
      #9  que_run_threads (thr=<optimized out>) at /home/buildbot/buildbot/build/storage/innobase/que/que0que.cc:1140
      #10 0x000055b5e96d3f1a in trx_rollback_to_savepoint_low (trx=0x7f7b09c76068, savept=0x7f7b0919c810) at /home/buildbot/buildbot/build/storage/innobase/trx/trx0roll.cc:140
      #11 0x000055b5e96d41e2 in trx_rollback_to_savepoint (trx=trx@entry=0x7f7b09c76068, savept=savept@entry=0x7f7b0919c810) at /home/buildbot/buildbot/build/storage/innobase/trx/trx0roll.cc:188
      #12 0x000055b5e9664ba1 in row_mysql_handle_errors (new_err=0x7f7b0919c800, trx=0x7f7b09c76068, thr=<optimized out>, savept=0x7f7b0919c810) at /home/buildbot/buildbot/build/storage/innobase/row/row0mysql.cc:734
      #13 0x000055b5e96692c0 in row_update_for_mysql (prebuilt=0x7f7abc113708) at /home/buildbot/buildbot/build/storage/innobase/row/row0mysql.cc:1847
      #14 0x000055b5e95a79bc in ha_innobase::update_row (this=0x7f7abc118220, old_row=0x7f7abc0068e8 "b \031", new_row=0x7f7abc0068d8 "x \031") at /home/buildbot/buildbot/build/storage/innobase/handler/ha_innodb.cc:8892
      #15 0x000055b5e93cf14d in handler::ha_update_row (this=0x7f7abc118220, old_data=0x7f7abc0068e8 "b \031", new_data=0x7f7abc0068d8 "x \031") at /home/buildbot/buildbot/build/sql/handler.cc:6508
      #16 0x000055b5e9284d42 in mysql_update (thd=thd@entry=0x7f7abc000c48, table_list=0x7f7abc00f800, fields=..., values=..., conds=0x0, order_num=<optimized out>, order=<optimized out>, limit=18446744073709551614, ignore=false, found_return=found_return@entry=0x7f7b0919cef0, updated_return=updated_return@entry=0x7f7b0919cfb0) at /home/buildbot/buildbot/build/sql/sql_update.cc:963
      #17 0x000055b5e91dc1a6 in mysql_execute_command (thd=thd@entry=0x7f7abc000c48) at /home/buildbot/buildbot/build/sql/sql_parse.cc:4350
      #18 0x000055b5e91e3192 in mysql_parse (thd=thd@entry=0x7f7abc000c48, rawbuf=<optimized out>, length=21, parser_state=parser_state@entry=0x7f7b0919e600, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /home/buildbot/buildbot/build/sql/sql_parse.cc:7870
      #19 0x000055b5e91e4a05 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x7f7abc000c48, packet=packet@entry=0x7f7abc007389 "UPDATE t SET pk = 'x'", packet_length=packet_length@entry=21, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /home/buildbot/buildbot/build/sql/sql_parse.cc:1853
      #20 0x000055b5e91e65db in do_command (thd=0x7f7abc000c48) at /home/buildbot/buildbot/build/sql/sql_parse.cc:1399
      #21 0x000055b5e92bfb66 in do_handle_one_connection (connect=connect@entry=0x55b5ebe412d8) at /home/buildbot/buildbot/build/sql/sql_connect.cc:1403
      #22 0x000055b5e92bfc7d in handle_one_connection (arg=arg@entry=0x55b5ebe412d8) at /home/buildbot/buildbot/build/sql/sql_connect.cc:1308
      #23 0x000055b5e9575a0d in pfs_spawn_thread (arg=0x55b5ebe73228) at /home/buildbot/buildbot/build/storage/perfschema/pfs.cc:1869
      #24 0x00007f7b1047eea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #25 0x00007f7b1009bdef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      10.10 f6118acd

      mariadbd: /data/src/10.10/storage/innobase/row/row0umod.cc:700: dberr_t row_undo_mod_del_unmark_sec_and_undo_update(ulint, que_thr_t *, dict_index_t *, dtuple_t *): Assertion `!(mode & 8)' failed.
      220903 12:08:24 [ERROR] mysqld got signal 6 ;
       
      #7  0x00007fd5cc3e7662 in __GI___assert_fail (assertion=0x415b120 <str> "!(mode & 8)", file=0x4158160 <str> "/data/src/10.10/storage/innobase/row/row0umod.cc", line=700, function=0x415b080 <__PRETTY_FUNCTION__._ZL43row_undo_mod_del_unmark_sec_and_undo_updatemP9que_thr_tP12dict_index_tP8dtuple_t> "dberr_t row_undo_mod_del_unmark_sec_and_undo_update(ulint, que_thr_t *, dict_index_t *, dtuple_t *)") at assert.c:101
      #8  0x00000000032d0614 in row_undo_mod_del_unmark_sec_and_undo_update (mode=10, thr=0x61700004ea58, index=0x616000a02720, entry=0x61a0000ee920) at /data/src/10.10/storage/innobase/row/row0umod.cc:700
      #9  0x00000000032cbcac in row_undo_mod_del_mark_sec (node=0x61b000050220, thr=0x61700004ea58) at /data/src/10.10/storage/innobase/row/row0umod.cc:946
      #10 0x00000000032c8d82 in row_undo_mod (node=0x61b000050220, thr=0x61700004ea58) at /data/src/10.10/storage/innobase/row/row0umod.cc:1252
      #11 0x0000000002db72c4 in row_undo (node=0x61b000050220, thr=0x61700004ea58) at /data/src/10.10/storage/innobase/row/row0undo.cc:405
      #12 0x0000000002db6bde in row_undo_step (thr=0x61700004ea58) at /data/src/10.10/storage/innobase/row/row0undo.cc:452
      #13 0x0000000002bd95b1 in que_thr_step (thr=0x61700004ea58) at /data/src/10.10/storage/innobase/que/que0que.cc:651
      #14 0x0000000002bd809b in que_run_threads_low (thr=0x61700004ea58) at /data/src/10.10/storage/innobase/que/que0que.cc:709
      #15 0x0000000002bd7c3c in que_run_threads (thr=0x61700004ea58) at /data/src/10.10/storage/innobase/que/que0que.cc:729
      #16 0x0000000002e8fda6 in trx_t::rollback_low (this=0x7fd5c3331340, savept=0x7fd5b98bfec0) at /data/src/10.10/storage/innobase/trx/trx0roll.cc:125
      #17 0x0000000002e8819f in trx_t::rollback (this=0x7fd5c3331340, savept=0x7fd5b98bfec0) at /data/src/10.10/storage/innobase/trx/trx0roll.cc:176
      #18 0x0000000002cf5abb in row_mysql_handle_errors (new_err=0x7fd5b98bfee0, trx=0x7fd5c3331340, thr=0x620000015bd0, savept=0x7fd5b98bfec0) at /data/src/10.10/storage/innobase/row/row0mysql.cc:674
      #19 0x0000000002d0206f in row_update_for_mysql (prebuilt=0x620000015120) at /data/src/10.10/storage/innobase/row/row0mysql.cc:1706
      #20 0x00000000027fdfd6 in ha_innobase::update_row (this=0x61d0002ea528, old_row=0x61a0000eb948 "b \031", new_row=0x61a0000eb938 "x \031") at /data/src/10.10/storage/innobase/handler/ha_innodb.cc:8595
      #21 0x0000000001a99426 in handler::ha_update_row (this=0x61d0002ea528, old_data=0x61a0000eb948 "b \031", new_data=0x61a0000eb938 "x \031") at /data/src/10.10/sql/handler.cc:7637
      #22 0x00000000012ddc05 in mysql_update (thd=0x62b00017a288, table_list=0x6290001093a8, fields=..., values=..., conds=0x0, order_num=0, order=0x0, limit=18446744073709551614, ignore=false, found_return=0x7fd5b98c3760, updated_return=0x7fd5b98c3780) at /data/src/10.10/sql/sql_update.cc:1099
      #23 0x0000000000e6546a in mysql_execute_command (thd=0x62b00017a288, is_called_from_prepared_stmt=false) at /data/src/10.10/sql/sql_parse.cc:4406
      #24 0x0000000000e48083 in mysql_parse (thd=0x62b00017a288, rawbuf=0x6290001092a8 "UPDATE t SET pk = 'x'", length=21, parser_state=0x7fd5b98c7a90) at /data/src/10.10/sql/sql_parse.cc:8035
      #25 0x0000000000e40dfa in dispatch_command (command=COM_QUERY, thd=0x62b00017a288, packet=0x62900028f289 "UPDATE t SET pk = 'x'", packet_length=21, blocking=true) at /data/src/10.10/sql/sql_parse.cc:1894
      #26 0x0000000000e4ae42 in do_command (thd=0x62b00017a288, blocking=true) at /data/src/10.10/sql/sql_parse.cc:1407
      #27 0x0000000001485cfa in do_handle_one_connection (connect=0x61100003fb88, put_in_cache=true) at /data/src/10.10/sql/sql_connect.cc:1418
      #28 0x0000000001485344 in handle_one_connection (arg=0x61100003fa48) at /data/src/10.10/sql/sql_connect.cc:1312
      #29 0x0000000002584708 in pfs_spawn_thread (arg=0x618000008508) at /data/src/10.10/storage/perfschema/pfs.cc:2201
      #30 0x00007fd5cc77aea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #31 0x00007fd5cc4b0def in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      Reproducible on all maintained versions including older minor releases (not a fresh regression), debug and non-debug as above.

      Attachments

        Activity

          People

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