Details
Description
https://buildbot.askmonty.org/buildbot/builders/kvm-rpm-centos74-amd64-debug/builds/8853
10.6 4179f93d28035ea2798cb1c16feeaaef |
binlog.binlog_truncate_multi_engine 'innodb,row' w4 [ fail ]
|
Test ended at 2022-06-06 16:16:56
|
|
CURRENT_TEST: binlog.binlog_truncate_multi_engine
|
mysqltest: In included file "/usr/share/mysql-test/suite/binlog/t/binlog_truncate_multi_engine.inc":
|
included from /usr/share/mysql-test/suite/binlog/t/binlog_truncate_multi_engine.test at line 47:
|
At line 42: query 'if (`SELECT $case = "B"`)
|
{' failed: <Unknown> (2013): Lost connection to server during query
|
|
The result from queries just before the failure was:
|
< snip >
|
#
|
# Case "B" : "one engine has committed its transaction branch"
|
#
|
RESET MASTER;
|
FLUSH LOGS;
|
SET GLOBAL max_binlog_size= 4096;
|
connect con1,localhost,root,,;
|
List of binary logs before rotation
|
show binary logs;
|
Log_name File_size
|
master-bin.000001 #
|
master-bin.000002 #
|
INSERT INTO t1 VALUES (1, REPEAT("x", 1));
|
INSERT INTO t2 VALUES (1, REPEAT("x", 1));
|
SET GLOBAL debug_dbug="d,enable_log_write_upto_crash";
|
BEGIN;
|
INSERT INTO t2 VALUES (2, REPEAT("x", 4100));
|
INSERT INTO t1 VALUES (2, REPEAT("x", 4100));
|
COMMIT;
|
connection default;
|
Has happened a few times, always on kvm-rpm-centos74-amd64-debug.
Binlog does
void
MYSQL_BIN_LOG::trx_group_commit_leader(group_commit_entry *leader)
{
...
mysql_mutex_lock(¤t->thd->LOCK_thd_data);
run_commit_ordered(current->thd, current->all);
mysql_mutex_unlock(¤t->thd->LOCK_thd_data);
Then in run_commit_ordered()
void
{
}
}
When the server is being shut down it runs
{
(shutdown_wait_for_slaves &&
...
which does
bool THD::is_binlog_dump_thread()
{
mysql_mutex_lock(&LOCK_thd_data);
but this mutex is already taken by the group commit leader, which is forever waiting on the "commit_after_run_commit_ordered" sync point. mysqltest gives up waiting for the server to shut down and kills it with SIGABRT.