Bug #39710 | Maria assertion in maria_disable_non_unique_index | ||
---|---|---|---|
Submitted: | 28 Sep 2008 11:34 | Modified: | 8 Jan 2009 11:05 |
Reporter: | Philip Stoev | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Maria storage engine | Severity: | S1 (Critical) |
Version: | 5.1-maria, 6.0-maria | OS: | Any |
Assigned to: | Guilhem Bichot | CPU Architecture: | Any |
[28 Sep 2008 11:34]
Philip Stoev
[28 Sep 2008 12:23]
Philip Stoev
Test case for bug 39710
Attachment: bug39710.zip (application/x-zip-compressed, text), 7.81 KiB.
[28 Sep 2008 12:28]
Philip Stoev
To reproduce, please unpack the zip and place the .txt files in mysql-test and the .test files in mysql-test/t Then run: $ engine_type=Maria perl mysql-test-run.pl \ --stress \ --stress-init-file=rpl_RBR_init.txt \ --stress-test-file=rpl_sys_test.txt \ --stress-test-duration=3600 A non-concurrent scenario does not exhibit this assertion. Once this bug has been fixed, you may wish to run this test for a full 1 hour in order to check for other transient bugs that have been observed with this workload.
[29 Sep 2008 12:51]
Philip Stoev
This problem appears to occur when Maria decides to temporarily disable an index in order to facilitate a bulk insert. A test that specifically targets bulk inserts is available from Random Query Generator. To run: 1. clone the mysql-test-extra-6.0 tree 2. cd mysql-test/gentest $ perl runall.pl \ --basedir=/path/to/mysql-6.0-maria --engine=Maria --grammar=conf/maria_bulk_insert.yy --queries=100000 --duration=1200
[1 Oct 2008 1:17]
MySQL Verification Team
Thank you for the bug report. Verified as described: mysqld: ma_check.c:6181: maria_disable_non_unique_index: Assertion `share->state.state.records == 0 && (!rows || rows >= 100)' failed. /home/miguel/bzr/mysql-6.0-maria-build/sql/mysqld(my_print_stacktrace+0x32)[0xd5df38] /home/miguel/bzr/mysql-6.0-maria-build/sql/mysqld(handle_segfault+0x30e)[0x705ee0] /lib64/libpthread.so.0[0x315bc0e540] /lib64/libc.so.6(gsignal+0x35)[0x315b030ec5] /lib64/libc.so.6(abort+0x110)[0x315b032970] /lib64/libc.so.6(__assert_fail+0xef)[0x315b02a11f] /home/miguel/bzr/mysql-6.0-maria-build/sql/mysqld(maria_disable_non_unique_index+0x5e)[0xc48da7]
[2 Oct 2008 13:14]
Guilhem Bichot
Christoffer I can maybe help you if you have questions on the code.
[16 Oct 2008 11:46]
Guilhem Bichot
Christoffer still on NDB stuff, I take the bug.
[16 Oct 2008 20:15]
Guilhem Bichot
http://lists.mysql.com/maria/240 Pushed in 5.1-maria. I push this patch without review because: - it's small - it makes the testcase repeatedly pass on my machine - it's guaranteed to be more correct than the old code, so at least should reduce the bug's occurrence - I want to see if it fixes the problem in pushbuild2 - potential reviewer (Monty) is not available before days. I have emailed Monty so that he does a review when he gets the time, because I'm not sure the patch fixes all possible problems, as I don't fully understand the different MARIA_STATE_INFO copies.
[26 Oct 2008 22:20]
Bugs System
Pushed into 6.0.8-alpha (revid:guilhem@mysql.com-20081016194832-sphxuwbxoqx501mi) (version source revid:guilhem@mysql.com-20081020191322-i0e65e3k8044kkce) (pib:5)
[8 Jan 2009 11:05]
MC Brown
Test case failure. No documentation needed.