Description:
The following crash happens when Falcon attempts to recover after an kill -9 crash. It has been observed under various workloads and affects probably 5% of all recovery attempts.
The backtrace is as follows:
(my_print_stacktrace+0x26) [0x87e2d53]
(handle_segfault+0x2cd) [0x82ac665]
[0xf84420]
(Error::debugBreak()+0x12) [0x8585df8]
(Error::error(char const*, ...)+0x7a) [0x8585e74]
(Cache::fetchPage(Dbb*, int, PageType, LockType)+0x3b5) [0x86149ff]
(Dbb::fetchPage(int, PageType, LockType)+0x48) [0x857bc02]
(RecordLocatorPage::deleteDataPages(Dbb*, unsigned int)+0x4c) [0x8626bf4]
(Section::deleteSectionLevel(Dbb*, int, unsigned int)+0x1aa) [0x85dfe24]
(Section::deleteSection(Dbb*, int, unsigned int)+0x185) [0x85e142d]
(Dbb::deleteSection(int, unsigned int)+0xac) [0x857b4d8]
(SRLDropTable::redo()+0x75) [0x85d5b19]
(SerialLog::recover()+0x97d) [0x85ea059]
(Database::openDatabase(char const*)+0x3e3) [0x85746cf]
(Connection::getDatabase(char const*, char const*, Threads*)+0x149) [0x85682b7]
(Connection::openDatabase(char const*, char const*, char const*, char const*, char const*, Threads*)+0x198) [0x85697d2]
(StorageDatabase::getOpenConnection()+0x86) [0x852e96e]
(StorageHandler::initialize()+0x9f) [0x8530e7f]
(StorageInterface::falcon_init(void*)+0x1e7) [0x8522dad]
(ha_initialize_handlerton(st_plugin_int*)+0x99) [0x83de465]
[0x848efc6]
(plugin_init(int*, char**, int)+0x5ec) [0x8490368]
[0x82af09c]
(main+0x228) [0x82affd6]
How to repeat:
with the random query generator, run many times:
$ runall.pl \
--basedir=/path/to/6.0-falcon-team \
--reporters=ErrorLog,Backtrace,Recovery \
--mysqld=--loose-falcon-lock-wait-timeout=1 \
--engine=Falcon \
--grammar=conf/falcon_online_alter.yy \
--queries=100000