Bug #42824 Falcon assertion (lockType == Exclusive) in Bdb::mark on REPAIR
| Submitted: | 13 Feb 2009 10:37 | Modified: | 15 May 2009 15:59 |
|---|---|---|---|
| Reporter: | Philip Stoev | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Falcon storage engine | Severity: | S1 (Critical) |
| Version: | 6.0-falcon-team | OS: | Any |
| Assigned to: | Vladislav Vaintroub | CPU Architecture: | Any |
| Tags: | F_PAGE IO | ||
[13 Feb 2009 10:37]
Philip Stoev
[13 Feb 2009 10:39]
Philip Stoev
The tablespace has been uploaded to http://fedora10.dyndns.org/bug42824-2.zip
[13 Feb 2009 21:20]
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/66302 3019 Vladislav Vaintroub 2009-02-13 Bug #42824 Falcon assertion (lockType == Exclusive) in Bdb::mark on REPAIR Problem :repairof a Falcon tqable can crash if it finds orphan pages (PageinventoryPage is marked dirty but not locked exclusively) Fix :fetch PageInventoryPage in for exclusive access inshead of shared. modified: storage/falcon/PageInventoryPage.cpp === modified file 'storage/falcon/PageInventoryPage.cpp' --- a/storage/falcon/PageInventoryPage.cpp 2009-01-27 20:44:30 +0000 +++ b/storage/falcon/PageInventoryPage.cpp 2009-02-13 21:19:58 +0000 @@ -333,7 +333,7 @@ void PageInventoryPage::validateInventor else freePage(dbb, pageNumber, NO_TRANSACTION); - pipBdb = dbb->fetchPage (pageNumber, PAGE_any, Shared); + pipBdb = dbb->fetchPage (pageNumber, PAGE_any, Exclusive); BDB_HISTORY(pipBdb); page = (PageInventoryPage*) pipBdb->buffer; } -- MySQL Code Commits Mailing List For list archives: http://lists.mysql.com/commits To unsubscribe: http://lists.mysql.com/commits?unsub=commits@bugs.mysql.com
[18 Feb 2009 19:13]
Kevin Lewis
I guess the only way to prove that this works is to watch for this same call stack again. Patch approved.
[2 Mar 2009 14:13]
Bugs System
Pushed into 6.0.11-alpha (revid:alik@sun.com-20090302140208-lfdejjbcyezlhhjt) (version source revid:vvaintroub@mysql.com-20090213211958-t4jiz0vyms4zee0s) (merge vers: 6.0.10-alpha) (pib:6)
[15 May 2009 15:59]
MC Brown
An update has been added to the 6.0.11 changelog: When running REPAIR on a crashed Falcon table can crash mysqld if pages have been incorrectly marked dirty, but not locked, during write
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.041 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.