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:
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
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:
[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.

Removes falcon files before each run of mysql_test_embedded. Otherwise error in Falcon recovery will prevent any subsequent test to run.

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.