| Bug #40276 | Assertion trx_data->empty() in binlog_close_connection | ||
|---|---|---|---|
| Submitted: | 23 Oct 2008 10:31 | Modified: | 15 Dec 2008 21:58 |
| Reporter: | Philip Stoev | ||
| Status: | Can't repeat | ||
| Category: | Server: RBR | Severity: | S1 (Critical) |
| Version: | 5.1-rpl, 5.1-bzr | OS: | Any |
| Assigned to: | Mats Kindahl | Target Version: | 5.1+ |
| Triage: | Triaged: D1 (Critical) | ||
[23 Oct 2008 10:33]
Philip Stoev
YY file
Attachment: bug40276.yy (application/octet-stream, text), 514 bytes.
[23 Oct 2008 10:36]
Philip Stoev
To reproduce with the random query generator, please clone the mysql-test-extra-6.0 tree and then issue: $ cd mysql-test-extra-6.0/mysql-test/gentest $ perl runall.pl \ --basedir=/path/to/mysql-5.1 \ --grammar=bug40276.yy \ --rpl_mode=row \ --queries=2000 \ --threads=1
[23 Oct 2008 17:18]
Valeriy Kravchuk
Verified just as described with latest debug build of 5.1 main tree from bzr.
[30 Oct 2008 19:24]
Valeriy Kravchuk
With --rpl_mode=statement there is no assertion.
[15 Dec 2008 21:58]
Mats Kindahl
It is not possible to repeat the bug. This bug is probably fixed as one of the other bugs reported in this batch of bugs triggered by the random query generator.

Description: When executing a non-concurrent workload containing various transactional statements: START TRANSACTION | COMMIT | ROLLBACK | SAVEPOINT A | ROLLBACK TO SAVEPOINT A | RELEASE SAVEPOINT A | SET AUTOCOMMIT = ON | SET AUTOCOMMIT = OFF ; the server asserts as follows: #8 0x003df57e in __assert_fail () from /lib/libc.so.6 #9 0x08356a99 in binlog_close_connection (hton=0x92b6330, thd=0x97ecd58) at log.cc:1337 #10 0x083b9acc in closecon_handlerton (thd=0x97ecd58, plugin=0xb2a5028c, unused=0x0) at handler.cc:559 #11 0x08467dc6 in plugin_foreach_with_mask (thd=0x97ecd58, func=0x83b9a6b <closecon_handlerton>, type=1, state_mask=4294967287, arg=0x0) at sql_plugin.cc:1814 #12 0x083b619f in ha_close_connection (thd=0x97ecd58) at handler.cc:570 #13 0x08276b1b in ~THD (this=0x97ecd58) at sql_class.cc:892 #14 0x0828c2dd in unlink_thd (thd=0x97ecd58) at mysqld.cc:1803 #15 0x0828c34f in one_thread_per_connection_end (thd=0x97ecd58, put_in_cache=true) at mysqld.cc:1882 #16 0x08295238 in handle_one_connection (arg=0x97ecd58) at sql_connect.cc:1122 #17 0x0057d32f in start_thread () from /lib/libpthread.so.0 #18 0x0049a27e in clone () from /lib/libc.so.6 (gdb) frame 9 #9 0x08356a99 in binlog_close_connection (hton=0x92b6330, thd=0x97ecd58) at log.cc:1337 1337 DBUG_ASSERT(trx_data->empty()); How to repeat: A test case will be uploaded shortly.