Bug #43496 Falcon wrong page type (expected PAGE_btree, got something else)
Submitted: 9 Mar 2009 10:11 Modified: 23 Apr 2009 21:09
Reporter: Philip Stoev Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server: Falcon storage engine Severity:S1 (Critical)
Version:6.0-falcon-team OS:Any
Assigned to: Vladislav Vaintroub CPU Architecture:Any
Tags: F_PAGE IO

[9 Mar 2009 10:11] Philip Stoev
Description:
The falcon_pagesize2K and falcon_pagesize32K fail across all platforms with the following backtrace:

#8  0x0855989c in Error::error (
    string=0x89fc09c "page %d/%d wrong page type, expected %d got %d\n")
    at Error.cpp:71
#9  0x0864cf60 in Cache::fetchPage (this=0xb704ca78, dbb=0xb73bb6d8, 
    pageNumber=1691, pageType=PAGE_btree, lockType=Exclusive) at Cache.cpp:315
#10 0x085b37f4 in Dbb::fetchPage (this=0xb73bb6d8, pageNumber=1691, 
    pageType=PAGE_btree, lockType=Exclusive) at Dbb.cpp:219
#11 0x085b3a28 in Dbb::handoffPage (this=0xb73bb6d8, bdb=0xb728567c, 
    pageNumber=1691, pageType=PAGE_btree, lockType=Exclusive) at Dbb.cpp:268
#12 0x085d159e in IndexRootPage::findInsertionLeaf (dbb=0xb73bb6d8, indexId=8, 
    indexKey=0xa79747dc, recordNumber=1695, transId=5031, isRoot=0x0)
    at IndexRootPage.cpp:311
#13 0x085d1733 in IndexRootPage::deleteIndexEntry (dbb=0xb73bb6d8, indexId=8, 
    key=0xa79772b8, recordNumber=1695, transId=5031) at IndexRootPage.cpp:627
#14 0x085b2dc5 in Dbb::deleteIndexEntry (this=0xb73bb6d8, indexId=8, 
    indexVersion=1, key=0xa79772b8, recordNumber=1695, transId=5031)
    at Dbb.cpp:706
#15 0x085ca499 in Index::garbageCollect (this=0xb707dac0, leaving=0xa65aab28, 
    staying=0x0, transaction=0xb7173f20, quiet=true) at Index.cpp:687
#16 0x0857b135 in Table::garbageCollect (this=0xb73d0cc0, leaving=0xa65aab28, 
    staying=0x0, transaction=0xb7173f20, quiet=true) at Table.cpp:2162
#17 0x0857b5da in Table::rollbackRecord (this=0xb73d0cc0, 
    recordToRollback=0xa65aab28, transaction=0xb7173f20) at Table.cpp:1083
#18 0x085f52b9 in RecordVersion::rollback (this=0xa65aab28, 
    transaction=0xb7173f20) at RecordVersion.cpp:168
#19 0x08587d87 in Transaction::rollback (this=0xb7173f20)
    at Transaction.cpp:406
#20 0x085a0c4a in Connection::rollback (this=0xb70c49a8) at Connection.cpp:282
#21 0x085603a5 in StorageConnection::rollback (this=0xb70c4938)
    at StorageConnection.cpp:191
#22 0x0855192b in StorageInterface::rollback (hton=0xaaf2a30, thd=0xb2f7b50, 
    all=true) at ha_falcon.cpp:1319
#23 0x08406ff0 in ha_rollback_trans (thd=0xb2f7b50, all=true)
    at handler.cc:1297
#24 0x084d20b9 in trans_rollback (thd=0xb2f7b50) at transaction.cc:205
#25 0x082d5ec2 in mysql_execute_command (thd=0xb2f7b50) at sql_parse.cc:4055
#26 0x082d8281 in mysql_parse (thd=0xb2f7b50, inBuf=0xb332f98 "ROLLBACK", 
    length=8, found_semicolon=0xa797ae80) at sql_parse.cc:5763
#27 0x082d9225 in dispatch_command (command=COM_QUERY, thd=0xb2f7b50, 
    packet=0xb30cab1 "ROLLBACK", packet_length=8) at sql_parse.cc:1009
#28 0x082da4f0 in do_command (thd=0xb2f7b50) at sql_parse.cc:691
#29 0x082c75a7 in handle_one_connection (arg=0xb2f7b50) at sql_connect.cc:1146
#30 0x0089a45b in start_thread () from /lib/libpthread.so.0
#31 0x007f1c4e in clone () from /lib/libc.so.6

The failure does not appear to be page-size specific, it is just that those two tests cause it fairly consistently. The queries are just basic DML statements with no ALTER. Recovery appears to be successfull.

How to repeat:
Run falcon_pagesize32K with RQG.
[23 Apr 2009 21:09] Vladislav Vaintroub
Possibly a temporarily glitch that was introduced with Bug#43765
Has not failed recently.