[MDEV-15216] Assertion `! is_set() || m_can_overwrite_status' failed in Diagnostics_area::set_error_status upon operation inside XA Created: 2018-02-05  Updated: 2018-05-08  Resolved: 2018-05-08

Status: Closed
Project: MariaDB Server
Component/s: Partitioning, XA
Affects Version/s: 10.0, 10.1, 10.2, 10.3
Fix Version/s: 10.0.36, 10.1.34, 10.2.15, 10.3.7

Type: Bug Priority: Critical
Reporter: Elena Stepanova Assignee: Sergei Golubchik
Resolution: Fixed Votes: 0
Labels: affects-tests

Sprint: 10.1.32

 Description   

--source include/have_partition.inc
 
SET GLOBAL my_cache.key_buffer_size = 1024*1024;
 
CREATE TABLE t1 (i INT) ENGINE=MyISAM PARTITION BY HASH (i) PARTITIONS 2;
XA START 'xid';
--error ER_XAER_RMFAIL
CACHE INDEX t1 PARTITION (non_existing_partition) IN my_cache;
 
# Cleanup
XA END 'xid';
XA ROLLBACK 'xid';
DROP TABLE t1;

10.0 0765caa073db

mysqld: /data/src/10.0/sql/sql_error.cc:474: void Diagnostics_area::set_error_status(uint, const char*, const char*, const Sql_condition*): Assertion `! is_set() || m_can_overwrite_status' failed.
180206  0:28:42 [ERROR] mysqld got signal 6 ;
 
#7  0x00007f02b3ac8ee2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
#8  0x00000000006289ff in Diagnostics_area::set_error_status (this=0x7f02adaa6d80, sql_errno=1399, message=0x7f02b5b930a0 "XAER_RMFAIL: The command cannot be executed when global transaction is in the  ACTIVE state", sqlstate=0xed9925 "XAE07", error_condition=0x0) at /data/src/10.0/sql/sql_error.cc:474
#9  0x000000000060fb04 in THD::raise_condition (this=0x7f02adaa2070, sql_errno=1399, sqlstate=0xed9925 "XAE07", level=Sql_condition::WARN_LEVEL_ERROR, msg=0x7f02b5b930a0 "XAER_RMFAIL: The command cannot be executed when global transaction is in the  ACTIVE state") at /data/src/10.0/sql/sql_class.cc:1263
#10 0x0000000000590896 in my_message_sql (error=1399, str=0x7f02b5b930a0 "XAER_RMFAIL: The command cannot be executed when global transaction is in the  ACTIVE state", MyFlags=0) at /data/src/10.0/sql/mysqld.cc:3394
#11 0x0000000000e19a53 in my_error (nr=1399, MyFlags=0) at /data/src/10.0/mysys/my_error.c:125
#12 0x000000000077c25f in trans_check (thd=0x7f02adaa2070) at /data/src/10.0/sql/transaction.cc:43
#13 0x000000000077ca35 in trans_rollback (thd=0x7f02adaa2070) at /data/src/10.0/sql/transaction.cc:303
#14 0x000000000077b468 in mysql_admin_table(THD *, TABLE_LIST *, HA_CHECK_OPT *, const char *, thr_lock_type, bool, bool, uint, int (*)(THD *, TABLE_LIST *, HA_CHECK_OPT *), struct {...}, int (*)(THD *, TABLE_LIST *, HA_CHECK_OPT *)) (thd=0x7f02adaa2070, tables=0x7f02ac0fa1f0, check_opt=0x7f02b5b93c00, operator_name=0xef51c5 "assign_to_keycache", lock_type=TL_READ_NO_INSERT, open_for_modify=false, repair_table_use_frm=false, extra_open_options=0, prepare_func=0x0, operator_func=&virtual table offset 528, view_operator_func=0x0) at /data/src/10.0/sql/sql_admin.cc:1101
#15 0x000000000077b6d0 in mysql_assign_to_keycache (thd=0x7f02adaa2070, tables=0x7f02ac0fa1f0, key_cache_name=0x7f02adaa6520) at /data/src/10.0/sql/sql_admin.cc:1151
#16 0x000000000064d7f5 in mysql_execute_command (thd=0x7f02adaa2070) at /data/src/10.0/sql/sql_parse.cc:2671
#17 0x0000000000657a3e in mysql_parse (thd=0x7f02adaa2070, rawbuf=0x7f02ac0fa088 "CACHE INDEX t1 PARTITION (non_existing_partition) IN my_cache", length=61, parser_state=0x7f02b5b94640) at /data/src/10.0/sql/sql_parse.cc:6569
#18 0x000000000064a57d in dispatch_command (command=COM_QUERY, thd=0x7f02adaa2070, packet=0x7f02aefe5071 "", packet_length=61) at /data/src/10.0/sql/sql_parse.cc:1296
#19 0x000000000064987d in do_command (thd=0x7f02adaa2070) at /data/src/10.0/sql/sql_parse.cc:999
#20 0x0000000000769a04 in do_handle_one_connection (thd_arg=0x7f02adaa2070) at /data/src/10.0/sql/sql_connect.cc:1377
#21 0x0000000000769776 in handle_one_connection (arg=0x7f02adaa2070) at /data/src/10.0/sql/sql_connect.cc:1292
#22 0x0000000000aca0fc in pfs_spawn_thread (arg=0x7f02ad9a2370) at /data/src/10.0/storage/perfschema/pfs.cc:1861
#23 0x00007f02b57cc494 in start_thread (arg=0x7f02b5b95700) at pthread_create.c:333
#24 0x00007f02b3b8593f in clone () from /lib/x86_64-linux-gnu/libc.so.6

Reproducible on 10.x. Not reproducible on MariaDB 5.5, MySQL 5.6, 5.7.
No visible problems on a non-debug build.


Generated at Thu Feb 08 08:19:33 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.