Bug #41835 | Falcon crash in Table::getSyncPrior | ||
---|---|---|---|
Submitted: | 3 Jan 2009 11:49 | Modified: | 15 May 2009 12:50 |
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: | Kevin Lewis | CPU Architecture: | Any |
Tags: | F_RECORD TREE |
[3 Jan 2009 11:49]
Philip Stoev
[3 Jan 2009 11:51]
Philip Stoev
The default --falcon-page-size is also affected.
[5 Jan 2009 16:40]
Kevin Lewis
Ann, Please ask Jim to take a look. The member variable StorageTable::record is null during a call to StorageTable::updateRow(). How could this happen?
[7 Jan 2009 5:57]
Kevin Lewis
I reproduced this crash running combinations.yy and found that Table::checkAncestor() was being called immediately after Table::fetch(), which can return a null. The test for null needs to be put before the call to Table::checkAncestor().
[7 Jan 2009 6:14]
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/62565 2956 Kevin Lewis 2009-01-07 Bug#41835 - Table::getSyncPrior() was called with a null record pointer because Table::checkAncestor() was called immediately after Table::fetch(), which can return a null.
[13 Feb 2009 7:24]
Bugs System
Pushed into 6.0.10-alpha (revid:alik@sun.com-20090211182317-uagkyj01fk30p1f8) (version source revid:olav@sun.com-20090113103017-41jbad7qlvlwpwxh) (merge vers: 6.0.10-alpha) (pib:6)
[15 May 2009 12:50]
MC Brown
A note has been added to the 6.0.10 changelog: Running concurrent non-transactional queries on a Falcon table could cause a crash.