[MDEV-21644] Assertion `thd->transaction.xid_state.is_explicit_XA()' failed in binlog_commit_flush_trx_cache Created: 2020-02-03  Updated: 2020-02-04  Resolved: 2020-02-03

Status: Closed
Project: MariaDB Server
Component/s: Replication
Affects Version/s: None
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Alice Sherepa Assignee: Andrei Elkin
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Relates
relates to MDEV-742 LP:803649 - Xa recovery failed on cli... Closed

 Description   

please run test with

--mysqld=--log-bin --mysqld=--general-log

:

--source include/have_innodb.inc
 
CREATE TABLE t1 (i int, KEY (i)) engine=innodb;
INSERT INTO t1 VALUES  (4);
 
UPDATE  t1 SET i = 1;
 
XA START 'x1';
UPDATE  t1 SET i = 1;
XA END 'x1';
 
XA COMMIT 'x1' ONE PHASE;

bb-10.5-mdev_742 ed773a9f1a848df4f8ba

#3  <signal handler called>
#4  0x00007f77e1985428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#5  0x00007f77e198702a in __GI_abort () at abort.c:89
#6  0x00007f77e197dbd7 in __assert_fail_base (fmt=<optimized out>, assertion=assertion@entry=0x563e85818a40 "thd->transaction.xid_state.is_explicit_XA()", file=file@entry=0x563e858182e8 "/10.5/sql/log.cc", line=line@entry=1883, function=function@entry=0x563e8581d7c0 <binlog_commit_flush_trx_cache(THD*, bool, binlog_cache_mngr*)::__PRETTY_FUNCTION__> "int binlog_commit_flush_trx_cache(THD*, bool, binlog_cache_mngr*)") at assert.c:92
#7  0x00007f77e197dc82 in __GI___assert_fail (assertion=0x563e85818a40 "thd->transaction.xid_state.is_explicit_XA()", file=0x563e858182e8 "/10.5/sql/log.cc", line=1883, function=0x563e8581d7c0 <binlog_commit_flush_trx_cache(THD*, bool, binlog_cache_mngr*)::__PRETTY_FUNCTION__> "int binlog_commit_flush_trx_cache(THD*, bool, binlog_cache_mngr*)") at assert.c:101
#8  0x0000563e84ce1de8 in binlog_commit_flush_trx_cache (thd=0x7f77a0000a98, all=true, cache_mngr=0x7f77a004f628) at /10.5/sql/log.cc:1883
#9  0x0000563e84ce2f89 in binlog_commit (hton=0x563e87717748, thd=0x7f77a0000a98, all=true) at /10.5/sql/log.cc:2220
#10 0x0000563e84bb3bb5 in commit_one_phase_2 (thd=0x7f77a0000a98, all=true, trans=0x7f77a0004058, is_real_trans=true) at /10.5/sql/handler.cc:1800
#11 0x0000563e84bb3ab1 in ha_commit_one_phase (thd=0x7f77a0000a98, all=true) at /10.5/sql/handler.cc:1780
#12 0x0000563e84bb2d4d in ha_commit_trans (thd=0x7f77a0000a98, all=true) at /10.5/sql/handler.cc:1586
#13 0x0000563e84ae99ce in trans_xa_commit (thd=0x7f77a0000a98) at /10.5/sql/xa.cc:510
#14 0x0000563e8485e775 in mysql_execute_command (thd=0x7f77a0000a98) at /10.5/sql/sql_parse.cc:5821
#15 0x0000563e8486546a in mysql_parse (thd=0x7f77a0000a98, rawbuf=0x7f77a00b77a0 "XA COMMIT 'x1' ONE PHASE", length=24, parser_state=0x7f77d5eb73e0, is_com_multi=false, is_next_command=false) at /10.5/sql/sql_parse.cc:7991
#16 0x0000563e8485039e in dispatch_command (command=COM_QUERY, thd=0x7f77a0000a98, packet=0x7f77a00d3639 "XA COMMIT 'x1' ONE PHASE", packet_length=24, is_com_multi=false, is_next_command=false) at /10.5/sql/sql_parse.cc:1846
#17 0x0000563e8484eacc in do_command (thd=0x7f77a0000a98) at /10.5/sql/sql_parse.cc:1364
#18 0x0000563e849f6844 in do_handle_one_connection (connect=0x563e87b51eb8, put_in_cache=true) at /10.5/sql/sql_connect.cc:1422
#19 0x0000563e849f6548 in handle_one_connection (arg=0x563e87b3b858) at /10.5/sql/sql_connect.cc:1319
#20 0x0000563e84f80ecd in pfs_spawn_thread (arg=0x563e87ace848) at /10.5/storage/perfschema/pfs.cc:1862
#21 0x00007f77e27c66ba in start_thread (arg=0x7f77d5eb8700) at pthread_create.c:333
#22 0x00007f77e1a5741d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109



 Comments   
Comment by Andrei Elkin [ 2020-02-03 ]

Fixed by 199ab457f4d pushed to bb-10.5-mdev_742.

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