Bug #43200 Falcon crash at startup in Database::scavenge()
Submitted: 25 Feb 2009 17:06 Modified: 15 May 2009 16:05
Reporter: Kevin Lewis Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Falcon storage engine Severity:S3 (Non-critical)
Version:6.0.10 OS:Any
Assigned to: Kevin Lewis CPU Architecture:Any
Tags: F_STARTUP, pushbuild, sporadic, test failure
Triage: Triaged: D1 (Critical)

[25 Feb 2009 17:06] Kevin Lewis
Description:
There is a very rare chance that Database::scavenge() can crash if it is run just after the recovery occurs during startup.  This happened on my system only once, while debugging.  It crashed at this code;
	if (!serialLog->recovering)
		tableSpaceManager->reportStatistics();

At this point in time, tableSpaceManager was not yet created, but recovering was false.  I suspect this is a very rare occurance.

How to repeat:
Start up the falcon a million times!

Suggested fix:
Change the code to;
	if (tableSpaceManager && !serialLog->recovering)
		tableSpaceManager->reportStatistics();
[25 Feb 2009 17:10] 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/67594

3044 Kevin Lewis	2009-02-25
      Bug #43200  	Falcon crash at startup in Database::scavenge()
      Check the existance of tableSpaceManager before trying to 
      reportStatistics from it.
[2 Apr 2009 17:39] Bugs System
Pushed into 6.0.11-alpha (revid:hky@sun.com-20090402144811-yc5kp8g0rjnhz7vy) (version source revid:vvaintroub@mysql.com-20090225192413-izvigny7n3lr5rkz) (merge vers: 6.0.11-alpha) (pib:6)
[15 May 2009 16:05] MC Brown
Internal/test fix. No changelog entry required.