Bug #35991 Falcon assertion on TRUNCATE in Section::getSectionPage Section.cpp line 198
| Submitted: | 11 Apr 2008 11:29 | Modified: | 5 Oct 2008 14:59 |
|---|---|---|---|
| Reporter: | Philip Stoev | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Falcon storage engine | Severity: | S3 (Non-critical) |
| Version: | 6.0-falcon-team | OS: | Any |
| Assigned to: | Vladislav Vaintroub | CPU Architecture: | Any |
[11 Apr 2008 11:32]
Philip Stoev
test case for bug 35991
Attachment: bug35991.pl (text/plain), 923 bytes.
[11 Apr 2008 11:33]
Philip Stoev
Please find attached the test case. Crash will happen within 30 seconds. The test case is derived from bug #35322, with the addition of a TRUNCATE TABLE.
[11 Apr 2008 12:24]
Vladislav Vaintroub
The assertion is ASSERT(page->pageType == PAGE_sections || page->pageType == 0); the page type is 11 (==PAGE_free)
[22 Aug 2008 18:03]
Kevin Lewis
Fix is in version 6.0.7
[28 Aug 2008 20:15]
Bugs System
Pushed into 6.0.7-alpha (revid:cbell@mysql.com-20080822132131-uveo6wiuecy6m2b8) (version source revid:cbell@mysql.com-20080822132131-uveo6wiuecy6m2b8) (pib:3)
[28 Aug 2008 23:47]
Kevin Lewis
See Bug#22165 for other changes that helped to fix this including the addition of TransactionManager::waitForWriteComplete. http://lists.mysql.com/commits/51311 This bug is different than Bug#22165 in that this is about the truncate operation and 22165 is related to ALTER TABLE.
[14 Sep 2008 2:42]
Bugs System
Pushed into 6.0.7-alpha (revid:vvaintroub@mysql.com-20080804155352-071nj3gc85f1sbhc) (version source revid:sven@mysql.com-20080818175803-c1nutd5773r6b4gd) (pib:3)
[5 Oct 2008 14:59]
Jon Stephens
Documented in the 6.0.7 changelog as follows:
Executing TRUNCATE statements with interleaving transactions
could cause mysqld to crash.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.043 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.
Description: When running a DML workload, Falcon asserted as follows: #0 0x00110402 in __kernel_vsyscall () #1 0x00bdc617 in pthread_kill () from /lib/libpthread.so.0 #2 0x08449ed3 in write_core (sig=4) at stacktrace.c:305 #3 0x082a392b in handle_segfault (sig=4) at mysqld.cc:2621 #4 <signal handler called> #5 0x00110402 in __kernel_vsyscall () #6 0x00bdf891 in raise () from /lib/libpthread.so.0 #7 0x0851836c in Error::debugBreak () at Error.cpp:92 #8 0x085183c8 in Error::error (string=0x889cca4 "assertion failed at line %d in file %s\n") at Error.cpp:69 #9 0x08518466 in Error::assertionFailed (fileName=0x88a32bb "Section.cpp", line=198) at Error.cpp:76 #10 0x085627aa in Section::getSectionPage (dbb=0xb711b7f0, root=11, sequence=0, requestedLockType=Exclusive, transId=1902) at Section.cpp:198 #11 0x08563758 in Section::getSectionPage (this=0xb71247f0, sequence=0, lockType=Exclusive, transId=1902) at Section.cpp:1416 #12 0x08564457 in Section::insertStub (this=0xb71247f0, transId=1902) at Section.cpp:348 #13 0x0850df9a in Dbb::insertStub (this=0xb711b7f0, section=0xb71247f0, transaction=0xb725faf0) at Dbb.cpp:304 #14 0x084d23a8 in Table::insert (this=0xb744b3e0, transaction=0xb725faf0, stream=0xb74571e8) at Table.cpp:2987 #15 0x084bb245 in StorageDatabase::insert (this=0xb70e5128, connection=0xb71285e0, table=0xb744b3e0, stream=0xb74571e8) at StorageDatabase.cpp:226 #16 0x084c1036 in StorageTable::insert (this=0xb7451cc8) at StorageTable.cpp:122 #17 0x084b4de3 in StorageInterface::write_row (this=0x9880518, buff=0x98806d8 "Щ\001") at ha_falcon.cpp:1057 #18 0x083cf8e6 in handler::ha_write_row (this=0x9880518, buf=0x98806d8 "Щ\001") at handler.cc:5308 #19 0x08345adc in write_record (thd=0x9889b28, table=0x988fb80, info=0xa9d3e3c0) at sql_insert.cc:1566 #20 0x0834a9e4 in mysql_insert (thd=0x9889b28, table_list=0x989d0d0, fields=@0x988b160, values_list=@0x988b184, update_fields=@0x988b178, update_values=@0x988b16c, duplic=DUP_ERROR, ignore=true) at sql_insert.cc:819 #21 0x082b6e73 in mysql_execute_command (thd=0x9889b28) at sql_parse.cc:2864 #22 0x082bd358 in mysql_parse (thd=0x9889b28, inBuf=0x989d010 "INSERT IGNORE INTO t1 (f1) VALUES (1)", length=37, found_semicolon=0xa9d3f270) at sql_parse.cc:5623 #23 0x082bdd71 in dispatch_command (command=COM_QUERY, thd=0x9889b28, packet=0x9894fb1 "INSERT IGNORE INTO t1 (f1) VALUES (1);", packet_length=38) at sql_parse.cc:1031 #24 0x082befd0 in do_command (thd=0x9889b28) at sql_parse.cc:723 #25 0x082ac6e9 in handle_one_connection (arg=0x9889b28) at sql_connect.cc:1134 #26 0x00bd750b in start_thread () from /lib/libpthread.so.0 #27 0x00b18b2e in clone () from /lib/libc.so.6 How to repeat: Simplified test case will hopefully follow shortly.