[MDEV-25668] Assertion `!thd->in_active_multi_stmt_transaction() || thd->in_multi_stmt_transaction_mode()' failed in int mysql_execute_command(THD*) Created: 2021-05-13  Updated: 2023-04-11  Resolved: 2023-04-11

Status: Closed
Project: MariaDB Server
Component/s: Galera
Affects Version/s: 10.4, 10.5, 10.6
Fix Version/s: N/A

Type: Bug Priority: Minor
Reporter: Ramesh Sivaraman Assignee: Jan Lindström (Inactive)
Resolution: Won't Fix Votes: 1
Labels: not-10.2, not-10.3


 Description   

SET GLOBAL debug_dbug='d,injecting_fault_writing';
CREATE TABLE t AS SELECT 1;

Leads to:

10.6.1 370b310b1d67ad42df96b75c3876fdcf67a8694f (Debug)

mysqld: /test/10.6_dbg/sql/sql_parse.cc:6012: int mysql_execute_command(THD*): Assertion `!thd->in_active_multi_stmt_transaction() || thd->in_multi_stmt_transaction_mode()' failed.

10.6.1 370b310b1d67ad42df96b75c3876fdcf67a8694f (Debug)

Core was generated by `/test/GAL_MD120521-mariadb-10.6.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 0x14cb208c0700 (LWP 905645))]
(gdb) bt
#0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
#1  0x00005618a1fea1f1 in my_write_core (sig=sig@entry=6) at /test/10.6_dbg/mysys/stacktrace.c:424
#2  0x00005618a1782d3e in handle_fatal_signal (sig=6) at /test/10.6_dbg/sql/signal_handler.cc:343
#3  <signal handler called>
#4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#5  0x000014cb32ae6859 in __GI_abort () at abort.c:79
#6  0x000014cb32ae6729 in __assert_fail_base (fmt=0x14cb32c7c588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x5618a215f910 "!thd->in_active_multi_stmt_transaction() || thd->in_multi_stmt_transaction_mode()", file=0x5618a215b618 "/test/10.6_dbg/sql/sql_parse.cc", line=6012, function=<optimized out>) at assert.c:92
#7  0x000014cb32af7f36 in __GI___assert_fail (assertion=assertion@entry=0x5618a215f910 "!thd->in_active_multi_stmt_transaction() || thd->in_multi_stmt_transaction_mode()", file=file@entry=0x5618a215b618 "/test/10.6_dbg/sql/sql_parse.cc", line=line@entry=6012, function=function@entry=0x5618a215f0f0 "int mysql_execute_command(THD*)") at assert.c:101
#8  0x00005618a14bfe41 in mysql_execute_command (thd=thd@entry=0x14cab4000db8) at /test/10.6_dbg/sql/sql_class.h:3970
#9  0x00005618a14a5a81 in mysql_parse (thd=thd@entry=0x14cab4000db8, rawbuf=rawbuf@entry=0x14cab4013fe0 "CREATE TABLE t AS SELECT 1", length=length@entry=26, parser_state=parser_state@entry=0x14cb208bf410) at /test/10.6_dbg/sql/sql_parse.cc:8018
#10 0x00005618a14a541a in wsrep_mysql_parse (thd=thd@entry=0x14cab4000db8, rawbuf=0x14cab4013fe0 "CREATE TABLE t AS SELECT 1", length=26, parser_state=parser_state@entry=0x14cb208bf410) at /test/10.6_dbg/sql/sql_parse.cc:7832
#11 0x00005618a14b4994 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14cab4000db8, packet=packet@entry=0x14cab400b799 "CREATE TABLE t AS SELECT 1", packet_length=packet_length@entry=26, blocking=blocking@entry=true) at /test/10.6_dbg/sql/sql_class.h:1333
#12 0x00005618a14b7d79 in do_command (thd=0x14cab4000db8, blocking=blocking@entry=true) at /test/10.6_dbg/sql/sql_parse.cc:1406
#13 0x00005618a1613de7 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x5618a3c7fa18, put_in_cache=put_in_cache@entry=true) at /test/10.6_dbg/sql/sql_connect.cc:1410
#14 0x00005618a16143ef in handle_one_connection (arg=arg@entry=0x5618a3c7fa18) at /test/10.6_dbg/sql/sql_connect.cc:1312
#15 0x00005618a1ac9bc1 in pfs_spawn_thread (arg=0x5618a3cfc138) at /test/10.6_dbg/storage/perfschema/pfs.cc:2201
#16 0x000014cb32ff4609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#17 0x000014cb32be3293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Bug confirmed present in:
MariaDB: 10.4.20 (dbg), 10.5.11 (dbg), 10.6.1 (dbg)

Bug (or feature/syntax) confirmed not present in:
MariaDB: 10.2.39 (dbg), 10.3.30 (dbg)



 Comments   
Comment by Jan Lindström (Inactive) [ 2022-01-05 ]

julien.fritsch Because this requires debug-build and intentional fault injection.

Comment by Jan Lindström [ 2023-04-11 ]

You intentionally introduce a error on server, there is no good way to continue from this situation.

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