Bug #26484 | Falcon: recovery failure after more than 80,000 inserts | ||
---|---|---|---|
Submitted: | 19 Feb 2007 23:47 | Modified: | 1 Jul 2007 12:26 |
Reporter: | Peter Gulutzan | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | MySQL Server: Falcon storage engine | Severity: | S1 (Critical) |
Version: | 5.2.4-falcon-alpha-debug | OS: | Linux (SUSE 10.0 / 64-bit) |
Assigned to: | Jim Starkey | CPU Architecture: | Any |
[19 Feb 2007 23:47]
Peter Gulutzan
[20 Feb 2007 1:56]
Hakan Küçükyılmaz
Verified as described. | v | v2 | +-------+--------+ | 49000 | 4900.0 | +-------+--------+ 1 row in set (2 min 49.21 sec) +-------+--------+ | v | v2 | +-------+--------+ | 50000 | 5000.0 | +-------+--------+ 1 row in set (2 min 52.54 sec) ERROR 2013 (HY000): Lost connection to MySQL server during query mysql> mysql> Bye hakan@lu0010:~> mysql -uroot -pmysql50 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.2.4-falcon-alpha-debug Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> use test; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A --> Assertion is hit Backtrace is: Serial Log possible gap: 50441 - 33037 Program received signal SIGILL, Illegal instruction. [Switching to Thread 1076373856 (LWP 30248)] 0x0000002a95bf0479 in raise () from /lib64/tls/libc.so.6 (gdb) bt #0 0x0000002a95bf0479 in raise () from /lib64/tls/libc.so.6 #1 0x0000000000863d7e in Error::debugBreak () at Error.cpp:93 #2 0x0000000000863d05 in Error::error (string=0xbae5f0 "assertion failed at line %d in file %s\n") at Error.cpp:70 #3 0x0000000000863d63 in Error::assertionFailed (fileName=0xbbf7c4 "BDB.cpp", line=72) at Error.cpp:77 #4 0x00000000008e44f8 in Bdb::mark (this=0x2a962afa78, transId=0) at BDB.cpp:72 #5 0x00000000008793df in IndexRootPage::indexMerge (dbb=0x2a96452ce8, indexId=29, logRecord=0x4027ff50, transId=0) at IndexRootPage.cpp:914 #6 0x00000000008ce970 in SRLUpdateIndex::execute (this=0x4027ff50) at SRLUpdateIndex.cpp:155 #7 0x00000000008ce7f9 in SRLUpdateIndex::redo (this=0x4027ff50) at SRLUpdateIndex.cpp:127 #8 0x00000000008b57f9 in SerialLog::recover (this=0x2a962b5c30) at SerialLog.cpp:354 #9 0x00000000008536a4 in Database::openDatabase (this=0x2a962516e8, filename=0x40280280 "/data/mysql/test.fts") at Database.cpp:603 #10 0x000000000084d2b2 in Connection::getDatabase (this=0x2a96452aa0, dbName=0x2a964527d4 "test", dbFileName=0x40280280 "/data/mysql/test.fts", threads=0x2a96452830) at Connection.cpp:1643 #11 0x000000000084b1de in Connection::openDatabase (this=0x2a96452aa0, dbName=0x2a964527d4 "test", filename=0x2a96452804 "./test.fts", account=0xba4037 "mysql", password=0xba4037 "mysql", address=0x0, parent=0x2a96452830) at Connection.cpp:923 #12 0x000000000081cf5e in StorageDatabase::getOpenConnection (this=0x2a964523f0) at StorageDatabase.cpp:144 #13 0x000000000081bdaa in StorageConnection::connect (this=0x2a964522c8) at StorageConnection.cpp:112 #14 0x000000000081f77b in StorageHandler::getStorageConnection (this=0x2a96251048, path=0xf9a1b0 "./test", mySqlThread=0x0, createFlag=OpenDatabase) at StorageHandler.cpp:148 #15 0x0000000000815287 in NfsStorageTable::open (this=0xfea768, name=0xfd79e8 "./test/t20", mode=2, test_if_locked=2) at ha_falcon.cpp:354 #16 0x000000000075a18b in handler::ha_open (this=0xfea768, table_arg=0xfd8b08, name=0xfd79e8 "./test/t20", mode=2, test_if_locked=2) at handler.cc:1532 #17 0x00000000006b0937 in open_table_from_share (thd=0xfc54a8, share=0xfd7678, alias=0xfec820 "t20", db_stat=39, prgflag=44, ha_open_flags=0, outparam=0xfd8b08, is_create_table=false) at table.cc:1536 #18 0x00000000006a3c17 in open_unireg_entry (thd=0xfc54a8, entry=0xfd8b08, table_list=0x40281bc0, alias=0xfec820 "t20", cache_key=0x40281300 "test", cache_key_length=9, mem_root=0x40281430, flags=0) at sql_base.cc:2675 #19 0x00000000006a23b4 in open_table (thd=0xfc54a8, table_list=0x40281bc0, mem_root=0x40281430, refresh=0x40281467, flags=0) at sql_base.cc:2058 #20 0x00000000006a432e in open_tables (thd=0xfc54a8, start=0x402814f0, counter=0x402814e8, flags=0) at sql_base.cc:2922 #21 0x00000000006a4c0e in open_normal_and_derived_tables (thd=0xfc54a8, tables=0x40281bc0, flags=0) at sql_base.cc:3254 #22 0x0000000000788307 in mysqld_list_fields (thd=0xfc54a8, table_list=0x40281bc0, wild=0xfec830 "") at sql_show.cc:783 #23 0x0000000000671363 in dispatch_command (command=COM_FIELD_LIST, thd=0xfc54a8, packet=0xfe477d "", packet_length=5) at sql_parse.cc:1958 #24 0x0000000000670528 in do_command (thd=0xfc54a8) at sql_parse.cc:1626 #25 0x000000000066f658 in handle_one_connection (arg=0xfc54a8) at sql_parse.cc:1232 #26 0x0000002a95ef2aff in start_thread () from /lib64/tls/libpthread.so.0 #27 0x0000002a95c7c4b3 in clone () from /lib64/tls/libc.so.6 #28 0x0000000000000000 in ?? () It get's a shared lock instead of an exclusive lock. (gdb) f 4 #4 0x00000000008e44f8 in Bdb::mark (this=0x2a962afa78, transId=0) at BDB.cpp:72 72 ASSERT (lockType == Exclusive); (gdb) p lockType $1 = Shared
[23 Feb 2007 15:18]
Jim Starkey
Problem was corruption induced by incorrect index recovery. The specific problem was that left-most index page were propagating their initial index values (like other buckets) during recovery.
[26 Feb 2007 10:03]
Hakan Küçükyılmaz
Still failing. Now with different backtrace: +-------+--------+ | v | v2 | +-------+--------+ | 54000 | 5400.0 | +-------+--------+ 1 row in set (4 min 3.52 sec) +-------+--------+ | v | v2 | +-------+--------+ | 55000 | 5500.0 | +-------+--------+ 1 row in set (4 min 6.40 sec) ERROR 2013 (HY000): Lost connection to MySQL server during query 5.2.4-falcon-alpha-debug Backtrace after restarting mysqld: Serial Log possible gap: 55706 - 40230 Program received signal SIGILL, Illegal instruction. [Switching to Thread 1098242992 (LWP 8097)] 0xffffe410 in __kernel_vsyscall () (gdb) bt #0 0xffffe410 in __kernel_vsyscall () #1 0x40182541 in raise () from /lib/tls/libc.so.6 #2 0x084580a6 in Error::debugBreak () at Error.cpp:93 #3 0x08458103 in Error::error (string=0x87651b8 "assertion failed at line %d in file %s\n") at Error.cpp:70 #4 0x08458193 in Error::assertionFailed (fileName=0x87669c1 "IndexRootPage.cpp", line=305) at Error.cpp:77 #5 0x08469c5b in IndexRootPage::findInsertionLeaf (dbb=0x404fab3c, indexId=29, indexKey=0x4175a094, recordNumber=102117, transId=0) at IndexRootPage.cpp:305 #6 0x0846b967 in IndexRootPage::indexMerge (dbb=0x404fab3c, indexId=29, logRecord=0x4175b014, transId=0) at IndexRootPage.cpp:863 #7 0x084bdb56 in SRLUpdateIndex::execute (this=0x4175b014) at SRLUpdateIndex.cpp:155 #8 0x084bdc39 in SRLUpdateIndex::redo (this=0x4175b014) at SRLUpdateIndex.cpp:127 #9 0x084a4dac in SerialLog::recover (this=0x41795614) at SerialLog.cpp:354 #10 0x0844ac46 in Database::openDatabase (this=0x4175e028, filename=0x4175b2a0 "/data/mysql-sap/test.fts") at Database.cpp:603 #11 0x0843f7bd in Connection::getDatabase (this=0x404fa9dc, dbName=0x404fa7dc "test", dbFileName=0x4175b2a0 "/data/mysql-sap/test.fts", threads=0x404fa820) at Connection.cpp:1643 #12 0x0843f9e9 in Connection::openDatabase (this=0x404fa9dc, dbName=0x404fa7dc "test", filename=0x404fa800 "./test.fts", account=0x875d570 "mysql", password=0x875d570 "mysql", address=0x0, parent=0x404fa820) at Connection.cpp:923 #13 0x08413c49 in StorageDatabase::getOpenConnection (this=0x404fa5d4) at StorageDatabase.cpp:144 #14 0x08410a25 in StorageConnection::connect (this=0x404fa514) at StorageConnection.cpp:112 #15 0x0841525a in StorageHandler::getStorageConnection (this=0x404fa028, path=0x8951808 "./test", mySqlThread=0x0, createFlag=OpenDatabase) at StorageHandler.cpp:148 #16 0x0840daef in NfsStorageTable::open (this=0x89831c8, name=0x894a7f0 "./test/t20", mode=2, test_if_locked=2) at ha_falcon.cpp:352 #17 0x08356db4 in handler::ha_open (this=0x89831c8, table_arg=0x8982720, name=0x894a7f0 "./test/t20", mode=2, test_if_locked=2) at handler.cc:1532 #18 0x082b43e6 in open_table_from_share (thd=0x896b470, share=0x894a590, alias=0x8997600 "t20", db_stat=39, prgflag=44, ha_open_flags=0, outparam=0x8982720, is_create_table=false) at table.cc:1536 #19 0x082ae443 in open_unireg_entry (thd=0x896b470, entry=0x8982720, table_list=0x8997608, alias=0x8997600 "t20", cache_key=0x4175bf6e "test", cache_key_length=9, mem_root=0x4175c080, flags=0) at sql_base.cc:2675 #20 0x082b00e2 in open_table (thd=0x896b470, table_list=0x8997608, mem_root=0x4175c080, refresh=0x4175c0b7, flags=0) at sql_base.cc:2059 #21 0x082b090c in open_tables (thd=0x896b470, start=0x4175c114, counter=0x4175c104, flags=0) at sql_base.cc:2922 #22 0x082b0d48 in open_and_lock_tables (thd=0x896b470, tables=0x8997608) at sql_base.cc:3213 #23 0x082769e4 in execute_sqlcom_select (thd=0x896b470, all_tables=0x8997608) at sql_parse.cc:5312 #24 0x0827c5f3 in mysql_execute_command (thd=0x896b470) at sql_parse.cc:2699 #25 0x0828428c in mysql_parse (thd=0x896b470, inBuf=0x8997460 "select count(*) from t20", length=24) at sql_parse.cc:6162 #26 0x08284c97 in dispatch_command (command=COM_QUERY, thd=0x896b470, packet=0x898f401 "select count(*) from t20", packet_length=25) at sql_parse.cc:1857 #27 0x08285cfe in do_command (thd=0x896b470) at sql_parse.cc:1626 #28 0x082861af in handle_one_connection (arg=0x896b470) at sql_parse.cc:1232 #29 0x40284297 in start_thread () from /lib/tls/libpthread.so.0 #30 0x4021937e in clone () from /lib/tls/libc.so.6 #31 0x4175dbb0 in ?? () (gdb) f 5 #5 0x08469c5b in IndexRootPage::findInsertionLeaf (dbb=0x404fab3c, indexId=29, indexKey=0x4175a094, recordNumber=102117, transId=0) at IndexRootPage.cpp:305 305 ASSERT(page->level > 0 || bdb->lockType == Exclusive); (gdb) p page->level $1 = 0 '\0' (gdb) p bdb->lockType $2 = Shared (gdb)
[7 Mar 2007 0:14]
Hakan Küçükyılmaz
With latest change set we are still hitting the same assertion: Serial Log possible gap: 55717 - 46045 Program received signal SIGILL, Illegal instruction. [Switching to Thread 1098242992 (LWP 22351)] 0xffffe410 in __kernel_vsyscall () (gdb) bt #0 0xffffe410 in __kernel_vsyscall () #1 0x40182541 in raise () from /lib/tls/libc.so.6 #2 0x08458772 in Error::debugBreak () at Error.cpp:93 #3 0x084587cf in Error::error (string=0x8765538 "assertion failed at line %d in file %s\n") at Error.cpp:70 #4 0x0845885f in Error::assertionFailed (fileName=0x8766d31 "IndexRootPage.cpp", line=305) at Error.cpp:77 #5 0x0846a1b1 in IndexRootPage::findInsertionLeaf (dbb=0x404fab3c, indexId=29, indexKey=0x4175a094, recordNumber=106315, transId=0) at IndexRootPage.cpp:305 #6 0x0846bec1 in IndexRootPage::indexMerge (dbb=0x404fab3c, indexId=29, logRecord=0x4175b014, transId=0) at IndexRootPage.cpp:863 #7 0x084bdf5a in SRLUpdateIndex::execute (this=0x4175b014) at SRLUpdateIndex.cpp:155 #8 0x084be03d in SRLUpdateIndex::redo (this=0x4175b014) at SRLUpdateIndex.cpp:127 #9 0x084a51b0 in SerialLog::recover (this=0x41795614) at SerialLog.cpp:354 #10 0x0844b2ec in Database::openDatabase (this=0x4175e028, filename=0x4175b2a0 "/data/mysql-sap/test.fts") at Database.cpp:604 #11 0x0843fda9 in Connection::getDatabase (this=0x404fa9dc, dbName=0x404fa7dc "test", dbFileName=0x4175b2a0 "/data/mysql-sap/test.fts", threads=0x404fa820) at Connection.cpp:1643 #12 0x0843ffd5 in Connection::openDatabase (this=0x404fa9dc, dbName=0x404fa7dc "test", filename=0x404fa800 "./test.fts", account=0x875d8d4 "mysql", password=0x875d8d4 "mysql", address=0x0, parent=0x404fa820) at Connection.cpp:923 #13 0x08413f15 in StorageDatabase::getOpenConnection (this=0x404fa5d4) at StorageDatabase.cpp:146 #14 0x08410cc9 in StorageConnection::connect (this=0x404fa514) at StorageConnection.cpp:113 #15 0x08415526 in StorageHandler::getStorageConnection (this=0x404fa028, path=0x8950860 "./test", mySqlThread=0x0, createFlag=OpenDatabase) at StorageHandler.cpp:148 #16 0x0840dd1b in NfsStorageTable::open (this=0x8982220, name=0x8949848 "./test/t20", mode=2, test_if_locked=2) at ha_falcon.cpp:352
[6 Apr 2007 15:31]
Hakan Küçükyılmaz
Still fails with assertion: #0 0x00002b923d2a12ac in raise () from /lib/libpthread.so.0 #1 0x000000000089e260 in Error::debugBreak () at Error.cpp:93 #2 0x000000000089e379 in Error::error (string=0xc14b48 "assertion failed at line %d in file %s\n") at Error.cpp:70 #3 0x000000000089e40f in Error::assertionFailed (fileName=0xc166f0 "IndexRootPage.cpp", line=764) at Error.cpp:77 #4 0x00000000008b2aed in IndexRootPage::redoIndexPage (dbb=0x2aaaab02f068, pageNumber=1563, parentPage=103, level=0, priorPage=112, nextPage=1555, length=2031, data=0x2aaaad9be626 "") at IndexRootPage.cpp:764 #5 0x000000000090e7ef in SRLIndexPage::pass2 (this=0x4087ed38) at SRLIndexPage.cpp:76 #6 0x00000000008f7c6b in SerialLog::recover (this=0x2aaaaaf976d8) at SerialLog.cpp:300 #7 0x000000000088ea4f in Database::openDatabase (this=0x2aaaaaf33190, filename=0x4087f2b0 "/data/mysql-sap/test.fts") at Database.cpp:606 #8 0x00000000008819ee in Connection::getDatabase (this=0x2aaaab02ee20, dbName=0x2aaaab02dea4 "TEST", dbFileName=0x4087f2b0 "/data/mysql-sap/test.fts", threads=0x2aaaab00d0f8) at Connection.cpp:1643 #9 0x0000000000882f93 in Connection::openDatabase (this=0x2aaaab02ee20, dbName=0x2aaaab02dea4 "TEST", filename=0x2aaaab02e7ec "./test.fts", account=0xc0b087 "mysql", password=0xc0b087 "mysql", address=0x0, parent=0x2aaaab00d0f8) at Connection.cpp:923 #10 0x00000000008517bf in StorageDatabase::getOpenConnection (this=0x2aaaab02e728) at StorageDatabase.cpp:149 #11 0x000000000084e8a3 in StorageConnection::connect (this=0x2aaaab02ed10) at StorageConnection.cpp:130 #12 0x000000000085360f in StorageHandler::getStorageConnection (this=0x2aaaaadfe048, tableShare=0x2aaaaafff1c8, mySqlThread=0x1012908, createFlag=OpenDatabase) at StorageHandler.cpp:676 Regards, Hakan
[13 Apr 2007 19:32]
Hakan Küçükyılmaz
Still failing: Program received signal SIGILL, Illegal instruction. [Switching to Thread 1082665312 (LWP 7809)] 0x00002afced5ac2ac in raise () from /lib/libpthread.so.0 (gdb) bt #0 0x00002afced5ac2ac in raise () from /lib/libpthread.so.0 #1 0x00000000007c23f2 in Error::debugBreak () at Error.cpp:93 #2 0x00000000007c24ed in Error::error (string=<value optimized out>) at Error.cpp:70 #3 0x00000000007c254c in Error::assertionFailed (fileName=0x4 <Address 0x4 out of bounds>, line=7809) at Error.cpp:77 #4 0x00000000007d0c75 in IndexRootPage::redoIndexPage (dbb=0x2aaaab0338d0, pageNumber=1800, parentPage=103, level=<value optimized out>, priorPage=112, nextPage=1790, length=2031, data=0x2aaaada9e626 "") at IndexRootPage.cpp:766 #5 0x000000000080aed5 in SRLIndexPage::pass2 (this=0x4087f088) at SRLIndexPage.cpp:76 #6 0x00000000007fc2a2 in SerialLog::recover (this=0x2aaaaafa3920) at SerialLog.cpp:303 #7 0x00000000007b646b in Database::openDatabase (this=0x2aaaaaf372d8, filename=0x4087f3f0 "/data/mysql-sap/test.fts") at Database.cpp:607 #8 0x00000000007af09d in Connection::getDatabase (this=0x2aaaab033648, dbName=0x2aaaab032784 "TEST", dbFileName=0x4087f3f0 "/data/mysql-sap/test.fts", threads=0x2aaaab00a190) at Connection.cpp:1644 #9 0x00000000007afd61 in Connection::openDatabase (this=0x2aaaab033648, dbName=0x2aaaab032784 "TEST", filename=<value optimized out>, account=0x9d599c "mysql", password=0x9d599c "mysql", address=0x0, parent=0x2aaaab00a190) at Connection.cpp:924 #10 0x000000000079098b in StorageDatabase::getOpenConnection (this=0x2aaaab032698) at StorageDatabase.cpp:149 #11 0x000000000078f42f in StorageConnection::connect (this=0x2aaaab033538) at StorageConnection.cpp:131 #12 0x0000000000792d62 in StorageHandler::getStorageConnection (this=0x2aaaaae00048, tableShare=0x2aaaab0011c8, mySqlThread=0xe4d028, mySqlThdId=1, createFlag=OpenDatabase) at StorageHandler.cpp:662 #13 0x000000000078c6d1 in NfsStorageTable::open (this=0xe79e58, name=0xe4c108 "./test/t20", mode=<value optimized out>, test_if_locked=<value optimized out>) at ha_falcon.cpp:387 #14 0x00000000006e60f9 in handler::ha_open (this=0xe79e58, table_arg=0xe4b238, name=0xe4c108 "./test/t20", mode=2, test_if_locked=<value optimized out>) at handler.cc:1527 #15 0x00000000006594d4 in open_table_from_share (thd=0xe4d028, share=0xe4bd98, alias=<value optimized out>, db_stat=39, prgflag=<value optimized out>, ha_open_flags=0, outparam=0xe4b238, is_create_table=false) at table.cc:1577 #16 0x0000000000650918 in open_unireg_entry (thd=0xe4d028, entry=0xe4b238, table_list=0x40881de0, ---Type <return> to continue, or q <return> to quit---q alias=0xe7bfQuit ) at sql_base.cc:2899 #17 0x00000000006521e8 in open_table (thd=0xe4d028, table_list=0x40881de0, mem_root=0x40881630, refresh=0x4088168f, flags=0) at sql_base.cc:2284 #18 0x0000000000652be2 in open_tables (thd=0xe4d028, start=0x408816e0, counter=0x40881704, flags=0) at sql_base.cc:3180 #19 0x0000000000652f03 in open_normal_and_derived_tables (thd=0xe4d028, tables=0x40881de0, flags=0) at sql_base.cc:3522 #20 0x00000000007111ae in mysqld_list_fields (thd=0xe4d028, table_list=0x40881de0, wild=0xe7bf20 "") at sql_show.cc:783 #21 0x000000000061d81d in dispatch_command (command=<value optimized out>, thd=0xe4d028, packet=0xe73e69 "t20", packet_length=5) at sql_parse.cc:994 #22 0x000000000061dafc in do_command (thd=0xe4d028) at sql_parse.cc:662 #23 0x000000000060f77e in handle_one_connection (arg=<value optimized out>) at sql_connect.cc:1089 #24 0x00002afced5a5f1a in start_thread () from /lib/libpthread.so.0 #25 0x00002afcedc5a602 in clone () from /lib/libc.so.6 #26 0x0000000000000000 in ?? () (gdb) f 4 #4 0x00000000007d0c75 in IndexRootPage::redoIndexPage (dbb=0x2aaaab0338d0, pageNumber=1800, parentPage=103, level=<value optimized out>, priorPage=112, nextPage=1790, length=2031, data=0x2aaaada9e626 "") at IndexRootPage.cpp:766 766 ASSERT(parent->level == indexPage->level + 1); (gdb) p parent->level $1 = 2 '\002' (gdb) p indexPage->level $2 = 0 '\0' (gdb)
[14 Jun 2007 15:48]
Jim Starkey
No longer reproducable. Don't know when or how it got fixed, but it no longer seems to be a problem.
[15 Jun 2007 9:24]
Hakan Küçükyılmaz
Still failing as described on Linux 64-bit. #4 0x00000000007a6935 in ~SyncObject (this=0x2b75950af030) at SyncObject.cpp:119 119 ASSERT(lockState == 0); (gdb) p lockState $1 = -1 Backtrace is [New LWP 23562] Exception: assertion failed at line 790 in file IndexRootPage.cpp Bugcheck: assertion failed at line 119 in file SyncObject.cpp Memory Module Line In Use Space in Use Deleted Space deleted SerialLog.cpp 785 19960 3353280 0 0 RecoveryObjects.cpp 136 856 61632 1 72 Dbb.cpp 345 0 0 2 576 SparseArray.h 92 0 0 1 432 Log.cpp 150 1 64 0 0 Thread.cpp 235 1 320 0 0 StorageHandler.cpp 529 1 168 0 0 StorageTableShare.cpp 60 1 280 0 0 StorageTableShare.cpp 64 1 160 0 0 JString.cpp 476 15 808 28 3056 Index.cpp 92 0 0 9 448 StorageHandler.cpp 360 1 368 0 0 StorageDatabase.cpp 95 1 360 0 0 StorageDatabase.cpp 113 1 136 0 0 StorageDatabase.cpp 115 1 608 0 0 Database.cpp 414 0 0 1 704 Dbb.cpp 79 0 0 1 224 Database.cpp 419 0 0 1 360 Dbb.cpp 166 1 552 0 0 Cache.cpp 69 1 40 0 0 Database.cpp 465 0 0 1 896 Database.cpp 467 0 0 1 608 Schedule.cpp 67 2 112 3 168 ScheduleElement.cpp 53 11 616 3 168 SerialLog.cpp 66 0 0 1 144 SerialLog.cpp 67 0 0 1 144 Database.cpp 471 0 0 1 64 Stack.cpp 114 0 0 21 1176 Database.cpp 1048 0 0 1 448 Database.cpp 1147 0 0 1 448 Syntax.cpp 345 0 0 30 7296 Index.cpp 96 0 0 9 448 Table.cpp 1880 0 0 7 648 Table.cpp 795 0 0 7 504 Database.cpp 993 0 0 7 5768 Table.cpp 790 0 0 7 1344 Table.cpp 166 0 0 53 7208 Table.cpp 177 0 0 9 2592 Table.cpp 406 0 0 7 560 Format.cpp 53 0 0 7 1072 Threads.cpp 105 0 0 2 640 Role.cpp 121 7 448 0 0 Syntax.cpp 149 0 0 2 80 TableSpaceManager.cpp 193 0 0 2 208 Database.cpp 475 0 0 1 216 Database.cpp 476 0 0 1 216 Database.cpp 477 0 0 1 152 Database.cpp 478 0 0 1 152 Database.cpp 479 0 0 1 984 Database.cpp 481 1 496 0 0 Database.cpp 483 1 856 0 0 Value.cpp 196 0 0 3 168 TableSpace.cpp 42 0 0 2 1408 SerialLog.cpp 693 0 0 19 3192 SerialLog.cpp 301 1 856 0 0 SerialLog.cpp 302 0 0 1 856 SerialLog.cpp 303 0 0 1 856 Cache.cpp 88 1 4198432 0 0 StorageHandler.cpp 86 1 2880 0 0 Connection.cpp 1646 1 4664 0 0 Cache.cpp 74 1 253992 0 0 Database.cpp 452 1 4208 0 0 SymbolManager.cpp 54 1 5040 0 0 Database.cpp 466 1 1696 0 0 RoleModel.cpp 109 1 1032 0 0 RoleModel.cpp 110 1 1032 0 0 Database.cpp 480 1 1080 0 0 Total 20875 7896216 258 46704 Number small hunks: 2 Number big hunks: 3 Unique sizes: 4 Free segments: 4 Free space: 1821288 Records Module Line In Use Space in Use Deleted Space deleted Total 0 0 0 0 Number small hunks: 0 Number big hunks: 0 Unique sizes: 0 Free segments: 0 Free space: 0 Program received signal SIGILL, Illegal instruction. [Switching to LWP 23562] 0x00002b75939e1fed in ?? () (gdb) bt #0 0x00002b75939e1fed in ?? () #1 0x00000000007d25c2 in Error::debugBreak () at Error.cpp:92 #2 0x00000000007d26bd in Error::error (string=<value optimized out>) at Error.cpp:69 #3 0x00000000007d271c in Error::assertionFailed (fileName=0x4 <Address 0x4 out of bounds>, line=23562) at Error.cpp:76 #4 0x00000000007a6935 in ~SyncObject (this=0x2b75950af030) at SyncObject.cpp:119 #5 0x000000000082c843 in ~Bdb (this=0x2b75950aefc8) at BDB.cpp:65 #6 0x000000000082e670 in ~Cache (this=0x2b759524a198) at Cache.cpp:117 #7 0x00000000007c81bb in ~Database (this=0x2b7595048b98) at Database.cpp:572 #8 0x00000000007bed75 in Connection::getDatabase (this=0x2b75952499b0, dbName=0x2b75952496ac "falcon_master", dbFileName=0x4007e1d0 "/data/mysql-sap/falcon_master.fts", threads=0x2b7595249718) at Connection.cpp:1656 #9 0x00000000007bfa11 in Connection::openDatabase (this=0x2b75952499b0, dbName=0x2b75952496ac "falcon_master", filename=<value optimized out>, account=0x9f0efc "mysql", password=0x9f0efc "mysql", address=0x0, parent=0x2b7595249718) at Connection.cpp:928 #10 0x000000000079ef83 in StorageDatabase::getOpenConnection (this=0x2b7595249538) at StorageDatabase.cpp:127 #11 0x00000000007a0ac7 in StorageHandler::initialize (this=0x2b7595048048) at StorageHandler.cpp:911 #12 0x00000000007a1a62 in StorageHandler::getStorageConnection (this=0x2b7595048048, tableShare=0x2b75952491c8, mySqlThread=0xf49618, mySqlThdId=1, createFlag=OpenDatabase, tableSpaceMode=0) at StorageHandler.cpp:576 #13 0x000000000079a4ca in StorageInterface::open (this=0xfa16f8, name=0xf94770 "./test/t20", mode=<value optimized out>, test_if_locked=<value optimized out>) at ha_falcon.cpp:405 #14 0x00000000006ef29a in handler::ha_open (this=0xfa16f8, table_arg=0xf93b28, name=0xf94770 "./test/t20", mode=2, test_if_locked=<value optimized out>) at handler.cc:1555 #15 0x000000000065fca5 in open_table_from_share (thd=0xf49618, share=0xf943e8, alias=<value optimized out>, db_stat=39, prgflag=<value optimized out>, ha_open_flags=0, outparam=0xf93b28, is_create_table=false) at table.cc:1625 #16 0x0000000000656d68 in open_unireg_entry (thd=0xf49618, entry=0xf93b28, table_list=0x40080d20, alias=0xfa33b0 "t20", cache_key=0x40080330 "test", cache_key_length=9, mem_root=0x40080560, flags=0)
[26 Jun 2007 18:22]
Jim Starkey
I've tried it on both Windows and Linux without a recovery failure. If somebody can reproduce it, please re-open the bug with more detail.
[26 Jun 2007 21:05]
Hakan Küçükyılmaz
Still hits assertion: +-------+--------+ | v | v2 | +-------+--------+ | 58000 | 5800.0 | +-------+--------+ 1 row in set (1 min 29.33 sec) +-------+--------+ | v | v2 | +-------+--------+ | 59000 | 5900.0 | +-------+--------+ 1 row in set (1 min 32.06 sec) killed mysqld Exception: assertion failed at line 790 in file IndexRootPage.cpp Bugcheck: assertion failed at line 119 in file SyncObject.cpp Program received signal SIGILL, Illegal instruction. [Switching to LWP 20462] 0x00002b645c77efed in ?? () (gdb) f 4 #4 0x00000000007a6f45 in ~SyncObject (this=0x2b645de4c318) at SyncObject.cpp:119 119 ASSERT(lockState == 0); (gdb) p lockState $1 = -1 $1 = -1 (gdb) bt #0 0x00002b645c77efed in ?? () #1 0x00000000007d3af2 in Error::debugBreak () at Error.cpp:92 #2 0x00000000007d3be8 in Error::error (string=<value optimized out>) at Error.cpp:69 #3 0x00000000007d3c48 in Error::assertionFailed (fileName=0x4 <Address 0x4 out of bounds>, line=20462) at Error.cpp:76 #4 0x00000000007a6f45 in ~SyncObject (this=0x2b645de4c318) at SyncObject.cpp:119 #5 0x000000000082e34f in ~Bdb (this=0x2b645de4c2b0) at BDB.cpp:65 #6 0x0000000000830180 in ~Cache (this=0x2b645dfe7198) at Cache.cpp:117 #7 0x00000000007c96eb in ~Database (this=0x2b645dde5b98) at Database.cpp:572 #8 0x00000000007c02b5 in Connection::getDatabase (this=0x2b645dfe69b0, dbName=0x2b645dfe66ac "falcon_master", dbFileName=0x4007e1d0 "/data/mysql-sap/falcon_master.fts", threads=0x2b645dfe6718) at Connection.cpp:1656 #9 0x00000000007c0f51 in Connection::openDatabase (this=0x2b645dfe69b0, dbName=0x2b645dfe66ac "falcon_master", filename=<value optimized out>, account=0x9f29fc "mysql", password=0x9f29fc "mysql", address=0x0, parent=0x2b645dfe6718) at Connection.cpp:928 #10 0x000000000079f7d3 in StorageDatabase::getOpenConnection (this=0x2b645dfe6538) at StorageDatabase.cpp:127 #11 0x00000000007a0ff7 in StorageHandler::initialize (this=0x2b645dde5048) at StorageHandler.cpp:913 #12 0x00000000007a1f82 in StorageHandler::getStorageConnection (this=0x2b645dde5048, tableShare=0x2b645dfe61c8, mySqlThread=0xf4b618, mySqlThdId=1, createFlag=OpenDatabase, tableSpaceMode=0) at StorageHandler.cpp:576 #13 0x000000000079abba in StorageInterface::open (this=0xfa3788, name=0xf96800 "./test/t20", mode=<value optimized out>, test_if_locked=<value optimized out>) at ha_falcon.cpp:402 #14 0x00000000006ef81a in handler::ha_open (this=0xfa3788, table_arg=0xf95bb8, name=0xf96800 "./test/t20", mode=2, test_if_locked=<value optimized out>) at handler.cc:1555 #15 0x0000000000660225 in open_table_from_share (thd=0xf4b618, share=0xf96478, alias=<value optimized out>, db_stat=39, prgflag=<value optimized out>, ha_open_flags=0, outparam=0xf95bb8, is_create_table=false) at table.cc:1625 #16 0x00000000006572e8 in open_unireg_entry (thd=0xf4b618, entry=0xf95bb8, table_list=0x40080d20, alias=0xfa5440 "t20", cache_key=0x40080330 "test", cache_key_length=9, mem_root=0x40080560, flags=0) at sql_base.cc:3301
[27 Jun 2007 18:08]
Jim Starkey
I can't reproduce it. I'm not arguing that it doesn't happen, just that I can't make it happen. I've tried it six times; typical result below. Before restarting the server, please zip the falcon*.* files and the schema directory in the data directory before restarting? That will at least give me something to work on. +--------+---------+ | v | v2 | +--------+---------+ | 101000 | 10100.0 | +--------+---------+ 1 row in set (2 min 24.65 sec) +--------+---------+ | v | v2 | +--------+---------+ | 102000 | 10200.0 | +--------+---------+ 1 row in set (2 min 26.95 sec) +--------+---------+ | v | v2 | +--------+---------+ | 103000 | 10300.0 | +--------+---------+ 1 row in set (2 min 29.14 sec) +--------+---------+ | v | v2 | +--------+---------+ | 104000 | 10400.0 | +--------+---------+ 1 row in set (2 min 31.92 sec) ERROR 2013 (HY000): Lost connection to MySQL server during query mysql> select count(*) from t20; ERROR 2006 (HY000): MySQL server has gone away No connection. Trying to reconnect... Connection id: 1 Current database: test +----------+ | count(*) | +----------+ | 209258 | +----------+ 1 row in set (2.92 sec)
[1 Jul 2007 12:26]
Hakan Küçükyılmaz
Can't repeat anymore. I tried it six times and killed mysqld at 1) 50k 2) 50k 3) 40k 4) 110k 5) 170k 6) 410k Restarting and recovery worked without a crash. Best regards, Hakan