Bug #39940 | Crash when creating backlog | ||
---|---|---|---|
Submitted: | 8 Oct 2008 18:54 | Modified: | 26 May 2010 17:50 |
Reporter: | Ann Harrison | Email Updates: | |
Status: | Unsupported | Impact on me: | |
Category: | MySQL Server: Falcon storage engine | Severity: | S2 (Serious) |
Version: | falcon-team (6.0.7+) | OS: | Any |
Assigned to: | Christopher Powers | CPU Architecture: | Any |
Tags: | F_BACKLOG, pb2, pushbuild, test failure |
[8 Oct 2008 18:54]
Ann Harrison
[22 Oct 2008 16:22]
Philip Stoev
This bug happens as soon as falcon backlog is activated, that is, as soon as there is a low-memory condition and chill/thaw is activated. The test creates one long-running transaction which must be backlogged once available memory is exhausted. To reproduce with the random query generator, please see the falcon_backlog test in PushBuild2.
[31 Oct 2008 10:55]
John Embretsen
Failure symptoms from falcon_backlog test in Pushbuild 2: # 05:42:57 Query: SELECT * FROM `table65536_falcon_int_autoinc` failed: 2013 Lost connection to MySQL server during query Partial test log with stack trace (Linux): (...) Record Memory usage for FALCON_MASTER: IO::createFile: creating file "_falcon_backlog.fts" 081031 7:42:57 - mysqld got signal 11 ; (...) Program terminated with signal 11, Segmentation fault. #0 0x006be402 in __kernel_vsyscall () #0 0x006be402 in __kernel_vsyscall () #1 0x0089f067 in pthread_kill () from /lib/libpthread.so.0 #2 0x087f6ec2 in my_write_core (sig=11) at stacktrace.c:307 #3 0x082b1938 in handle_segfault (sig=11) at mysqld.cc:2673 #4 <signal handler called> #5 0x085faae6 in SerialLog::getTableSpaceInfo (this=0xb731ad80, tableSpaceId=-1) at SerialLog.cpp:1489 #6 0x085facec in SerialLog::sectionInUse (this=0xb731ad80, sectionId=0, tableSpaceId=-1) at SerialLog.cpp:1290 #7 0x0858efa7 in Dbb::sectionInUse (this=0xa70007a8, sectionId=0) at Dbb.cpp:1254 #8 0x085f530e in Section::createSection (dbb=0xa70007a8, transId=0) at Section.cpp:125 #9 0x0856ffb3 in BackLog (this=0xb70d30c0, db=0xb72c1640, fileName=0x89a7a55 "_falcon_backlog.fts") at BackLog.cpp:46 #10 0x08581d2a in Database::setLowMemory (this=0xb72c1640) at Database.cpp:2620 #11 0x08583978 in Database::retireRecords (this=0xb72c1640, forced=true) at Database.cpp:1841 #12 0x08583bff in Database::forceRecordScavenge (this=0xb72c1640) at Database.cpp:2511 #13 0x085cc593 in Record::allocRecordData (this=0xa858a8d0, length=773) at Record.cpp:928 #14 0x085ce40f in Record::setEncodedRecord (this=0xa858a8d0, stream=0xb746c2c4, interlocked=false) at Record.cpp:707 #15 0x085599f3 in Table::update (this=0xb7437048, transaction=0xb7251ae0, orgRecord=0xa858b9f0, stream=0xb746c2c4) at Table.cpp:3143 #16 0x0853f35b in StorageDatabase::updateRow (this=0xb70c0130, storageConnection=0xb71698d0, table=0xb7437048, oldRecord=0xa858b9f0, stream=0xb746c2c4) at StorageDatabase.cpp:688 #17 0x08545ff1 in StorageTable::updateRow (this=0xb7466d98, recordNumber=3427) at StorageTable.cpp:132 #18 0x08533086 in StorageInterface::update_row (this=0xb7f8c80, oldData=0xb846110 "ÿÿ", newData=0xb844d00 "ÿÿ") at ha_falcon.cpp:1171 #19 0x083e3b81 in handler::ha_update_row (this=0xb7f8c80, old_data=0xb846110 "ÿÿ", new_data=0xb844d00 "ÿÿ") at handler.cc:5378 #20 0x0836ebb3 in mysql_update (thd=0xb7d6818, table_list=0xb7e0768, fields=@0xb7d7e18, values=@0xb7d8040, conds=0xb7e0fc0, order_num=0, order=0x0, limit=18446744073709551615, handle_duplicates=DUP_ERROR, ignore=false) at sql_update.cc:649 #21 0x082c4d69 in mysql_execute_command (thd=0xb7d6818) at sql_parse.cc:2898 #22 0x082cabbb in mysql_parse (thd=0xb7d6818, inBuf=0xb7e03f0 "UPDATE `table65536_falcon_int_autoinc` AS X SET `pk` = 'rasvhoaibmzbjlyzdmweontovxacgztcfegtycrdvcbxlfmgpuwkpvveplbhrsahtluchcsbzjwjtckeezqtmybmkbqmyznaktfcqxbhcnwvdivvlicvtdwgjgcbkjstyyirszjahbsotntj"..., length=311, found_semicolon=0xb0681e80) at sql_parse.cc:5634 Seen on Linux, Solaris and Windows. The same test has also related in a deadlock on Solaris (revision vvaintroub@mysql.com-20081031002913-hg55ea1xjrimzx25), possibly caused by the same issue. Tagging this bug as a Pushbuild 2 test failure.