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

Assertion `state() == s_must_replay || client_state_.current_error()' failed

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Cannot Reproduce
    • 10.4(EOL), 10.5, 10.6, 10.7(EOL), 10.8(EOL), 10.9(EOL), 10.10(EOL)
    • N/A
    • Galera

    Description

      Galera options required for replay : --wsrep_trx_fragment_size=1024 --wsrep-sync-wait

      SET SESSION old_alter_table=4;
      CREATE OR REPLACE TABLE t1 (a VARCHAR(4096) UNIQUE) ENGINE=InnoDB;
      ALTER TABLE t1 ADD COLUMN c2 INT COMMENT 'ttt';
      CREATE SEQUENCE s1 CACHE 2 ENGINE=InnoDB;
      INSERT INTO t1 VALUES (b'101010101010101010101010101010');
      ALTER TABLE t1 ENCRYPTION_KEY_ID=4, ALGORITHM=COPY;
      SELECT 1 ;
      SET GLOBAL wsrep_provider_options="gmcast.isolate=2";
      DROP TABLE t1;
      CREATE TABLE t1 engine=innodb AS SELECT * FROM mysql.help_topic;
      SET SESSION wsrep_dirty_reads=1;
      SELECT NEXT VALUE FOR s1;
      

      Leads to:

      10.10.0 330e5b5de41a5d519d75d9d9dcbf8f483cfb1fed

      mysqld: /test/mtest/10.10/wsrep-lib/src/transaction.cpp:352: int wsrep::transaction::before_prepare(wsrep::unique_lock<wsrep::mutex>&): Assertion `state() == s_must_replay || client_state_.current_error()' failed.
      

      10.10.0 330e5b5de41a5d519d75d9d9dcbf8f483cfb1fed

      Core was generated by `/test/mtest/mariadb-10.10.0-linux-x86_64/bin/mysqld --defaults-file=/test/mtest'.
      Program terminated with signal SIGABRT, Aborted.
      #0  __pthread_kill (threadid=<optimized out>, signo=6)
          at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
      [Current thread is 1 (Thread 0x154dfc07a700 (LWP 3291033))]
      (gdb) bt
      #0  __pthread_kill (threadid=<optimized out>, signo=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
      #1  0x000055e856ce3ef2 in my_write_core (sig=6) at /test/mtest/10.10/mysys/stacktrace.c:424
      #2  0x000055e856438443 in handle_fatal_signal (sig=6) at /test/mtest/10.10/sql/signal_handler.cc:345
      #3  <signal handler called>
      #4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      #5  0x0000154e3d11d859 in __GI_abort () at abort.c:79
      #6  0x0000154e3d11d729 in __assert_fail_base (fmt=0x154e3d2b3588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x55e8573cf8d8 "state() == s_must_replay || client_state_.current_error()", file=0x55e8573cf300 "/test/mtest/10.10/wsrep-lib/src/transaction.cpp", line=352, function=<optimized out>) at assert.c:92
      #7  0x0000154e3d12ef36 in __GI___assert_fail (assertion=0x55e8573cf8d8 "state() == s_must_replay || client_state_.current_error()", file=0x55e8573cf300 "/test/mtest/10.10/wsrep-lib/src/transaction.cpp", line=352, function=0x55e8573cf6d8 "int wsrep::transaction::before_prepare(wsrep::unique_lock<wsrep::mutex>&)") at assert.c:101
      #8  0x000055e856db001d in wsrep::transaction::before_prepare (this=0x154da40076b8, lock=@0x154dfc0781d0: {_M_device = 0x154da4007618, _M_owns = true}) at /test/mtest/10.10/wsrep-lib/src/transaction.cpp:352
      #9  0x000055e856db05f6 in wsrep::transaction::before_commit (this=0x154da40076b8) at /test/mtest/10.10/wsrep-lib/src/transaction.cpp:458
      #10 0x000055e8564572c9 in wsrep::client_state::before_commit (this=0x154da4007650) at /test/mtest/10.10/wsrep-lib/include/wsrep/client_state.hpp:503
      #11 0x000055e85643a189 in wsrep_before_commit (thd=0x154da4000db8, all=false) at /test/mtest/10.10/sql/wsrep_trans_observer.h:283
      #12 0x000055e85643e2a4 in ha_commit_trans (thd=0x154da4000db8, all=false) at /test/mtest/10.10/sql/handler.cc:1808
      #13 0x000055e856260dc7 in trans_commit_stmt (thd=0x154da4000db8) at /test/mtest/10.10/sql/transaction.cc:472
      #14 0x000055e85607528f in mysql_execute_command (thd=0x154da4000db8, is_called_from_prepared_stmt=false) at /test/mtest/10.10/sql/sql_parse.cc:6056
      #15 0x000055e85607add8 in mysql_parse (thd=0x154da4000db8, rawbuf=0x154da4013e30 "select next value for s1", length=24, parser_state=0x154dfc079480) at /test/mtest/10.10/sql/sql_parse.cc:8036
      #16 0x000055e85607a514 in wsrep_mysql_parse (thd=0x154da4000db8, rawbuf=0x154da4013e30 "select next value for s1", length=24, parser_state=0x154dfc079480) at /test/mtest/10.10/sql/sql_parse.cc:7849
      #17 0x000055e85606710a in dispatch_command (command=COM_QUERY, thd=0x154da4000db8, packet=0x154da400b8d9 "", packet_length=24, blocking=true) at /test/mtest/10.10/sql/sql_parse.cc:1881
      #18 0x000055e856065bd0 in do_command (thd=0x154da4000db8, blocking=true) at /test/mtest/10.10/sql/sql_parse.cc:1407
      #19 0x000055e856243fa5 in do_handle_one_connection (connect=0x55e85a555858, put_in_cache=true) at /test/mtest/10.10/sql/sql_connect.cc:1418
      #20 0x000055e856243c35 in handle_one_connection (arg=0x55e85a7ce2f8) at /test/mtest/10.10/sql/sql_connect.cc:1312
      #21 0x000055e85675a00f in pfs_spawn_thread (arg=0x55e85a7ccf08) at /test/mtest/10.10/storage/perfschema/pfs.cc:2201
      #22 0x0000154e3d647609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #23 0x0000154e3d21a293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      Bug confirmed present in:
      MariaDB: 10.4.26 (dbg), 10.5.17 (dbg), 10.6.9 (dbg), 10.7.5 (dbg), 10.8.4 (dbg), 10.9.2 (dbg), 10.10.0 (dbg)

      Bug (or feature/syntax) confirmed not present in:
      MariaDB: 10.3.36 (opt), 10.3.36 (dbg), 10.4.26 (opt), 10.5.17 (opt), 10.6.9 (opt), 10.7.5 (opt), 10.8.4 (opt), 10.9.2 (opt), 10.10.0 (opt)

      Attachments

        Activity

          People

            janlindstrom Jan Lindström
            ramesh Ramesh Sivaraman
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

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