Bug #40373 Assertion (false) fails in IndexRootPage.cpp::addIndexEntry during recovery
| Submitted: | 28 Oct 2008 15:49 | Modified: | 13 Mar 2009 16:16 |
|---|---|---|---|
| Reporter: | John Embretsen | Email Updates: | |
| Status: | Duplicate | Impact on me: | |
| Category: | MySQL Server: Falcon storage engine | Severity: | S1 (Critical) |
| Version: | 6.0-bzr | OS: | Any |
| Assigned to: | Assigned Account | CPU Architecture: | Any |
| Tags: | F_INDEX, page-size-2K, pb2, pushbuild, split-page, test failure | ||
[29 Oct 2008 13:35]
Kevin Lewis
Previously modified the wrong field when I was trying to assign the bug to Vlad.
[18 Feb 2009 12:32]
Kevin Lewis
See also Bug#37056. A quick fix may be to increase the number of attempts. But a deterministic solution is needed for splitting pages.
[18 Feb 2009 12:43]
Vladislav Vaintroub
Looks like duplicate of Bug#37056
[13 Mar 2009 16:16]
Kevin Lewis
This assert cannot occur now that the fix for Bug#37056 is pushed.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.061 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.
Description: During a forced recovery (after sending KILL signal to the server) during the falcon_pagesize_2k test in Pushbuild 2, a Falcon assertion fails like this: (...) #9 0x08535d89 in Error::assertionFailed (text=0x89ab1f8 "false", fileName=0x89aafdf "IndexRootPage.cpp", line=217) at Error.cpp:78 #10 0x085ad632 in IndexRootPage::addIndexEntry (dbb=0xb70f75b8, indexId=46, key=0xb24ba254, recordNumber=1541, transId=0) at IndexRootPage.cpp:217 #11 0x085adb85 in IndexRootPage::indexMerge (dbb=0xb70f75b8, indexId=46, logRecord=0xb24bd154, transId=0) at IndexRootPage.cpp:1009 #12 0x085ebd35 in SRLUpdateIndex::execute (this=0xb24bd154) at SRLUpdateIndex.cpp:188 #13 0x085ebddf in SRLUpdateIndex::commit (this=0xb24bd154) at SRLUpdateIndex.cpp:166 #14 0x08604f6d in SerialLogTransaction::commit (this=0xb71f23e0) at SerialLogTransaction.cpp:92 #15 0x08605063 in SerialLogTransaction::doAction (this=0xb71f23e0) at SerialLogTransaction.cpp:158 #16 0x0862ed82 in Gopher::gopherThread (this=0xb70c85a8) at Gopher.cpp:71 #17 0x0862eec1 in Gopher::gopherThread (arg=0xb70c85a8) at Gopher.cpp:37 #18 0x0855e4a5 in Thread::thread (this=0xb70ceba0) at Thread.cpp:167 #19 0x0855e6b5 in Thread::thread (parameter=0xb70ceba0) at Thread.cpp:146 #20 0x0089a45b in start_thread () from /lib/libpthread.so.0 #21 0x007f1c4e in clone () from /lib/libc.so.6 ---> Note that Falcon page size is set to 2 KB in this test (--falcon-page-size=2K). How to repeat: Branch or checkout the mysql-test-extra-6.0 bzr branch, cd to mysql-test/gentest and run something like this, where basedir points to the mysql binary you want to test. perl runall.pl \ --basedir=/home/mysql/bzr-repos/mysql-6.0-falcon-team \ --reporters=Deadlock,ErrorLog,Backtrace,Recovery,WinPackage \ --mysqld=--loose-falcon-lock-wait-timeout=1 \ --mysqld=--loose-falcon-debug-mask=2 \ --mysqld=--log-output=none \ --mysqld=--log=off \ --mysqld=--skip-safemalloc \ --duration=1200 \ --engine=falcon \ --grammar=conf/falcon_pagesize.yy \ --mysqld=--falcon-page-size=2K \ --gendata=conf/falcon_pagesize2K.zz \ --queries=100000