Bug #27895 | Falcon: crash if new database and interleaving transactions | ||
---|---|---|---|
Submitted: | 17 Apr 2007 16:51 | Modified: | 26 Apr 2007 11:01 |
Reporter: | Peter Gulutzan | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Falcon storage engine | Severity: | S1 (Critical) |
Version: | 6.0.0-falcon-alpha-debug | OS: | Linux (SUSE 10 64-bit) |
Assigned to: | CPU Architecture: | Any |
[17 Apr 2007 16:51]
Peter Gulutzan
[17 Apr 2007 17:30]
MySQL Verification Team
Thank you for the bug report. Verified as described on FC 6 32-bit. T2>use falcon4 Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed T2>start transaction; Query OK, 0 rows affected (0.00 sec) T2>insert into t2 values (2,'b'); ERROR 2013 (HY000): Lost connection to MySQL server during query
[17 Apr 2007 18:46]
Hakan Küçükyılmaz
Clean SIGSEV (gdb) p storageConnection $1 = (class StorageConnection *) 0x0 Backtrace Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 1158465888 (LWP 16430)] 0x000000000078c120 in NfsStorageTable::external_lock (this=0xe4b648, thd=0xe88708, lock_type=1) at ha_falcon.cpp:1526 1526 if (storageConnection->startTransaction(thd->variables.tx_isolation)) (gdb) bt #0 0x000000000078c120 in NfsStorageTable::external_lock (this=0xe4b648, thd=0xe88708, lock_type=1) at ha_falcon.cpp:1526 #1 0x00000000006e4659 in handler::ha_external_lock (this=0xe4b648, thd=0xe88708, lock_type=1) at handler.cc:3610 #2 0x0000000000601337 in lock_external (thd=0xe88708, tables=<value optimized out>, count=1) at lock.cc:261 #3 0x0000000000601f3a in mysql_lock_tables (thd=0xe88708, tables=0xe930c8, count=1, flags=4, need_reopen=0x450cab97) at lock.cc:172 #4 0x000000000064b512 in lock_tables (thd=0xe88708, tables=0xe92c10, count=<value optimized out>, need_reopen=0x450cab97) at sql_base.cc:3640 #5 0x000000000065305a in open_and_lock_tables (thd=0xe88708, tables=0xe92c10) at sql_base.cc:3483 #6 0x0000000000686751 in mysql_insert (thd=0xe88708, table_list=0xe92c10, fields=@0xe8a530, values_list=@0xe8a578, update_fields=@0xe8a560, update_values=@0xe8a548, duplic=DUP_ERROR, ignore=false) at sql_insert.cc:464 #7 0x000000000061b881 in mysql_execute_command (thd=0xe88708) at sql_parse.cc:2643 #8 0x000000000061c0df in mysql_parse (thd=0xe88708, inBuf=0xe92b58 "insert into t2 values (2,'b')", length=<value optimized out>) at sql_parse.cc:5274 #9 0x000000000061ccbb in dispatch_command (command=COM_QUERY, thd=0xe88708, packet=<value optimized out>, packet_length=30) at sql_parse.cc:896 #10 0x000000000061dbac in do_command (thd=0xe88708) at sql_parse.cc:662 #11 0x000000000060f82e in handle_one_connection (arg=<value optimized out>) at sql_connect.cc:1089 #12 0x00002b9de0f40f1a in start_thread () from /lib/libpthread.so.0 #13 0x00002b9de15f5602 in clone () from /lib/libc.so.6
[17 Apr 2007 19:17]
Hakan Küçükyılmaz
Added test case falcon_bug_27895.test and pushed into 5.1-falcon tree.
[17 Apr 2007 19:19]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/24702 ChangeSet@1.2602, 2007-04-17 21:18:47+02:00, hakank@lu0011.wdf.sap.corp +3 -0 Test for Bug#27895.
[17 Apr 2007 19:29]
Hakan Küçükyılmaz
Dear bug system, a test was pushed for this bug, not a patch. Best regards, Hakan
[19 Apr 2007 23:10]
Hakan Küçükyılmaz
Crash is gone, but now data is missing: hakan@lu0011:~/work/mysql/mysql-5.1-falcon/mysql-test$ ./mysql-test-run.pl --enable-disabled falcon_bug_27895Logging: ./mysql-test-run.pl --enable-disabled falcon_bug_27895 MySQL Version 6.0.0 Using binlog format 'mixed' Skipping ndbcluster, mysqld not compiled with ndbcluster Setting mysqld to support SSL connections Binaries are debug compiled Using MTR_BUILD_THREAD = 0 Using MASTER_MYPORT = 9306 Using MASTER_MYPORT1 = 9307 Using SLAVE_MYPORT = 9308 Using SLAVE_MYPORT1 = 9309 Using SLAVE_MYPORT2 = 9310 Using IM_PORT = 9312 Using IM_MYSQLD1_PORT = 9313 Using IM_MYSQLD2_PORT = 9314 Killing Possible Leftover Processes Removing Stale Files Creating Directories Installing Master Database Installing Master Database ======================================================= Starting Tests in the 'main' suite Test(s) which will be run though they are marked as disabled: falcon_bug_27895 : Bug#27895 2007-04-17 hakank Currently failing TEST RESULT TIME (ms) ------------------------------------------------------- falcon_bug_27895 [ fail ] ERROR: Bug#27895 2007-04-17 hakank Currently failing Below are the diffs between actual and expected results: ------------------------------------------------------- *** r/falcon_bug_27895.result 2007-04-17 22:18:45.000000000 +0300 --- r/falcon_bug_27895.reject 2007-04-20 02:09:51.000000000 +0300 *************** *** 25,30 **** COMMIT; SELECT count(*) FROM t1; count(*) ! 3 DROP SCHEMA db1; USE test; --- 25,30 ---- COMMIT; SELECT count(*) FROM t1; count(*) ! 1 DROP SCHEMA db1; USE test; ------------------------------------------------------- Please follow the instructions outlined at http://www.mysql.com/doc/en/Reporting_mysqltest_bugs.html to find the reason to this problem and how to report this. Related to Bug#27767
[20 Apr 2007 18:40]
Hakan Küçükyılmaz
Test passes now TEST RESULT TIME (ms) ------------------------------------------------------- falcon_bug_27895 [ pass ] 1322 ------------------------------------------------------- Stopping All Servers All 1 tests were successful. The servers where restarted 1 times Spent 1.322 seconds actually executing testcases
[26 Apr 2007 11:01]
MC Brown
A note has been added to the 6.0.0 changelog.