Bug #43765 | falcon_bug_22173a crashes in IndexPage::findNodeInLeaf | ||
---|---|---|---|
Submitted: | 20 Mar 2009 9:51 | Modified: | 15 May 2009 15:51 |
Reporter: | Hakan Küçükyılmaz | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Falcon storage engine | Severity: | S1 (Critical) |
Version: | 6.0-falcon-team | OS: | Linux |
Assigned to: | Vladislav Vaintroub | CPU Architecture: | Any |
Tags: | F_INDEX, pushbuild, test failure |
[20 Mar 2009 9:51]
Hakan Küçükyılmaz
[20 Mar 2009 9:52]
Hakan Küçükyılmaz
Full stack trace
Attachment: stack.trace (application/octet-stream, text), 28.48 KiB.
[20 Mar 2009 15:30]
Hakan Küçükyılmaz
Verified by Pushbuild.
[23 Mar 2009 12:28]
Kevin Lewis
See also the duplicate Bug#43800
[23 Mar 2009 22:14]
John Embretsen
For what it is worth, last weekend I ran this test 3000 times on two different Solaris hosts (with no/little background load and plenty of memory) without any failures.
[1 Apr 2009 21:30]
Kevin Lewis
See also Duplicate Bug#43954
[9 Apr 2009 7:07]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/71722 3110 Vladislav Vaintroub 2009-04-09 Bug #43765 falcon_bug_22173a crashes in IndexPage::findNodeInLeaf Falcon crashes with assertion (level==0)in high-concurrent index updates Reason is that recent code refactoring in IndexPage code introduced a regression. When index is small and consists of a single root page only, findInsertionLeaf(), would check lock the root page with shared lock, check if the root page level is 0 (page is a leaf), unlock the page, lock it again excusively and return this page. The problem is that during the gap while page was not locked, it could have beens spli. In this case returning root page is wrong, as it is not a "insertion leaf", and generally not leaf page at all. The fix is not to return from the function prematurely, when reacquiring lock in the root and root page changes the level from 0 to greater number.
[9 Apr 2009 13:46]
Kevin Lewis
Code looks correct now OK to push.
[15 Apr 2009 17:00]
Bugs System
Pushed into 6.0.11-alpha (revid:hky@sun.com-20090415164923-9arx29ye5pzxd4zf) (version source revid:vvaintroub@mysql.com-20090409070645-katx7bwydr9y6ftt) (merge vers: 6.0.11-alpha) (pib:6)
[15 May 2009 15:51]
MC Brown
An entry has been added to the 6.0.11 changelog: When performing a high number of concurrent index updates on a Falcon table, mysqld could crash due to an assertion.