Bug #45739 Falcon crashes due to wrong page type, expected 9 got 7
Submitted: 25 Jun 2009 9:28 Modified: 26 May 2010 17:53
Reporter: Olav Sandstå Email Updates:
Status: Unsupported Impact on me:
None 
Category:MySQL Server: Falcon storage engine Severity:S2 (Serious)
Version:6.0.12-alpha OS:Linux
Assigned to: Ann Harrison CPU Architecture:Any

[25 Jun 2009 9:28] Olav Sandstå
Description:
When running the RQG test falcon_pagesize2K there is a crash of Falcon when the test does data validation after a successful recovery. The error message is:

# 03:14:32 Testing database consistency
# 03:14:32 Version: '6.0.12-alpha-debug-log'  socket: '/export/home/pb2/test/sb_1-608869-1245891244.34/tmp/cTtCpTLcaT/master.sock'  port: 19306  Source distribution
# 03:14:32 Verifying table: table0_falcon; database: test
# 03:14:32 4: TransID=9  CommitNoUpdates  (null)
# 03:14:38 [Falcon] Error: page 8304 tablespace 1, wrong page type, expected 9 got 7
# 03:14:38 
# 03:14:38 Bugcheck: page 8304 tablespace 1, wrong page type, expected 9 got 7
# 03:14:38 
# 03:14:38 090625  3:14:38 - mysqld got signal 6 ;

The call stack looks like:

mysqld(my_print_stacktrace+0x32) [0x8838351]
mysqld(handle_segfault+0x2cd) [0x82c259d]
mysqld(Error::debugBreak()+0x12) [0x856a55c]
mysqld(Error::error(char const*, ...)+0x7a) [0x856a5d8]
mysqld(Cache::fetchPage(Dbb*, int, PageType, LockType)+0x447) [0x8657d6f]
mysqld(Dbb::fetchPage(int, PageType, LockType)+0x48) [0x85c8580]
mysqld(DataPage::fetchRecord(Dbb*, int, Stream*)+0x136) [0x865bac4]
mysqld(Section::fetchRecord(int, Stream*, unsigned int)+0x134) [0x86262aa]
mysqld(Dbb::fetchRecord(Section*, int, Stream*)+0x27) [0x85c822f]
mysqld(Table::getBlob(int, Stream*)+0x62) [0x8587fbc]
mysqld(StorageDatabase::getBlob(Table*, int, StorageBlob*)+0x3c) [0x8576498]
mysqld(StorageTable::getBlob(int, StorageBlob*)+0x2f) [0x857db21]
mysqld(StorageInterface::decodeRecord(unsigned char*)+0x793) [0x855a0e7]
mysqld(StorageInterface::rnd_next(unsigned char*)+0x146) [0x855e422]
mysqld(rr_sequential(READ_RECORD*)+0x71) [0x83ffe6f]
mysqld(sub_select(JOIN*, st_join_table*, bool)+0x208) [0x834861c]
mysqld [0x8354b81]
mysqld(JOIN::exec()+0x20fa) [0x836f730]
mysqld(mysql_select(THD*, Item***, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*)+0x311) [0x836a2d9]
mysqld(handle_select(THD*, LEX*, select_result*, unsigned long)+0x1ec) [0x836fa40]
mysqld [0x82d2b13]
mysqld(mysql_execute_command(THD*)+0x96e) [0x82d3be6]
mysqld(mysql_parse(THD*, char const*, unsigned int, char const**)+0x22f) [0x82dc71f]
mysqld(dispatch_command(enum_server_command, THD*, char*, unsigned int)+0x859) [0x82dd8a1]
mysqld(do_command(THD*)+0x242) [0x82deb32]
mysqld(handle_one_connection+0x11d) [0x82cb4d7]

How to repeat:
Seen once after running falcon_pagesize2K on Linux using the latest version from mysql-6.0-falcon-team.