Bug #29463 | server died, falcon recovery fails in loop, crashing over and over | ||
---|---|---|---|
Submitted: | 1 Jul 2007 1:11 | Modified: | 6 Jul 2007 15:49 |
Reporter: | Shane Bester (Platinum Quality Contributor) | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | MySQL Server: Falcon storage engine | Severity: | S1 (Critical) |
Version: | 6.0.1-BK | OS: | Linux (suse 9.3) |
Assigned to: | CPU Architecture: | Any | |
Tags: | covery, crash |
[1 Jul 2007 1:11]
Shane Bester
[1 Jul 2007 1:13]
MySQL Verification Team
dump file for static data.
Attachment: dump.txt (text/plain), 6.31 KiB.
[1 Jul 2007 1:14]
MySQL Verification Team
run all these sql statements, making sure mysqld_safe will restart server if it crashes.
Attachment: bug29463_error_log.txt.bz2 (application/octet-stream, text), 16.53 KiB.
[1 Jul 2007 1:14]
MySQL Verification Team
error logs from my crashes
Attachment: bug29463_error_log.txt.bz2 (application/octet-stream, text), 16.53 KiB.
[1 Jul 2007 1:15]
MySQL Verification Team
run all *these* sql statements, making sure mysqld_safe will restart server if it crashes.
Attachment: bug29463_testcase.txt.bz2 (application/octet-stream, text), 12.07 KiB.
[1 Jul 2007 13:16]
Hakan Küçükyılmaz
Verified as described. Crash at tbl_18 hakan@lu0011:~/work/mysql/falcon$ mysqladmin -uroot create test hakan@lu0011:~/work/mysql/falcon$ mysql -uroot test < bug29463_testcase.txt Table Op Msg_type Msg_text test.tbl_0 check note The storage engine for the table doesn't support check Table Op Msg_type Msg_text test.tbl_1 check note The storage engine for the table doesn't support check Table Op Msg_type Msg_text test.tbl_2 check note The storage engine for the table doesn't support check Table Op Msg_type Msg_text test.tbl_3 check note The storage engine for the table doesn't support check Table Op Msg_type Msg_text test.tbl_4 check note The storage engine for the table doesn't support check Table Op Msg_type Msg_text test.tbl_5 check note The storage engine for the table doesn't support check Table Op Msg_type Msg_text test.tbl_6 check note The storage engine for the table doesn't support check Table Op Msg_type Msg_text test.tbl_7 check note The storage engine for the table doesn't support check Table Op Msg_type Msg_text test.tbl_8 check note The storage engine for the table doesn't support check Table Op Msg_type Msg_text test.tbl_9 check note The storage engine for the table doesn't support check Table Op Msg_type Msg_text test.tbl_10 check note The storage engine for the table doesn't support check Table Op Msg_type Msg_text test.tbl_11 check note The storage engine for the table doesn't support check Table Op Msg_type Msg_text test.tbl_12 check note The storage engine for the table doesn't support check Table Op Msg_type Msg_text test.tbl_13 check note The storage engine for the table doesn't support check Table Op Msg_type Msg_text test.tbl_14 check note The storage engine for the table doesn't support check Table Op Msg_type Msg_text test.tbl_15 check note The storage engine for the table doesn't support check Table Op Msg_type Msg_text test.tbl_16 check note The storage engine for the table doesn't support check Table Op Msg_type Msg_text test.tbl_17 check note The storage engine for the table doesn't support check --> crash Backtrace is: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 1074272576 (LWP 5810)] 0x0000000000964984 in my_strnxfrm_czech (cs=<value optimized out>, dst=0x4007e3d8 "M\001 \001\003\001\003\003\001��", dstlen=71, nweights_arg=1100, src=0x4007dec0 "�\024", srclen=<value optimized out>, flags=15) at ctype-czech.c:464 464 NEXT_CMP_VALUE(src, p, level, value, (int) srclen, 0); Current language: auto; currently c (gdb) bt #0 0x0000000000964984 in my_strnxfrm_czech (cs=<value optimized out>, dst=0x4007e3d8 "M\001 \001\003\001\003\003\001��", dstlen=71, nweights_arg=1100, src=0x4007dec0 "�\024", srclen=<value optimized out>, flags=15) at ctype-czech.c:464 #1 0x00000000007bf88e in falcon_strnxfrm (cs=0xff, dst=0x73635f6863657a <Address 0x73635f6863657a out of bounds>, dstlen=71, src=0x4007dec0 "�\024", srclen=2) at ha_falcon.cpp:179 #2 0x0000000000810167 in MySQLCollation::makeKey (this=0x2aaaac6883d8, value=<value optimized out>, key=0x4007e3c0, partialKey=0) at MySQLCollation.cpp:73 #3 0x0000000000805114 in Index::makeKey (this=<value optimized out>, field=0x2aaaac687d08, value=0x4007e950, segment=0, indexKey=0x4007e3c0) at Index.cpp:288 #4 0x000000000080533b in Index::makeKey (this=0x2aaaac6beb30, count=2, values=0x4007ed50, indexKey=0x4007ee90) at Index.cpp:355 #5 0x000000000080564d in Index::makeKey (this=0x2aaaac6beb30, record=0x2aaaac6f1e10, key=0x4007ee90) at Index.cpp:535 #6 0x0000000000805a95 in Index::insert (this=0x2aaaac6beb30, record=0x2aaaac6f1e10, transaction=0x2b6ed4cc7f20) at Index.cpp:189 #7 0x00000000007d42ea in Table::insert (this=0x2aaaac6bdc00, transaction=0x2b6ed4cc7f20, stream=0x2b6ed4a9a1e8) at Table.cpp:2553 #8 0x00000000007c7f0b in StorageDatabase::insert (this=<value optimized out>, connection=<value optimized out>, table=0x2aaaac6bdc00, stream=0x2b6ed4a9a1e8) at StorageDatabase.cpp:215 #9 0x00000000007cb848 in StorageTable::insert (this=0x2b6ed4a99670) at StorageTable.cpp:88 #10 0x00000000007c54bc in StorageInterface::write_row (this=0xff9ba8, buff=0xff9de0 "�\002�\024\002�\024���������\b\236�") at ha_falcon.cpp:887 #11 0x000000000071963f in handler::ha_write_row (this=0xff, buf=0x73635f6863657a <Address 0x73635f6863657a out of bounds>) at handler.cc:3669 #12 0x00000000006b235c in write_record (thd=0xf74618, table=0xff86e8, info=0x4007fb20) at sql_insert.cc:1315 #13 0x000000000073b422 in mysql_load (thd=0xf74618, ex=0xfcb5c8, table_list=0xfce590, fields_vars=@0xf764e0, set_fields=@0xf76510, set_values=@0xf764f8, handle_duplicates=DUP_REPLACE, ignore=false, read_file_from_client=true) at sql_load.cc:822 #14 0x0000000000646f42 in mysql_execute_command (thd=0xf74618) at sql_parse.cc:2983 #15 0x000000000064ab9a in mysql_parse (thd=0xf74618, inBuf=0xfce428 "load data local infile '/tmp/dump.txt' replace into table tbl_18 (@h,@i) set a=UNHEX(@h),b=UNHEX(@h)", length=100, found_semicolon=0x40080ff0) at sql_parse.cc:5381 #16 0x000000000064b82c in dispatch_command (command=COM_QUERY, thd=0xf74618, packet=<value optimized out>, packet_length=101) at sql_parse.cc:907 #17 0x000000000064c6e0 in do_command (thd=0xf74618) at sql_parse.cc:669 #18 0x000000000063e4b4 in handle_one_connection (arg=<value optimized out>) at sql_connect.cc:1091 #19 0x00002b6ed33a0225 in start_thread () from /lib/libpthread.so.0 #20 0x00002b6ed416c17d in clone () from /lib/libc.so.6
[1 Jul 2007 13:25]
Hakan Küçükyılmaz
We are hitting the crash when running the tbl_18 part only, too hakan@lu0011:~/work/mysql/falcon$ mysql -uroot test Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 6.0.1-alpha-debug Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 6.0.1-alpha-debug [15:24] root@test>create table tbl_18 (a varchar(2) character set latin2 collate latin2_czech_cs,b varchar(2) character set latin2 collate latin2_czech_cs,key(a,b),key(b,a),key(b),key(a))engine=falcon; Query OK, 0 rows affected (0.24 sec) 6.0.1-alpha-debug [15:24] root@test>load data local infile '/tmp/dump.txt' replace into table tbl_18 (@h,@i) set a=UNHEX(@h),b=UNHEX(@h); ---> crash
[1 Jul 2007 13:59]
MySQL Verification Team
Please note that this testcase will not work after fixing bug #29459 This is because there will be no crash and therefore no failed crash recovery.
[6 Jul 2007 15:49]
Jim Starkey
The script runs to completion on both WinXP and AMD64 Linux.