[MDEV-22681] Server crashes in galera::ReplicatorSMM::CommitOrder::CommitOrder or assertion failed in wsrep::transaction::before_prepare Created: 2020-05-23  Updated: 2022-02-03  Resolved: 2020-10-28

Status: Closed
Project: MariaDB Server
Component/s: Galera, Prepared Statements, wsrep
Affects Version/s: 10.4, 10.5
Fix Version/s: 10.4.16, 10.5.7

Type: Bug Priority: Critical
Reporter: Elena Stepanova Assignee: Jan Lindström (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Environment:

Galera 26.4.4(r4599)


Attachments: File MDEV-22681.cnf     File MDEV-22681.test    

 Description   

To reproduce initially, do not put the test case into the galera suite. It changes something – maybe the cluster needs to be single-node to make it happen, or something else is different. Instead, put it elsewhere and run with

--mysqld=--wsrep_provider=<path to galera library> --mysqld=--wsrep_on=ON --mysqld=--wsrep_cluster_address=gcomm:// --mysqld=--log-bin --mysqld=--binlog-format=row --mysqld=--innodb_autoinc_lock_mode=2 --mysqld=--innodb_doublewrite=1 --nocheck-testcases --nowarnings --mem

Alternatively, you can just start the server with minimal wsrep options as above and run the statements from the test case.

--source include/have_innodb.inc
 
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
EXECUTE IMMEDIATE 'CREATE OR REPLACE TABLE t1 ENGINE=InnoDB AS SELECT 1 AS b';

10.4 ea7830ee non-debug

#3  <signal handler called>
#4  0x00007fe2960b7406 in galera::ReplicatorSMM::CommitOrder::CommitOrder (mode=galera::ReplicatorSMM::CommitOrder::NO_OOOC, ts=..., this=0x7fe284860ed0) at galera/src/replicator_smm.hpp:694
#5  galera::ReplicatorSMM::commit_order_leave (this=this@entry=0x56385100aad0, ts=..., error=error@entry=0x7fe2848612a0) at galera/src/replicator_smm.cpp:1412
#6  0x00007fe2960de6b5 in galera_commit_order_leave (gh=<optimized out>, ws_handle=<optimized out>, meta=<optimized out>, error=0x7fe2848612a0) at galera/src/wsrep_provider.cpp:800
#7  0x000056384f8d317e in wsrep::wsrep_provider_v26::commit_order_leave (this=<optimized out>, ws_handle=..., ws_meta=..., err=...) at /data/src/10.4/wsrep-lib/src/wsrep_provider_v26.cpp:841
#8  0x000056384f8c6a4d in wsrep::transaction::ordered_commit (this=this@entry=0x7fe21c006968) at /data/src/10.4/wsrep-lib/src/transaction.cpp:532
#9  0x000056384f43daf1 in wsrep::client_state::ordered_commit (this=<optimized out>) at /data/src/10.4/wsrep-lib/include/wsrep/client_state.hpp:479
#10 wsrep_ordered_commit (all=<optimized out>, thd=<optimized out>) at /data/src/10.4/sql/wsrep_trans_observer.h:300
#11 MYSQL_BIN_LOG::write_transaction_to_binlog_events (this=this@entry=0x5638502b6d40 <mysql_bin_log>, entry=entry@entry=0x7fe2848613b0) at /data/src/10.4/sql/log.cc:7751
#12 0x000056384f43df9a in MYSQL_BIN_LOG::write_transaction_to_binlog (this=this@entry=0x5638502b6d40 <mysql_bin_log>, thd=thd@entry=0x7fe21c0009a8, cache_mngr=cache_mngr@entry=0x7fe21c019e98, end_ev=end_ev@entry=0x7fe2848614f0, all=<optimized out>, using_stmt_cache=using_stmt_cache@entry=false, using_trx_cache=true) at /data/src/10.4/sql/log.cc:7418
#13 0x000056384f43e178 in binlog_flush_cache (thd=thd@entry=0x7fe21c0009a8, cache_mngr=cache_mngr@entry=0x7fe21c019e98, end_ev=end_ev@entry=0x7fe2848614f0, all=all@entry=false, using_stmt=using_stmt@entry=false, using_trx=using_trx@entry=true) at /data/src/10.4/sql/log.cc:1786
#14 0x000056384f43e48e in binlog_rollback_flush_trx_cache (thd=thd@entry=0x7fe21c0009a8, all=all@entry=false, cache_mngr=cache_mngr@entry=0x7fe21c019e98) at /data/src/10.4/sql/log.cc:1874
#15 0x000056384f43e751 in binlog_rollback (hton=<optimized out>, thd=0x7fe21c0009a8, all=<optimized out>) at /data/src/10.4/sql/log.cc:2139
#16 0x000056384f36c0b5 in ha_rollback_trans (thd=thd@entry=0x7fe21c0009a8, all=all@entry=false) at /data/src/10.4/sql/handler.cc:1886
#17 0x000056384f36c7f9 in ha_commit_trans (thd=thd@entry=0x7fe21c0009a8, all=all@entry=false) at /data/src/10.4/sql/handler.cc:1690
#18 0x000056384f25e3eb in trans_commit_stmt (thd=thd@entry=0x7fe21c0009a8) at /data/src/10.4/sql/transaction.cc:436
#19 0x000056384f149d97 in select_create::send_eof (this=0x7fe21c0128d8) at /data/src/10.4/sql/sql_insert.cc:4772
#20 0x000056384f1cdf3e in JOIN::exec_inner (this=this@entry=0x7fe21c0129d0) at /data/src/10.4/sql/sql_select.cc:4338
#21 0x000056384f1ce414 in JOIN::exec (this=this@entry=0x7fe21c0129d0) at /data/src/10.4/sql/sql_select.cc:4241
#22 0x000056384f1cc860 in mysql_select (thd=thd@entry=0x7fe21c0009a8, tables=0x0, wild_num=0, fields=..., conds=<optimized out>, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2416184064, result=0x7fe21c0128d8, unit=0x7fe21c02a4f0, select_lex=0x7fe21c02c778) at /data/src/10.4/sql/sql_select.cc:4673
#23 0x000056384f1cd1ee in handle_select (thd=thd@entry=0x7fe21c0009a8, lex=lex@entry=0x7fe21c02a430, result=result@entry=0x7fe21c0128d8, setup_tables_done_option=setup_tables_done_option@entry=0) at /data/src/10.4/sql/sql_select.cc:422
#24 0x000056384f201f0d in Sql_cmd_create_table_like::execute (this=<optimized out>, thd=0x7fe21c0009a8) at /data/src/10.4/sql/sql_table.cc:11424
#25 0x000056384f176e70 in mysql_execute_command (thd=0x7fe21c0009a8) at /data/src/10.4/sql/sql_parse.cc:6101
#26 0x000056384f190327 in Prepared_statement::execute (this=this@entry=0x7fe21c01cbf8, expanded_query=expanded_query@entry=0x7fe2848644f0, open_cursor=open_cursor@entry=false) at /data/src/10.4/sql/sql_prepare.cc:4760
#27 0x000056384f190430 in Prepared_statement::execute_loop (this=0x7fe21c01cbf8, expanded_query=0x7fe2848644f0, open_cursor=<optimized out>, packet=<optimized out>, packet_end=<optimized out>) at /data/src/10.4/sql/sql_prepare.cc:4246
#28 0x000056384f1908da in Prepared_statement::execute_immediate (this=this@entry=0x7fe21c01cbf8, query=<optimized out>, query_len=<optimized out>) at /data/src/10.4/sql/sql_prepare.cc:4884
#29 0x000056384f190ac0 in mysql_sql_stmt_execute_immediate (thd=thd@entry=0x7fe21c0009a8) at /data/src/10.4/sql/sql_prepare.cc:2921
#30 0x000056384f1770a0 in mysql_execute_command (thd=thd@entry=0x7fe21c0009a8) at /data/src/10.4/sql/sql_parse.cc:3904
#31 0x000056384f17d969 in mysql_parse (thd=thd@entry=0x7fe21c0009a8, rawbuf=rawbuf@entry=0x7fe21c011e70 "EXECUTE IMMEDIATE 'CREATE OR REPLACE TABLE t1 ENGINE=InnoDB AS SELECT 1 AS b'", length=length@entry=77, parser_state=parser_state@entry=0x7fe2848665b0, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /data/src/10.4/sql/sql_parse.cc:7900
#32 0x000056384f17e183 in wsrep_mysql_parse (thd=thd@entry=0x7fe21c0009a8, rawbuf=0x7fe21c011e70 "EXECUTE IMMEDIATE 'CREATE OR REPLACE TABLE t1 ENGINE=InnoDB AS SELECT 1 AS b'", length=77, parser_state=parser_state@entry=0x7fe2848665b0, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /data/src/10.4/sql/sql_parse.cc:7704
#33 0x000056384f180a76 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x7fe21c0009a8, packet=packet@entry=0x7fe21c007aa9 "EXECUTE IMMEDIATE 'CREATE OR REPLACE TABLE t1 ENGINE=InnoDB AS SELECT 1 AS b'", packet_length=packet_length@entry=77, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /data/src/10.4/sql/sql_parse.cc:1827
#34 0x000056384f1812d1 in do_command (thd=0x7fe21c0009a8) at /data/src/10.4/sql/sql_parse.cc:1360
#35 0x000056384f250b94 in do_handle_one_connection (connect=connect@entry=0x5638513d3b48) at /data/src/10.4/sql/sql_connect.cc:1412
#36 0x000056384f250c44 in handle_one_connection (arg=arg@entry=0x5638513d3b48) at /data/src/10.4/sql/sql_connect.cc:1316
#37 0x000056384f7f35f4 in pfs_spawn_thread (arg=0x563851417c48) at /data/src/10.4/storage/perfschema/pfs.cc:1869
#38 0x00007fe29cd264a4 in start_thread (arg=0x7fe284867700) at pthread_create.c:456
#39 0x00007fe29ae5ad0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

10.4 ea7830ee debug

mysqld: /data/src/10.4/wsrep-lib/src/transaction.cpp:278: int wsrep::transaction::before_prepare(wsrep::unique_lock<wsrep::mutex>&): Assertion `state() == s_executing || state() == s_must_abort || state() == s_replaying' failed.
200523 17:52:41 [ERROR] mysqld got signal 6 ;
 
#7  0x00007f844478bf12 in __GI___assert_fail (assertion=0x5640ad50e078 "state() == s_executing || state() == s_must_abort || state() == s_replaying", file=0x5640ad50de30 "/data/src/10.4/wsrep-lib/src/transaction.cpp", line=278, function=0x5640ad50f760 <wsrep::transaction::before_prepare(wsrep::unique_lock<wsrep::mutex>&)::__PRETTY_FUNCTION__> "int wsrep::transaction::before_prepare(wsrep::unique_lock<wsrep::mutex>&)") at assert.c:101
#8  0x00005640acf97212 in wsrep::transaction::before_prepare (this=0x7f83c8006cf0, lock=...) at /data/src/10.4/wsrep-lib/src/transaction.cpp:277
#9  0x00005640ac6626d6 in wsrep::client_state::before_prepare (this=0x7f83c8006c88) at /data/src/10.4/wsrep-lib/include/wsrep/client_state.hpp:457
#10 0x00005640ac648d85 in wsrep_before_prepare (thd=0x7f83c8000af0, all=false) at /data/src/10.4/sql/wsrep_trans_observer.h:230
#11 0x00005640ac64be78 in prepare_or_error (ht=0x5640aec64090, thd=0x7f83c8000af0, all=false) at /data/src/10.4/sql/handler.cc:1242
#12 0x00005640ac64ccde in ha_commit_trans (thd=0x7f83c8000af0, all=false) at /data/src/10.4/sql/handler.cc:1593
#13 0x00005640ac48ddb7 in trans_commit_stmt (thd=0x7f83c8000af0) at /data/src/10.4/sql/transaction.cc:436
#14 0x00005640ac2b4f9d in select_create::send_eof (this=0x7f83c8015ea0) at /data/src/10.4/sql/sql_insert.cc:4772
#15 0x00005640ac34704e in JOIN::exec_inner (this=0x7f83c8015f98) at /data/src/10.4/sql/sql_select.cc:4338
#16 0x00005640ac34681e in JOIN::exec (this=0x7f83c8015f98) at /data/src/10.4/sql/sql_select.cc:4241
#17 0x00005640ac347f33 in mysql_select (thd=0x7f83c8000af0, tables=0x0, wild_num=0, fields=..., conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2416184064, result=0x7f83c8015ea0, unit=0x7f83c802efb8, select_lex=0x7f83c8031240) at /data/src/10.4/sql/sql_select.cc:4673
#18 0x00005640ac337a70 in handle_select (thd=0x7f83c8000af0, lex=0x7f83c802eef8, result=0x7f83c8015ea0, setup_tables_done_option=0) at /data/src/10.4/sql/sql_select.cc:422
#19 0x00005640ac3eaaf2 in Sql_cmd_create_table_like::execute (this=0x7f83c8030b10, thd=0x7f83c8000af0) at /data/src/10.4/sql/sql_table.cc:11424
#20 0x00005640ac2fd084 in mysql_execute_command (thd=0x7f83c8000af0) at /data/src/10.4/sql/sql_parse.cc:6101
#21 0x00005640ac32203e in Prepared_statement::execute (this=0x7f83c8023400, expanded_query=0x7f842e2558e0, open_cursor=false) at /data/src/10.4/sql/sql_prepare.cc:4760
#22 0x00005640ac3204a0 in Prepared_statement::execute_loop (this=0x7f83c8023400, expanded_query=0x7f842e2558e0, open_cursor=false, packet=0x0, packet_end=0x0) at /data/src/10.4/sql/sql_prepare.cc:4246
#23 0x00005640ac322628 in Prepared_statement::execute_immediate (this=0x7f83c8023400, query=0x7f83c8015538 "CREATE OR REPLACE TABLE t1 ENGINE=InnoDB AS SELECT 1 AS b", query_len=57) at /data/src/10.4/sql/sql_prepare.cc:4884
#24 0x00005640ac31cc86 in mysql_sql_stmt_execute_immediate (thd=0x7f83c8000af0) at /data/src/10.4/sql/sql_prepare.cc:2921
#25 0x00005640ac2f4c6c in mysql_execute_command (thd=0x7f83c8000af0) at /data/src/10.4/sql/sql_parse.cc:3904
#26 0x00005640ac302549 in mysql_parse (thd=0x7f83c8000af0, rawbuf=0x7f83c8015438 "EXECUTE IMMEDIATE 'CREATE OR REPLACE TABLE t1 ENGINE=InnoDB AS SELECT 1 AS b'", length=77, parser_state=0x7f842e256570, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:7900
#27 0x00005640ac301c49 in wsrep_mysql_parse (thd=0x7f83c8000af0, rawbuf=0x7f83c8015438 "EXECUTE IMMEDIATE 'CREATE OR REPLACE TABLE t1 ENGINE=InnoDB AS SELECT 1 AS b'", length=77, parser_state=0x7f842e256570, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:7704
#28 0x00005640ac2ee9f3 in dispatch_command (command=COM_QUERY, thd=0x7f83c8000af0, packet=0x7f83c80084a1 "EXECUTE IMMEDIATE 'CREATE OR REPLACE TABLE t1 ENGINE=InnoDB AS SELECT 1 AS b'", packet_length=77, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:1827
#29 0x00005640ac2ed29b in do_command (thd=0x7f83c8000af0) at /data/src/10.4/sql/sql_parse.cc:1360
#30 0x00005640ac474ee6 in do_handle_one_connection (connect=0x5640af0104c0) at /data/src/10.4/sql/sql_connect.cc:1412
#31 0x00005640ac474c35 in handle_one_connection (arg=0x5640af0104c0) at /data/src/10.4/sql/sql_connect.cc:1316
#32 0x00005640ace7231f in pfs_spawn_thread (arg=0x5640af02b490) at /data/src/10.4/storage/perfschema/pfs.cc:1869
#33 0x00007f84467144a4 in start_thread (arg=0x7f842e257700) at pthread_create.c:456
#34 0x00007f8444848d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Reproducible on 10.4, 10.5.
Not reproducible on 10.3.



 Comments   
Comment by Jan Lindström (Inactive) [ 2020-10-23 ]
  • Repeatable with 26.4.6
  • Test case attached

(gdb) where
#0  __pthread_kill (threadid=<optimized out>, signo=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:54
#1  0x0000565516414fd9 in my_write_core (sig=6) at /home/jan/mysql/10.4-bugs/mysys/stacktrace.c:386
#2  0x0000565515b6563c in handle_fatal_signal (sig=6) at /home/jan/mysql/10.4-bugs/sql/signal_handler.cc:343
#3  <signal handler called>
#4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
#5  0x00007f3487e40864 in __GI_abort () at abort.c:79
#6  0x00007f3487e40749 in __assert_fail_base (fmt=0x7f3487fcc458 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x5655169e7660 "state() == s_executing || state() == s_must_abort || state() == s_replaying", file=0x5655169e7288 "/home/jan/mysql/10.4-bugs/wsrep-lib/src/transaction.cpp", line=277, function=<optimized out>) at assert.c:92
#7  0x00007f3487e52a96 in __GI___assert_fail (assertion=0x5655169e7660 "state() == s_executing || state() == s_must_abort || state() == s_replaying", file=0x5655169e7288 "/home/jan/mysql/10.4-bugs/wsrep-lib/src/transaction.cpp", line=277, function=0x5655169e75f0 "int wsrep::transaction::before_prepare(wsrep::unique_lock<wsrep::mutex>&)") at assert.c:101
#8  0x000056551649e4a0 in wsrep::transaction::before_prepare (this=0x7f3410006fa0, lock=...) at /home/jan/mysql/10.4-bugs/wsrep-lib/src/transaction.cpp:277
#9  0x0000565515b813bc in wsrep::client_state::before_prepare (this=0x7f3410006f38) at /home/jan/mysql/10.4-bugs/wsrep-lib/include/wsrep/client_state.hpp:457
#10 0x0000565515b66d37 in wsrep_before_prepare (thd=0x7f3410000d90, all=false) at /home/jan/mysql/10.4-bugs/sql/wsrep_trans_observer.h:232
#11 0x0000565515b6a050 in prepare_or_error (ht=0x565517e46050, thd=0x7f3410000d90, all=false) at /home/jan/mysql/10.4-bugs/sql/handler.cc:1259
#12 0x0000565515b6af0f in ha_commit_trans (thd=0x7f3410000d90, all=false) at /home/jan/mysql/10.4-bugs/sql/handler.cc:1615
#13 0x000056551599f7fa in trans_commit_stmt (thd=0x7f3410000d90) at /home/jan/mysql/10.4-bugs/sql/transaction.cc:436
#14 0x00005655157be61f in select_create::send_eof (this=0x7f3410013fb0) at /home/jan/mysql/10.4-bugs/sql/sql_insert.cc:4775
#15 0x0000565515852d31 in JOIN::exec_inner (this=0x7f34100140a8) at /home/jan/mysql/10.4-bugs/sql/sql_select.cc:4361
#16 0x00005655158524f6 in JOIN::exec (this=0x7f34100140a8) at /home/jan/mysql/10.4-bugs/sql/sql_select.cc:4264
#17 0x0000565515853c47 in mysql_select (thd=0x7f3410000d90, tables=0x0, wild_num=0, fields=..., conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2416184064, result=0x7f3410013fb0, unit=0x7f341016b438, select_lex=0x7f341016d6c0) at /home/jan/mysql/10.4-bugs/sql/sql_select.cc:4699
#18 0x000056551584362a in handle_select (thd=0x7f3410000d90, lex=0x7f341016b378, result=0x7f3410013fb0, setup_tables_done_option=0) at /home/jan/mysql/10.4-bugs/sql/sql_select.cc:410
#19 0x00005655158fa38b in Sql_cmd_create_table_like::execute (this=0x7f341016cf90, thd=0x7f3410000d90) at /home/jan/mysql/10.4-bugs/sql/sql_table.cc:11461
#20 0x0000565515807a4a in mysql_execute_command (thd=0x7f3410000d90) at /home/jan/mysql/10.4-bugs/sql/sql_parse.cc:6106
#21 0x000056551582d6bc in Prepared_statement::execute (this=0x7f341013c1a0, expanded_query=0x7f34789d37a0, open_cursor=false) at /home/jan/mysql/10.4-bugs/sql/sql_prepare.cc:4765
#22 0x000056551582bad1 in Prepared_statement::execute_loop (this=0x7f341013c1a0, expanded_query=0x7f34789d37a0, open_cursor=false, packet=0x0, packet_end=0x0) at /home/jan/mysql/10.4-bugs/sql/sql_prepare.cc:4251
#23 0x000056551582dcb4 in Prepared_statement::execute_immediate (this=0x7f341013c1a0, query=0x7f3410013648 "CREATE OR REPLACE TABLE t1 ENGINE=InnoDB AS SELECT 1 AS b", query_len=57) at /home/jan/mysql/10.4-bugs/sql/sql_prepare.cc:4889
#24 0x00005655158281d0 in mysql_sql_stmt_execute_immediate (thd=0x7f3410000d90) at /home/jan/mysql/10.4-bugs/sql/sql_prepare.cc:2923
#25 0x00005655157ff663 in mysql_execute_command (thd=0x7f3410000d90) at /home/jan/mysql/10.4-bugs/sql/sql_parse.cc:3899
#26 0x000056551580cfe0 in mysql_parse (thd=0x7f3410000d90, rawbuf=0x7f3410013548 "EXECUTE IMMEDIATE 'CREATE OR REPLACE TABLE t1 ENGINE=InnoDB AS SELECT 1 AS b'", length=77, parser_state=0x7f34789d4430, is_com_multi=false, is_next_command=false) at /home/jan/mysql/10.4-bugs/sql/sql_parse.cc:7904
#27 0x000056551580c6d2 in wsrep_mysql_parse (thd=0x7f3410000d90, rawbuf=0x7f3410013548 "EXECUTE IMMEDIATE 'CREATE OR REPLACE TABLE t1 ENGINE=InnoDB AS SELECT 1 AS b'", length=77, parser_state=0x7f34789d4430, is_com_multi=false, is_next_command=false) at /home/jan/mysql/10.4-bugs/sql/sql_parse.cc:7708
#28 0x00005655157f9401 in dispatch_command (command=COM_QUERY, thd=0x7f3410000d90, packet=0x7f3410028361 "EXECUTE IMMEDIATE 'CREATE OR REPLACE TABLE t1 ENGINE=InnoDB AS SELECT 1 AS b'", packet_length=77, is_com_multi=false, is_next_command=false) at /home/jan/mysql/10.4-bugs/sql/sql_parse.cc:1824
#29 0x00005655157f7d74 in do_command (thd=0x7f3410000d90) at /home/jan/mysql/10.4-bugs/sql/sql_parse.cc:1356
#30 0x000056551598618a in do_handle_one_connection (connect=0x5655181cf8e0) at /home/jan/mysql/10.4-bugs/sql/sql_connect.cc:1412
#31 0x0000565515985ed6 in handle_one_connection (arg=0x5655181cf8e0) at /home/jan/mysql/10.4-bugs/sql/sql_connect.cc:1316
#32 0x00005655163a0ca9 in pfs_spawn_thread (arg=0x5655182103d0) at /home/jan/mysql/10.4-bugs/storage/perfschema/pfs.cc:1869
#33 0x00007f3488785590 in start_thread (arg=0x7f34789d5640) at pthread_create.c:463
#34 0x00007f3487f33223 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) up
#9  0x0000565515b813bc in wsrep::client_state::before_prepare (this=0x7f3410006f38) at /home/jan/mysql/10.4-bugs/wsrep-lib/include/wsrep/client_state.hpp:457
(gdb) down
#8  0x000056551649e4a0 in wsrep::transaction::before_prepare (this=0x7f3410006fa0, lock=...) at /home/jan/mysql/10.4-bugs/wsrep-lib/src/transaction.cpp:277
(gdb) p state_
$2 = wsrep::transaction::s_aborted

Comment by Jan Lindström (Inactive) [ 2020-10-23 ]
  • Same test case using MariaDB 10.4 with release build and Galera library 26.4.6 debug build (to get better stack)

(gdb) where
#0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:54
#1  0x000055f3eef697ee in my_write_core (sig=sig@entry=6) at /home/jan/mysql/10.4-bugs/mysys/stacktrace.c:386
#2  0x000055f3eeae7d48 in handle_fatal_signal (sig=6) at /home/jan/mysql/10.4-bugs/sql/signal_handler.cc:343
#3  <signal handler called>
#4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
#5  0x00007f0588665864 in __GI_abort () at abort.c:79
#6  0x00007f0588665749 in __assert_fail_base (fmt=0x7f05887f1458 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7f0583735150 "trx.ts() && trx.ts()->global_seqno() > 0", file=0x7f058373450d "galera/src/wsrep_provider.cpp", line=783, function=<optimized out>) at assert.c:92
#7  0x00007f0588677a96 in __GI___assert_fail (assertion=0x7f0583735150 "trx.ts() && trx.ts()->global_seqno() > 0", file=0x7f058373450d "galera/src/wsrep_provider.cpp", line=783, function=0x7f0583735090 "wsrep_status_t galera_commit_order_leave(wsrep_t*, const wsrep_ws_handle_t*, const wsrep_trx_meta_t*, const wsrep_buf_t*)") at assert.c:101
#8  0x00007f05836de92d in galera_commit_order_leave (gh=0x55f3f11407c0, ws_handle=0x7f05799b7d38, meta=0x7f05799b7d50, error=0x7f05799b7d20) at galera/src/wsrep_provider.cpp:783
#9  0x000055f3eefd1be2 in wsrep::wsrep_provider_v26::commit_order_leave (this=<optimized out>, ws_handle=..., ws_meta=..., err=...) at /home/jan/mysql/10.4-bugs/wsrep-lib/src/wsrep_provider_v26.cpp:271
#10 0x000055f3eefcb2d8 in wsrep::transaction::ordered_commit (this=this@entry=0x7f051c006c18) at /home/jan/mysql/10.4-bugs/wsrep-lib/include/wsrep/server_state.hpp:308
#11 0x000055f3eebda2c1 in wsrep::client_state::ordered_commit (this=<optimized out>) at /home/jan/mysql/10.4-bugs/wsrep-lib/include/wsrep/client_state.hpp:479
#12 wsrep_ordered_commit (all=<optimized out>, thd=<optimized out>) at /home/jan/mysql/10.4-bugs/sql/wsrep_trans_observer.h:302
#13 MYSQL_BIN_LOG::write_transaction_to_binlog_events (this=this@entry=0x55f3ef7b7ee0 <mysql_bin_log>, entry=entry@entry=0x7f05799b7e20) at /home/jan/mysql/10.4-bugs/sql/log.cc:7798
#14 0x000055f3eebda8cc in MYSQL_BIN_LOG::write_transaction_to_binlog (this=0x55f3ef7b7ee0 <mysql_bin_log>, thd=<optimized out>, cache_mngr=<optimized out>, end_ev=<optimized out>, all=<optimized out>, using_stmt_cache=<optimized out>, using_trx_cache=true) at /home/jan/mysql/10.4-bugs/sql/log.cc:7438
#15 0x000055f3eebda98d in binlog_flush_cache (thd=thd@entry=0x7f051c000c48, cache_mngr=cache_mngr@entry=0x7f051c188798, end_ev=end_ev@entry=0x7f05799b7f60, all=all@entry=false, using_stmt=using_stmt@entry=false, using_trx=using_trx@entry=true) at /home/jan/mysql/10.4-bugs/sql/log.cc:1788
#16 0x000055f3eebdb05f in binlog_rollback_flush_trx_cache (thd=0x7f051c000c48, all=<optimized out>, cache_mngr=0x7f051c188798) at /home/jan/mysql/10.4-bugs/sql/log.cc:1876
#17 0x000055f3eebdb2e6 in binlog_rollback (hton=<optimized out>, thd=0x7f051c000c48, all=<optimized out>) at /home/jan/mysql/10.4-bugs/sql/log.cc:2141
#18 0x000055f3eeaeaf97 in ha_rollback_trans (thd=thd@entry=0x7f051c000c48, all=all@entry=false) at /home/jan/mysql/10.4-bugs/sql/handler.cc:1912
#19 0x000055f3eeaf64aa in ha_commit_trans (thd=thd@entry=0x7f051c000c48, all=all@entry=false) at /home/jan/mysql/10.4-bugs/sql/handler.cc:1712
#20 0x000055f3ee9e0590 in trans_commit_stmt (thd=thd@entry=0x7f051c000c48) at /home/jan/mysql/10.4-bugs/sql/transaction.cc:436
#21 0x000055f3ee8b67bc in select_create::send_eof (this=0x7f051c010b68) at /home/jan/mysql/10.4-bugs/sql/sql_insert.cc:4775
#22 0x000055f3ee94934e in JOIN::exec_inner (this=0x7f051c010c60) at /home/jan/mysql/10.4-bugs/sql/sql_select.cc:4361
#23 0x000055f3ee9497d8 in JOIN::exec (this=this@entry=0x7f051c010c60) at /home/jan/mysql/10.4-bugs/sql/sql_select.cc:4264
#24 0x000055f3ee947857 in mysql_select (thd=0x7f051c000c48, tables=0x0, wild_num=0, fields=..., conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2416184064, result=0x7f051c010b68, unit=0x7f051c088720, select_lex=0x7f051c08a9a8) at /home/jan/mysql/10.4-bugs/sql/sql_select.cc:4699
#25 0x000055f3ee9482f0 in handle_select (thd=thd@entry=0x7f051c000c48, lex=lex@entry=0x7f051c088660, result=result@entry=0x7f051c010b68, setup_tables_done_option=setup_tables_done_option@entry=0) at /home/jan/mysql/10.4-bugs/sql/sql_select.cc:410
#26 0x000055f3ee97ff28 in Sql_cmd_create_table_like::execute (this=<optimized out>, thd=0x7f051c000c48) at /home/jan/mysql/10.4-bugs/sql/sql_table.cc:11461
#27 0x000055f3ee8e54b7 in mysql_execute_command (thd=0x7f051c000c48) at /home/jan/mysql/10.4-bugs/sql/sql_parse.cc:6106
#28 0x000055f3ee8fee17 in Prepared_statement::execute (this=0x7f051c18f0f8, expanded_query=<optimized out>, open_cursor=false) at /home/jan/mysql/10.4-bugs/sql/sql_prepare.cc:4765
#29 0x000055f3ee8fef36 in Prepared_statement::execute_loop (packet=<optimized out>, packet_end=<optimized out>, open_cursor=<optimized out>, expanded_query=0x7f05799ba9c0, this=0x7f051c18f0f8) at /home/jan/mysql/10.4-bugs/sql/sql_prepare.cc:4251
#30 Prepared_statement::execute_loop (this=0x7f051c18f0f8, expanded_query=0x7f05799ba9c0, open_cursor=<optimized out>, packet=<optimized out>, packet_end=<optimized out>) at /home/jan/mysql/10.4-bugs/sql/sql_prepare.cc:4206
#31 0x000055f3ee8ff3b2 in Prepared_statement::execute_immediate (this=0x7f051c18f0f8, query=<optimized out>, query_len=<optimized out>) at /home/jan/mysql/10.4-bugs/sql/sql_prepare.cc:4889
#32 0x000055f3ee8ff595 in mysql_sql_stmt_execute_immediate (thd=thd@entry=0x7f051c000c48) at /home/jan/mysql/10.4-bugs/sql/sql_prepare.cc:2923
#33 0x000055f3ee8e7d9e in mysql_execute_command (thd=0x7f051c000c48) at /home/jan/mysql/10.4-bugs/sql/sql_parse.cc:3899
#34 0x000055f3ee8eb662 in mysql_parse (thd=thd@entry=0x7f051c000c48, rawbuf=rawbuf@entry=0x7f051c010100 "EXECUTE IMMEDIATE 'CREATE OR REPLACE TABLE t1 ENGINE=InnoDB AS SELECT 1 AS b'", length=length@entry=77, parser_state=parser_state@entry=0x7f05799bc480, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /home/jan/mysql/10.4-bugs/sql/sql_parse.cc:7904
#35 0x000055f3ee8ebf19 in wsrep_mysql_parse (thd=0x7f051c000c48, rawbuf=0x7f051c010100 "EXECUTE IMMEDIATE 'CREATE OR REPLACE TABLE t1 ENGINE=InnoDB AS SELECT 1 AS b'", length=77, parser_state=0x7f05799bc480, is_com_multi=false, is_next_command=false) at /home/jan/mysql/10.4-bugs/sql/sql_parse.cc:7708
#36 0x000055f3ee8eeb78 in dispatch_command (command=COM_QUERY, thd=0x7f051c000c48, packet=0x7f051c007d59 "EXECUTE IMMEDIATE 'CREATE OR REPLACE TABLE t1 ENGINE=InnoDB AS SELECT 1 AS b'", packet_length=<optimized out>, is_com_multi=<optimized out>, is_next_command=<optimized out>) at /home/jan/mysql/10.4-bugs/sql/sql_class.h:1169
#37 0x000055f3ee8ef123 in do_command (thd=0x7f051c000c48) at /home/jan/mysql/10.4-bugs/sql/sql_parse.cc:1356
#38 0x000055f3ee9d2bb4 in do_handle_one_connection (connect=connect@entry=0x55f3f157d558) at /home/jan/mysql/10.4-bugs/sql/sql_connect.cc:1412
#39 0x000055f3ee9d2d06 in handle_one_connection (arg=arg@entry=0x55f3f157d558) at /home/jan/mysql/10.4-bugs/sql/sql_connect.cc:1316
#40 0x000055f3eef26737 in pfs_spawn_thread (arg=0x55f3f1589698) at /home/jan/mysql/10.4-bugs/storage/perfschema/pfs.cc:1869
#41 0x00007f0588faa590 in start_thread (arg=0x7f05799bd640) at pthread_create.c:463
#42 0x00007f0588758223 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Comment by Claudio Nanni [ 2021-01-26 ]

Ok, Customer hit again the problem with right Galera libraries now.
They use XA.

Generated at Thu Feb 08 09:16:38 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.