[MDEV-31026] MDEV-25460 Split: Assertion `! is_set() || m_can_overwrite_status' failed in Diagnostics_area::set_error_status Created: 2023-04-08  Updated: 2023-11-28

Status: Confirmed
Project: MariaDB Server
Component/s: Binary Protocol
Affects Version/s: 10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 10.10, 10.11, 11.0, 11.1
Fix Version/s: 10.4, 10.5, 10.6, 10.11, 11.0

Type: Bug Priority: Major
Reporter: Roel Van de Paar Assignee: Rucha Deodhar
Resolution: Unresolved Votes: 0
Labels: None

Issue Links:
Issue split
split from MDEV-25460 Assertion `!is_set() || (m_status == ... Closed
Relates
relates to MDEV-31027 Assertion `!is_set() || (m_status == ... Open

 Description   

Split from MDEV-25460 (from this comment by Elena)

--source include/have_innodb.inc
CREATE TABLE t (c INT) ENGINE=InnoDB;
SET AUTOCOMMIT=0;
SET STATEMENT binlog_format=ROW FOR INSERT INTO t VALUES (1);

Leads to:

11.1.0 2b61ff8f2221745f0a96855a0feb0825c426f993 (Debug)

mariadbd: /test/11.1_dbg/sql/sql_error.cc:457: void Diagnostics_area::set_error_status(uint, const char*, const char*, const Sql_user_condition_identity&, const Sql_condition*): Assertion `! is_set() || m_can_overwrite_status' failed.

11.1.0 2b61ff8f2221745f0a96855a0feb0825c426f993 (Debug)

Core was generated by `/test/MD070423-mariadb-11.1.0-linux-x86_64-dbg/bin/mariadbd --no-defaults --cor'.
Program terminated with signal SIGABRT, Aborted.
#0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=22653697529408)
    at ./nptl/pthread_kill.c:44
[Current thread is 1 (Thread 0x149a79981640 (LWP 9068))]
(gdb) bt
#0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=22653697529408) at ./nptl/pthread_kill.c:44
#1  __pthread_kill_internal (signo=6, threadid=22653697529408) at ./nptl/pthread_kill.c:78
#2  __GI___pthread_kill (threadid=22653697529408, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3  0x0000149a96f3e476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4  0x0000149a96f247f3 in __GI_abort () at ./stdlib/abort.c:79
#5  0x0000149a96f2471b in __assert_fail_base (fmt=0x149a970d9150 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x5619d3559048 "! is_set() || m_can_overwrite_status", file=0x5619d3558db8 "/test/11.1_dbg/sql/sql_error.cc", line=457, function=<optimized out>) at ./assert/assert.c:92
#6  0x0000149a96f35e96 in __GI___assert_fail (assertion=0x5619d3559048 "! is_set() || m_can_overwrite_status", file=0x5619d3558db8 "/test/11.1_dbg/sql/sql_error.cc", line=457, function=0x5619d3558fc0 "void Diagnostics_area::set_error_status(uint, const char*, const char*, const Sql_user_condition_identity&, const Sql_condition*)") at ./assert/assert.c:101
#7  0x00005619d2a078d8 in Diagnostics_area::set_error_status (this=this@entry=0x149a30006b70, sql_errno=sql_errno@entry=1679, message=message@entry=0x149a7997fb30 "Cannot modify @@session.binlog_format inside a transaction", sqlstate=sqlstate@entry=0x5619d35755cc "HY000", ucid=@0x149a7997f920: {m_user_condition_value = 0x0}, error_condition=0x0) at /test/11.1_dbg/sql/sql_error.cc:457
#8  0x00005619d29e7986 in THD::raise_condition (this=this@entry=0x149a30000d58, cond=cond@entry=0x149a7997f910) at /test/11.1_dbg/sql/sql_class.cc:1118
#9  0x00005619d293a3a0 in THD::raise_condition (this=this@entry=0x149a30000d58, sql_errno=sql_errno@entry=1679, sqlstate=sqlstate@entry=0x5619d353da68 "", level=<optimized out>, msg=msg@entry=0x149a7997fb30 "Cannot modify @@session.binlog_format inside a transaction") at /test/11.1_dbg/sql/sql_class.h:4899
#10 0x00005619d292efb9 in my_message_sql (error=1679, str=0x149a7997fb30 "Cannot modify @@session.binlog_format inside a transaction", MyFlags=0) at /test/11.1_dbg/sql/mysqld.cc:3389
#11 0x00005619d339f41b in my_error (nr=1679, MyFlags=0) at /test/11.1_dbg/mysys/my_error.c:124
#12 0x00005619d2bc3137 in error_if_in_trans_or_substatement (thd=thd@entry=0x149a30000d58, in_substatement_error=in_substatement_error@entry=1560, in_transaction_error=in_transaction_error@entry=1679) at /test/11.1_dbg/sql/sys_vars.cc:586
#13 0x00005619d2bc526c in binlog_format_check (self=<optimized out>, thd=0x149a30000d58, var=0x149a3001bff8) at /test/11.1_dbg/sql/sys_vars.cc:668
#14 0x00005619d2977914 in sys_var::check (this=0x5619d3f56060 <Sys_binlog_format>, thd=thd@entry=0x149a30000d58, var=var@entry=0x149a3001bff8) at /test/11.1_dbg/sql/set_var.cc:246
#15 0x00005619d2978906 in set_var::check (this=0x149a3001bff8, thd=0x149a30000d58) at /test/11.1_dbg/sql/set_var.cc:810
#16 0x00005619d2978f34 in sql_set_variables (thd=0x149a30000d58, var_list=var_list@entry=0x149a30005f60, free=free@entry=false) at /test/11.1_dbg/sql/set_var.cc:738
#17 0x00005619d2a25463 in LEX::restore_set_statement_var (this=0x149a30004ec8) at /test/11.1_dbg/sql/sql_lex.cc:5913
#18 0x00005619d2a5b8b6 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x149a30000d58, packet=<optimized out>, packet@entry=0x149a3000ae49 "", packet_length=packet_length@entry=60, blocking=blocking@entry=true) at /test/11.1_dbg/sql/sql_parse.cc:2466
#19 0x00005619d2a5bef5 in do_command (thd=0x149a30000d58, blocking=blocking@entry=true) at /test/11.1_dbg/sql/sql_parse.cc:1405
#20 0x00005619d2badcfc in do_handle_one_connection (connect=<optimized out>, connect@entry=0x5619d51e10e8, put_in_cache=put_in_cache@entry=true) at /test/11.1_dbg/sql/sql_connect.cc:1416
#21 0x00005619d2badf5b in handle_one_connection (arg=0x5619d51e10e8) at /test/11.1_dbg/sql/sql_connect.cc:1318
#22 0x0000149a96f90b43 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#23 0x0000149a97022a00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Bug confirmed present in:
MariaDB: 10.4.29 (dbg), 10.5.20 (dbg), 10.6.13 (dbg), 10.7.8 (dbg), 10.8.8 (dbg), 10.9.6 (dbg), 10.10.4 (dbg), 10.11.3 (dbg), 11.0.2 (dbg), 11.1.0 (dbg)

Bug (or feature/syntax) confirmed not present in:
MariaDB: 10.4.29 (opt), 10.5.20 (opt), 10.6.13 (opt), 10.7.8 (opt), 10.8.8 (opt), 10.9.6 (opt), 10.10.4 (opt), 10.11.3 (opt), 11.0.2 (opt), 11.1.0 (opt)
MySQL: 5.5.62 (dbg), 5.5.62 (opt), 5.6.51 (dbg), 5.6.51 (opt), 5.7.40 (dbg), 5.7.40 (opt), 8.0.31 (dbg), 8.0.31 (opt)


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