Bug #35038 Falcon crash on I_S query in RecordVersion::fetchVersion line 98
Submitted: 4 Mar 2008 15:40 Modified: 26 May 2010 17:49
Reporter: Philip Stoev Email Updates:
Status: Unsupported Impact on me:
None 
Category:MySQL Server: Falcon storage engine Severity:S3 (Non-critical)
Version:6.0-falcon-team OS:Any
Assigned to: Christopher Powers CPU Architecture:Any
Tags: F_RECORD TREE
Triage: Triaged: D1 (Critical) / R3 (Medium) / E3 (Medium)

[4 Mar 2008 15:40] Philip Stoev
Description:
When running a concurrent workload containing queries against information_schema, Falcon crashes with the following stack trace:

#0  0x00110402 in __kernel_vsyscall ()
#1  0x00bdc617 in pthread_kill () from /lib/libpthread.so.0
#2  0x0842ba5c in write_core (sig=11) at stacktrace.c:240
#3  0x082912a6 in handle_segfault (sig=11) at mysqld.cc:2313
#4  <signal handler called>
#5  0x085242c7 in RecordVersion::fetchVersion (this=0xab1bc4d0, trans=0x0) at RecordVersion.cpp:98
#6  0x084d5235 in Context::fetchNext (this=0xb72ae33c, statement=0xb72adf70) at Context.cpp:119
#7  0x084f3650 in FsbExhaustive::fetch (this=0xb7202038, statement=0xb72adf70) at FsbExhaustive.cpp:57
#8  0x084f3ca7 in FsbSieve::fetch (this=0xb7204160, statement=0xb72adf70) at FsbSieve.cpp:56
#9  0x085161cc in NSelect::next (this=0xb7291f70, statement=0xb72adf70, resultSet=0xb72ae388) at NSelect.cpp:369
#10 0x0852d6e3 in ResultSet::next (this=0xb72ae388) at ResultSet.cpp:134
#11 0x08496d25 in StorageHandler::getTablesInfo (this=0xb73ce028, infoTable=0xa9b39db0) at StorageHandler.cpp:1017
#12 0x08488f74 in NfsPluginHandler::callTablesInfo (thd=0xa9cd2560, tables=0xb025be0, cond=0xb025f40) at ha_falcon.cpp:2801
#13 0x083ea1fe in get_schema_tables_result (join=0xa82e428, executed_place=PROCESSED_BY_JOIN_EXEC) at sql_show.cc:6217
#14 0x08328afa in JOIN::exec (this=0xa82e428) at sql_select.cc:2246
#15 0x083258ae in mysql_select (thd=0xa9cd2560, rref_pointer_array=0xa9cd36ac, tables=0xb025be0, wild_num=0, fields=@0xa9cd363c, conds=0xb025f40, og_num=1,
    order=0x0, group=0xb0260f8, having=0xb026418, proc_param=0x0, select_options=2684635648, result=0xb026960, unit=0xa9cd3320, select_lex=0xa9cd35a8)
    at sql_select.cc:2901
#16 0x0832a9d6 in handle_select (thd=0xa9cd2560, lex=0xa9cd32c4, result=0xb026960, setup_tables_done_option=0) at sql_select.cc:282
#17 0x082a0130 in execute_sqlcom_select (thd=0xa9cd2560, all_tables=0xb025be0) at sql_parse.cc:4517
#18 0x082a1684 in mysql_execute_command (thd=0xa9cd2560) at sql_parse.cc:1845
#19 0x082a9e5e in mysql_parse (thd=0xa9cd2560,
    inBuf=0xb025838 "SELECT TABLE_NAME, COUNT(*) FROM INFORMATION_SCHEMA.FALCON_TABLES\nWHERE TABLE_NAME LIKE 'i%' GROUP BY SCHEMA_NAME HAVING UCASE(LEFT(TABLE_NAME,1)) = 'I' LIMIT 1", length=160, found_semicolon=0xa9b3b280) at sql_parse.cc:5410
#20 0x082aa871 in dispatch_command (command=COM_QUERY, thd=0xa9cd2560,
    packet=0xa9cb9061 "SELECT TABLE_NAME, COUNT(*) FROM INFORMATION_SCHEMA.FALCON_TABLES\nWHERE TABLE_NAME LIKE 'i%' GROUP BY SCHEMA_NAME HAVING UCASE(LEFT(TABLE_NAME,1)) = 'I' LIMIT 1", packet_length=160) at sql_parse.cc:921
#21 0x082ab9f7 in do_command (thd=0xa9cd2560) at sql_parse.cc:697
#22 0x08299d21 in handle_one_connection (arg=0xa9cd2560) at sql_connect.cc:1146
#23 0x00bd750b in start_thread () from /lib/libpthread.so.0
#24 0x00b18b2e in clone () from /lib/libc.so.6

How to repeat:
Simple test case will hopefully be provided shortly.
[4 Mar 2008 17:20] Philip Stoev
Test case for bug 35038

Attachment: bug35038.zip (application/x-zip-compressed, text), 1.40 KiB.

[4 Mar 2008 17:23] Philip Stoev
To reproduce this situation, please place the .test files in mysql-test/t and the .txt files in mysql-test. Then run:

$ perl ./mysql-test-ru.pl --stress \
--stress-init-file=bug35038_init.txt --stress-test-file=bug35038_run.txt \
--stress-test-duration=600 --stress-threads=10 --skip-ndb --mysqld=--innodb

A crash should occur within 300 iterations of the script.

Please let me know if further simplication of this test case is required to resolve this issue.