Bug #43503 Falcon attempting to access exorbitant page number during recovery
Submitted: 9 Mar 2009 12:32 Modified: 9 Apr 2009 18:09
Reporter: Philip Stoev Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: Falcon storage engine Severity:S1 (Critical)
Version:6.0-falcon-team OS:Any
Assigned to: Assigned Account CPU Architecture:Any
Tags: F_RECOVERY

[9 Mar 2009 12:32] Philip Stoev
Description:
When doing a full table scan after recovering from the falcon_pagesize32K test, Falcon asserted as follows:

Bugcheck: page 16847882/1 wrong page type, expected 9 got -13108

At 32K per page, page 16847882 would be located 514Gb into the tablespace, and the tablespace is not that big.

Stack trace:

mysqld(my_print_stacktrace+0x32) [0x8827dcd]
mysqld(handle_segfault+0x2cd) [0x82bd143]
[0x5fc420]
mysqld(Error::debugBreak()+0x12) [0x8555928]
mysqld(Error::error(char const*, ...)+0x7a) [0x85559a4]
mysqld(Cache::fetchPage(Dbb*, int, PageType, LockType)+0x438) [0x8648fbc]
mysqld(Dbb::fetchPage(int, PageType, LockType)+0x48) [0x85af8fc]
mysqld(DataPage::fetchRecord(Dbb*, int, Stream*)+0x136) [0x864cc6c]
mysqld(Section::findNextRecord(int, int, Stream*)+0x267) [0x8615085]
mysqld(Section::findNextRecord(int, int, Stream*)+0x382) [0x86151a0]
mysqld(Section::findNextRecord(int, Stream*)+0x2c) [0x861522e]
mysqld(Dbb::findNextRecord(Section*, int, Stream*)+0x1f) [0x85af57d]
mysqld(Table::fetchNext(int)+0x419) [0x8575b05]
mysqld(StorageDatabase::nextRow(StorageTable*, int, bool)+0x59) [0x855f0c7]
mysqld(StorageTable::next(int, bool)+0x3a) [0x8565300]
mysqld(StorageInterface::rnd_next(unsigned char*)+0x92) [0x854ff04]
mysqld(rr_sequential(READ_RECORD*)+0x71) [0x83f6f77]
mysqld(sub_select(JOIN*, st_join_table*, bool)+0x208) [0x8341434]
mysqld [0x834d98b]
mysqld(JOIN::exec()+0x20fa) [0x83683ba]
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) [0x8362f63]
mysqld(handle_select(THD*, LEX*, select_result*, unsigned long)+0x1ec) [0x83686ca]
mysqld [0x82cd401]
mysqld(mysql_execute_command(THD*)+0x79c) [0x82ce444]
mysqld(mysql_parse(THD*, char const*, unsigned int, char const**)+0x22f) [0x82d6c17]
mysqld(dispatch_command(enum_server_command, THD*, char*, unsigned int)+0x859) [0x82d7bbb]
mysqld(do_command(THD*)+0x242) [0x82d8e86]
mysqld(handle_one_connection+0x11d) [0x82c5ff7]

the query is

SELECT COUNT(*), SUM(1 + `int` + `int_key` + `pk`), AVG(1 + `int` + `int_key` + `pk`) FROM `test`.`table1_falcon_int_autoinc`

How to repeat:
falcon_pagesize32K. No ALTERs in this test.
[9 Apr 2009 18:12] Vladislav Vaintroub
Duplicate of Bug#43502
[9 Apr 2009 18:18] Philip Stoev
Wlad probably meant bug #43502