[MDEV-360] safe_mutex: Trying to destroy a mutex keycache->cache_lock that was locked Created: 2012-06-20 Updated: 2012-06-24 Resolved: 2012-06-24 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 5.5.27 |
| Type: | Bug | Priority: | Major |
| Reporter: | Vladislav Vaintroub | Assignee: | Igor Babaev |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Description |
|
RQG test crashes with assetion in the safemutex code the crash callstack points to "repartition_key_cache" function. mysys/thr_mutex.c:608(safe_mutex_destroy)[0xc39f1d] |
| Comments |
| Comment by Elena Stepanova [ 2012-06-20 ] |
|
FYI, the RQG test in question was added as a regression test for LP:1008293. It runs the same 2 grammars that were provided in the bug report. |
| Comment by Igor Babaev [ 2012-06-21 ] |
|
Elena, |
| Comment by Elena Stepanova [ 2012-06-21 ] |
|
Igor, Please note however that the new failure is sporadic, so unless you can guess a source of it by just looking at the stack trace, you'll probably want to assign it to me and wait till I come up with a test case for it (which might take time because from my previous experience, these destroying mutex race conditions might be not easy to catch). |
| Comment by Igor Babaev [ 2012-06-21 ] |
|
I would prefer to have a test case to start working on this bug. |
| Comment by Elena Stepanova [ 2012-06-22 ] |
|
Igor, Please try the MTR test case below. It crashes on two machines out of 3 that i tried (the 3rd is a slow 32-bit box, not sure whether it's slowness or the bits that stop it from crashing).
CREATE TABLE t1 (a INT, b DATE, KEY(a), KEY(b)) ENGINE=MyISAM;
query_init: thread1: query:
perl runall.pl \
perl gentest.pl \ (replace 19300 with your port). Again, normally it fails within seconds after start, but sometimes it does not. If neither of this works for you, please let me know. |
| Comment by Elena Stepanova [ 2012-06-23 ] |
|
Algrorithm to start the MTR test above:
|
| Comment by Igor Babaev [ 2012-06-24 ] |
|
The fix was applied to 5.2, them merged into 5.3 and 5.5. |