| Bug #36330 | Falcon DBT2 crash in Transaction::needToLock | ||
|---|---|---|---|
| Submitted: | 25 Apr 2008 3:42 | Modified: | 8 Jan 2009 10:01 |
| Reporter: | Christopher Powers | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Falcon storage engine | Severity: | S2 (Serious) |
| Version: | 6.0.5 | OS: | Linux |
| Assigned to: | Christopher Powers | CPU Architecture: | Any |
[25 Apr 2008 3:42]
Christopher Powers
[25 Apr 2008 3:46]
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/45982 ChangeSet@1.2645, 2008-04-24 22:44:18-05:00, cpowers@xeno.mysql.com +4 -0 Bug #36330: Falcon DBT2 crash in Transaction::needToLock - Added syncPrior protection to Transaction::needToLock() - Removed RecordVersion::getSyncPrior() - Record::getSyncPrior() now returns syncObject
[25 Apr 2008 3:49]
Christopher Powers
The crash is most likely caused by an unprotected scan of prior record versions. Traversals of prior record version lists must be protected by either a shared or exclusive lock on Table::syncPrior.
[25 Apr 2008 4:20]
Kevin Lewis
Patch looks good.
[25 Apr 2008 23:52]
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/46057 ChangeSet@1.2650, 2008-04-25 18:50:01-05:00, cpowers@xeno.mysql.com +1 -0 Bug #36330: Falcon DBT2 crash in Transaction::needToLock - Added syncPrior to RecordScavenge::inventoryRecord.
[27 Apr 2008 3:16]
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/46067 ChangeSet@1.2651, 2008-04-26 22:13:23-05:00, cpowers@xeno.mysql.com +4 -0 Bug#36330: Falcon DBT2 crash in Transaction::needToLock "Forced" scavenges are performed immediately free record cache memory, and should therefore be less constrained than the periodic scavenges peformed by the Scavenger thread. Streamlined forced record scavenging: - Don't call Table::inventoryRecords() for forced scavenges. - Ignore scavenge generation if scavenge is forced--just scavenge anyway.
[2 Jul 2008 12:38]
Kevin Lewis
This change is in the 6.0.5 release.
[2 Jul 2008 14:07]
Kevin Lewis
Sorry, it was pushed AFTER the 6.0.5 release. It is in 6.0.6.
[8 Jan 2009 10:01]
MC Brown
Internal only. No documentation needed.
