Bug #38519 Falcon causes massive test failures in embedded mode
Submitted: 1 Aug 2008 13:17 Modified: 4 Oct 2008 14:28
Reporter: Alexander Nozdrin Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Falcon storage engine Severity:S1 (Critical)
Version:6.0-BK OS:Any
Assigned to: Vladislav Vaintroub CPU Architecture:Any
Tags: pushbuild, sporadic, test failure, widespread
Triage: D2 (Serious)

[1 Aug 2008 13:17] Alexander Nozdrin
Description:
We have massive test failures in embedded mode from time to time
(like in this push: https://intranet.mysql.com/secure/pushbuild/showpush.pl?dir=bzr_mysql-6.0-runtime&order=41).

The reason seems to be a failed assertion in Falcon code:
[Falcon] Error: assertion (key - (UCHAR*) indexNode < 14) failed at line 109 in file IndexNode.h

How to repeat:
PushBuild.
[1 Aug 2008 22:41] Vladislav Vaintroub
Kevin , I attach log ile with stacktraces. Interesting thing is, it crashes while trying to recover on start (checksum error).
As I understand it, test restart should be always done on a clean databasem, i.e no falcon files at all. Can you confirm it? If it is like this, then mysql-test-run behaves strange and we should assign this bug to server-test cathegory or so.
[1 Aug 2008 22:45] Vladislav Vaintroub
log with stack traces

Attachment: elog_embedded.zip (application/x-zip-compressed, text), 19.35 KiB.

[2 Aug 2008 1:47] Vladislav Vaintroub
2 patches commited.

http://lists.mysql.com/commits/50837
Removes falcon files before each run of mysql_test_embedded. Otherwise error in Falcon recovery will prevent any subsequent test to run.

http://lists.mysql.com/commits/50824
Prevents crash in destructor of static Falcon objects (that is static objects should avoid doing delete operator in destructor, as Falcon memory manager can already be destroyed)
[15 Aug 2008 6:02] Alexander Nozdrin
This particular patch was merged to 6.0 (6.0.7),
but it didn't solve all the problem. Sometimes tests still
fail massively in embedded mode. See Bug#38770.
[13 Sep 2008 21:46] Bugs System
Pushed into 6.0.6-alpha  (revid:vvaintroub@mysql.com-20080801175628-4ehwma07vurfewym) (version source revid:hakan@mysql.com-20080716105246-eg0utbybp122n2w9) (pib:3)
[4 Oct 2008 14:28] Jon Stephens
Documented in the 6.0.6 changelog as follows:

        The Falcon memory manager did not always perform initializations of
        internal objects correctly.