[MDEV-32787]  Assertion `!wsrep_has_changes(thd) || (thd->lex->sql_command == SQLCOM_CREATE_TABLE && !thd->is_current_stmt_binlog_format_row()) || thd->wsrep_cs().transaction().state() == wsrep::transaction::s_aborted' failed in void wsrep_commit_empty(THD*, bool) Created: 2023-11-13  Updated: 2024-01-31

Status: Open
Project: MariaDB Server
Component/s: Galera
Affects Version/s: 11.3
Fix Version/s: 11.3

Type: Bug Priority: Critical
Reporter: Ramesh Sivaraman Assignee: Jan Lindström
Resolution: Unresolved Votes: 0
Labels: None

Attachments: File alter_online.yy     File alter_online.zz     File n1.cnf     File n2.cnf     File n3.cnf    

 Description   

perl gendata.pl --dsn=dbi:mysql:host=127.0.0.1:port=10455:user=root:database=test --spec=conf/runtime/alter_online.zz
perl gentest.pl --dsn=dbi:mysql:host=127.0.0.1:port=10455:user=root:database=test --grammar=conf/runtime/alter_online.yy --threads=32 --duration=30000 --queries=1000000000 &
perl gentest.pl --dsn=dbi:mysql:host=127.0.0.1:port=10153:user=root:database=test --grammar=conf/runtime/alter_online.yy --threads=32 --duration=30000 --queries=1000000000 &
perl gentest.pl --dsn=dbi:mysql:host=127.0.0.1:port=10547:user=root:database=test --grammar=conf/runtime/alter_online.yy --threads=32 --duration=30000 --queries=1000000000 &

Leads to

11.3.0 22ffe4dd227451ebd0ef842850ef57b81aa8f930 (Debug)

mysqld: /test/mtest/11.3_dbg/sql/wsrep_mysqld.cc:3894: void wsrep_commit_empty(THD*, bool): Assertion `!wsrep_has_changes(thd) || (thd->lex->sql_command == SQLCOM_CREATE_TABLE && !thd->is_current_stmt_binlog_format_row()) || thd->wsrep_cs().transaction().state() == wsrep::transaction::s_aborted' failed.

11.3.0 22ffe4dd227451ebd0ef842850ef57b81aa8f930 (Debug)

#0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
56	../sysdeps/unix/sysv/linux/pthread_kill.c: No such file or directory.
[Current thread is 1 (Thread 0x14849e0ca700 (LWP 1022450))]
(gdb) bt
#0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
#1  0x0000557741158e0c in my_write_core (sig=sig@entry=6) at /test/mtest/11.3_dbg/mysys/stacktrace.c:424
#2  0x0000557740a4454a in handle_fatal_signal (sig=6) at /test/mtest/11.3_dbg/sql/signal_handler.cc:360
#3  <signal handler called>
#4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#5  0x00001485065f6859 in __GI_abort () at abort.c:79
#6  0x00001485065f6729 in __assert_fail_base (fmt=0x14850678c588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", 
    assertion=0x55774152c4d8 "!wsrep_has_changes(thd) || (thd->lex->sql_command == SQLCOM_CREATE_TABLE && !thd->is_current_stmt_binlog_format_row()) || thd->wsrep_cs().transaction().state() == wsrep::transaction::s_aborted", file=0x55774152b568 "/test/mtest/11.3_dbg/sql/wsrep_mysqld.cc", line=3894, function=<optimized out>) at assert.c:92
#7  0x0000148506607fd6 in __GI___assert_fail (
    assertion=assertion@entry=0x55774152c4d8 "!wsrep_has_changes(thd) || (thd->lex->sql_command == SQLCOM_CREATE_TABLE && !thd->is_current_stmt_binlog_format_row()) || thd->wsrep_cs().transaction().state() == wsrep::transaction::s_aborted", file=file@entry=0x55774152b568 "/test/mtest/11.3_dbg/sql/wsrep_mysqld.cc", line=line@entry=3894, function=function@entry=0x55774152c5a0 "void wsrep_commit_empty(THD*, bool)")
    at assert.c:101
#8  0x0000557740d074a9 in wsrep_commit_empty (thd=thd@entry=0x1484a8000d48, all=all@entry=true) at /test/mtest/11.3_dbg/wsrep-lib/include/wsrep/transaction.hpp:64
#9  0x0000557740a4a7d8 in ha_commit_trans (thd=thd@entry=0x1484a8000d48, all=all@entry=true) at /test/mtest/11.3_dbg/sql/handler.cc:1753
#10 0x00005577408bd8a9 in trans_commit_implicit (thd=thd@entry=0x1484a8000d48) at /test/mtest/11.3_dbg/sql/transaction.cc:329
#11 0x0000557740740e33 in mysql_execute_command (thd=thd@entry=0x1484a8000d48, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /test/mtest/11.3_dbg/sql/sql_parse.cc:5863
#12 0x0000557740728c1c in mysql_parse (thd=thd@entry=0x1484a8000d48, rawbuf=rawbuf@entry=0x1484a8013350 "ALTER TABLE t1 ADD KEY idx ( col4(10) ) /* QNO 7 CON_ID 32 */", length=length@entry=61, 
    parser_state=parser_state@entry=0x14849e0c92c0) at /test/mtest/11.3_dbg/sql/sql_parse.cc:7748
#13 0x000055774072852d in wsrep_mysql_parse (thd=thd@entry=0x1484a8000d48, rawbuf=0x1484a8013350 "ALTER TABLE t1 ADD KEY idx ( col4(10) ) /* QNO 7 CON_ID 32 */", length=61, 
    parser_state=parser_state@entry=0x14849e0c92c0) at /test/mtest/11.3_dbg/sql/sql_parse.cc:7559
#14 0x00005577407364ef in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x1484a8000d48, packet=packet@entry=0x1484a800afb9 "ALTER TABLE t1 ADD KEY idx ( col4(10) ) /* QNO 7 CON_ID 32 */ ", 
    packet_length=packet_length@entry=62, blocking=blocking@entry=true) at /test/mtest/11.3_dbg/sql/sql_class.h:1549
#15 0x00005577407389a2 in do_command (thd=0x1484a8000d48, blocking=blocking@entry=true) at /test/mtest/11.3_dbg/sql/sql_parse.cc:1406
#16 0x00005577408a8940 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x557742bba8b8, put_in_cache=put_in_cache@entry=true) at /test/mtest/11.3_dbg/sql/sql_connect.cc:1418
#17 0x00005577408a8e12 in handle_one_connection (arg=0x557742bba8b8) at /test/mtest/11.3_dbg/sql/sql_connect.cc:1320
#18 0x0000148506b07609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#19 0x00001485066f3133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95


Generated at Thu Feb 08 10:34:01 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.