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

Assertion `trid >= info->s->state.create_trid' failed in transid_store_packed

    XMLWordPrintable

    Details

      Description

      The crash is similar to MDEV-14854, but the given test case only crashes the Galera build.

      CREATE TABLE t (a INT KEY) ENGINE=Aria;
      INSERT INTO t VALUES (1);
      DELETE FROM t;
      CREATE TABLE t2 (f INT KEY) ENGINE=InnoDB;
      LOCK TABLE t WRITE,t2 READ;
      SELECT non_existing_function();
      OPTIMIZE TABLE t;
      INSERT INTO t VALUES (1);
      

      Leads to:

      10.11.1 e387b396d1fdd329ef5ff30c9870087ab45ee68c (Debug)

      mysqld: /test/10.11_dbg/storage/maria/ma_key.c:106: transid_store_packed: Assertion `trid >= info->s->state.create_trid' failed.
      

      10.11.1 e387b396d1fdd329ef5ff30c9870087ab45ee68c (Debug)

      Core was generated by `/test/GAL_MD081122-mariadb-10.11.1-linux-x86_64-dbg/bin/mysqld --defaults-file='.
      Program terminated with signal SIGABRT, Aborted.
      #0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6)
          at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
      [Current thread is 1 (Thread 0x14d8a9fbf700 (LWP 3249337))]
      (gdb) bt
      #0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
      #1  0x00005638d25d348f in my_write_core (sig=sig@entry=6) at /test/10.11_dbg/mysys/stacktrace.c:424
      #2  0x00005638d1eabf1e in handle_fatal_signal (sig=6) at /test/10.11_dbg/sql/signal_handler.cc:355
      #3  <signal handler called>
      #4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      #5  0x000014d8dffa8859 in __GI_abort () at abort.c:79
      #6  0x000014d8dffa8729 in __assert_fail_base (fmt=0x14d8e013e588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x5638d2983f50 "trid >= info->s->state.create_trid", file=0x5638d2983f28 "/test/10.11_dbg/storage/maria/ma_key.c", line=106, function=<optimized out>) at assert.c:92
      #7  0x000014d8dffb9fd6 in __GI___assert_fail (assertion=assertion@entry=0x5638d2983f50 "trid >= info->s->state.create_trid", file=file@entry=0x5638d2983f28 "/test/10.11_dbg/storage/maria/ma_key.c", line=line@entry=106, function=function@entry=0x5638d2984030 <__PRETTY_FUNCTION__.19879> "transid_store_packed") at assert.c:101
      #8  0x00005638d2104699 in transid_store_packed (info=info@entry=0x14d868031a88, to=0x14d868036256 '\245' <repeats 58 times>, trid=trid@entry=28) at /test/10.11_dbg/storage/maria/ma_key.c:106
      #9  0x00005638d2104c21 in _ma_make_key (info=0x14d868031a88, int_key=0x14d8a9fbd8c0, keynr=<optimized out>, key=0x14d868036251 "", record=0x14d868029a78 "\377\001", filepos=256, trid=28) at /test/10.11_dbg/storage/maria/ma_key.c:327
      #10 0x00005638d211b218 in maria_write (info=0x14d868031a88, record=record@entry=0x14d868029a78 "\377\001") at /test/10.11_dbg/storage/maria/ma_write.c:189
      #11 0x00005638d20c98ee in ha_maria::write_row (this=0x14d868029e90, buf=0x14d868029a78 "\377\001") at /test/10.11_dbg/storage/maria/ha_maria.cc:1271
      #12 0x00005638d1ebc561 in handler::ha_write_row (this=0x14d868029e90, buf=0x14d868029a78 "\377\001") at /test/10.11_dbg/sql/handler.cc:7561
      #13 0x00005638d1b89745 in write_record (thd=thd@entry=0x14d868000d48, table=table@entry=0x14d86801f1a8, info=info@entry=0x14d8a9fbdb50, sink=sink@entry=0x0) at /test/10.11_dbg/sql/sql_insert.cc:2203
      #14 0x00005638d1b93a2c in mysql_insert (thd=thd@entry=0x14d868000d48, table_list=<optimized out>, fields=@0x14d868005e70: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x5638d3163f00 <end_of_list>, last = 0x14d868005e70, elements = 0}, <No data fields>}, values_list=@0x14d868005eb8: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x14d868013e38, last = 0x14d868013e38, elements = 1}, <No data fields>}, update_fields=@0x14d868005ea0: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x5638d3163f00 <end_of_list>, last = 0x14d868005ea0, elements = 0}, <No data fields>}, update_values=@0x14d868005e88: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x5638d3163f00 <end_of_list>, last = 0x14d868005e88, elements = 0}, <No data fields>}, duplic=DUP_ERROR, ignore=false, result=0x0) at /test/10.11_dbg/sql/sql_insert.cc:1153
      #15 0x00005638d1bd4cb0 in mysql_execute_command (thd=thd@entry=0x14d868000d48, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /test/10.11_dbg/sql/sql_parse.cc:4565
      #16 0x00005638d1bc1433 in mysql_parse (thd=thd@entry=0x14d868000d48, rawbuf=rawbuf@entry=0x14d868013120 "INSERT INTO t VALUES (1)", length=length@entry=24, parser_state=parser_state@entry=0x14d8a9fbe300) at /test/10.11_dbg/sql/sql_parse.cc:7998
      #17 0x00005638d1bc0e33 in wsrep_mysql_parse (thd=thd@entry=0x14d868000d48, rawbuf=0x14d868013120 "INSERT INTO t VALUES (1)", length=24, parser_state=parser_state@entry=0x14d8a9fbe300) at /test/10.11_dbg/sql/sql_parse.cc:7809
      #18 0x00005638d1bcea76 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14d868000d48, packet=packet@entry=0x14d86800adf9 "INSERT INTO t VALUES (1)", packet_length=packet_length@entry=24, blocking=blocking@entry=true) at /test/10.11_dbg/sql/sql_class.h:1346
      #19 0x00005638d1bd0ea2 in do_command (thd=0x14d868000d48, blocking=blocking@entry=true) at /test/10.11_dbg/sql/sql_parse.cc:1407
      #20 0x00005638d1d2cd4a in do_handle_one_connection (connect=<optimized out>, connect@entry=0x5638d4e2ab68, put_in_cache=put_in_cache@entry=true) at /test/10.11_dbg/sql/sql_connect.cc:1416
      #21 0x00005638d1d2d21c in handle_one_connection (arg=0x5638d4e2ab68) at /test/10.11_dbg/sql/sql_connect.cc:1318
      #22 0x000014d8e04b9609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #23 0x000014d8e00a5133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      10.10.3 567fb3710b1ca49042056bdb2454e2a0588a96e9 (Debug)

      mysqld: /test/10.10_dbg/storage/maria/ma_key.c:106: transid_store_packed: Assertion `trid >= info->s->state.create_trid' failed.
      

      10.10.3 567fb3710b1ca49042056bdb2454e2a0588a96e9 (Debug)

      Core was generated by `/test/GAL_MD081122-mariadb-10.10.3-linux-x86_64-dbg/bin/mysqld --defaults-file='.
      Program terminated with signal SIGABRT, Aborted.
      #0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6)
          at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
      [Current thread is 1 (Thread 0x14b00c1f9700 (LWP 1154868))]
      (gdb) bt
      #0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
      #1  0x000055877ec7dabd in my_write_core (sig=sig@entry=6) at /test/10.10_dbg/mysys/stacktrace.c:424
      #2  0x000055877e55781e in handle_fatal_signal (sig=6) at /test/10.10_dbg/sql/signal_handler.cc:355
      #3  <signal handler called>
      #4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      #5  0x000014b055a20859 in __GI_abort () at abort.c:79
      #6  0x000014b055a20729 in __assert_fail_base (fmt=0x14b055bb6588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x55877f02d590 "trid >= info->s->state.create_trid", file=0x55877f02d568 "/test/10.10_dbg/storage/maria/ma_key.c", line=106, function=<optimized out>) at assert.c:92
      #7  0x000014b055a31fd6 in __GI___assert_fail (assertion=assertion@entry=0x55877f02d590 "trid >= info->s->state.create_trid", file=file@entry=0x55877f02d568 "/test/10.10_dbg/storage/maria/ma_key.c", line=line@entry=106, function=function@entry=0x55877f02d670 <__PRETTY_FUNCTION__.19879> "transid_store_packed") at assert.c:101
      #8  0x000055877e7b0143 in transid_store_packed (info=info@entry=0x14afe4033138, to=0x14afe4037906 '\245' <repeats 58 times>, trid=trid@entry=35) at /test/10.10_dbg/storage/maria/ma_key.c:106
      #9  0x000055877e7b06cb in _ma_make_key (info=0x14afe4033138, int_key=0x14b00c1f78c0, keynr=<optimized out>, key=0x14afe4037901 "", record=0x14afe402afa8 "\377\001", filepos=256, trid=35) at /test/10.10_dbg/storage/maria/ma_key.c:327
      #10 0x000055877e7c6cc2 in maria_write (info=0x14afe4033138, record=record@entry=0x14afe402afa8 "\377\001") at /test/10.10_dbg/storage/maria/ma_write.c:189
      #11 0x000055877e775398 in ha_maria::write_row (this=0x14afe402b3c0, buf=0x14afe402afa8 "\377\001") at /test/10.10_dbg/storage/maria/ha_maria.cc:1271
      #12 0x000055877e567e5f in handler::ha_write_row (this=0x14afe402b3c0, buf=0x14afe402afa8 "\377\001") at /test/10.10_dbg/sql/handler.cc:7561
      #13 0x000055877e2353ce in write_record (thd=thd@entry=0x14afe4000d48, table=table@entry=0x14afe402aba8, info=info@entry=0x14b00c1f7b50, sink=sink@entry=0x0) at /test/10.10_dbg/sql/sql_insert.cc:2191
      #14 0x000055877e23f6f2 in mysql_insert (thd=thd@entry=0x14afe4000d48, table_list=<optimized out>, fields=@0x14afe4005e68: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x55877f80cee0 <end_of_list>, last = 0x14afe4005e68, elements = 0}, <No data fields>}, values_list=@0x14afe4005eb0: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x14afe4013e20, last = 0x14afe4013e20, elements = 1}, <No data fields>}, update_fields=@0x14afe4005e98: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x55877f80cee0 <end_of_list>, last = 0x14afe4005e98, elements = 0}, <No data fields>}, update_values=@0x14afe4005e80: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x55877f80cee0 <end_of_list>, last = 0x14afe4005e80, elements = 0}, <No data fields>}, duplic=DUP_ERROR, ignore=false, result=0x0) at /test/10.10_dbg/sql/sql_insert.cc:1146
      #15 0x000055877e2809f3 in mysql_execute_command (thd=thd@entry=0x14afe4000d48, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /test/10.10_dbg/sql/sql_parse.cc:4563
      #16 0x000055877e26d13c in mysql_parse (thd=thd@entry=0x14afe4000d48, rawbuf=rawbuf@entry=0x14afe4013110 "INSERT INTO t VALUES (1)", length=length@entry=24, parser_state=parser_state@entry=0x14b00c1f8300) at /test/10.10_dbg/sql/sql_parse.cc:8021
      #17 0x000055877e26cb3c in wsrep_mysql_parse (thd=thd@entry=0x14afe4000d48, rawbuf=0x14afe4013110 "INSERT INTO t VALUES (1)", length=24, parser_state=parser_state@entry=0x14b00c1f8300) at /test/10.10_dbg/sql/sql_parse.cc:7832
      #18 0x000055877e27a7e5 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14afe4000d48, packet=packet@entry=0x14afe400ade9 "INSERT INTO t VALUES (1)", packet_length=packet_length@entry=24, blocking=blocking@entry=true) at /test/10.10_dbg/sql/sql_class.h:1346
      #19 0x000055877e27cc14 in do_command (thd=0x14afe4000d48, blocking=blocking@entry=true) at /test/10.10_dbg/sql/sql_parse.cc:1407
      #20 0x000055877e3d8de8 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x5587814bae08, put_in_cache=put_in_cache@entry=true) at /test/10.10_dbg/sql/sql_connect.cc:1416
      #21 0x000055877e3d92ba in handle_one_connection (arg=0x5587814bae08) at /test/10.10_dbg/sql/sql_connect.cc:1318
      #22 0x000014b055f31609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #23 0x000014b055b1d133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      Bug confirmed present in:
      MariaDB: 10.4.28 (dbg), 10.5.19 (dbg), 10.6.11-6 (dbg), 10.6.12 (dbg), 10.7.8 (dbg), 10.8.7 (dbg), 10.9.5 (dbg), 10.10.3 (dbg), 10.11.1 (dbg)

      Bug (or feature/syntax) confirmed not present in:
      MariaDB: 10.3.38 (dbg), 10.3.38 (opt), 10.4.28 (opt), 10.5.19 (opt), 10.6.12 (opt), 10.7.8 (opt), 10.8.7 (opt), 10.9.5 (opt), 10.10.3 (opt), 10.11.1 (opt)

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              monty Michael Widenius
              Reporter:
              ramesh Ramesh Sivaraman
              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.