Bug #35047 Falcon crash in Table::hasUncommittedRecords line 3261
Submitted: 4 Mar 2008 17:56 Modified: 12 May 2008 19:47
Reporter: Philip Stoev Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: Falcon storage engine Severity:S3 (Non-critical)
Version:6.0-falcon-team OS:Any
Assigned to: Assigned Account CPU Architecture:Any
Tags: simpler_testcase_needed

[4 Mar 2008 17:56] Philip Stoev
Description:
When executing a concurrent workload which contains DDL, Falcon crashes as follows:

#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  0x084a10cb in Table::hasUncommittedRecords (this=0x0, transaction=0x0) at Table.cpp:3261
#6  0x08498697 in StorageTable::alterCheck (this=0xb74ffb18) at StorageTable.cpp:550
#7  0x0848be1e in StorageInterface::external_lock (this=0xac1dd48, thd=0xabd2960, lock_type=1) at ha_falcon.cpp:1852
#8  0x083bf8a2 in ha_partition::external_lock (this=0xabb87e0, thd=0xabd2960, lock_type=1) at ha_partition.cc:2480
#9  0x083b25e1 in handler::ha_external_lock (this=0xabb87e0, thd=0xabd2960, lock_type=1) at handler.cc:4568
#10 0x0828803d in lock_external (thd=0xabd2960, tables=0xab864a0, count=1) at lock.cc:391
#11 0x0828857a in mysql_lock_tables (thd=0xabd2960, tables=0xab86ca0, count=1, flags=4, need_reopen=0xa9acca9f) at lock.cc:290
#12 0x082e489a in lock_tables (thd=0xabd2960, tables=0xab86a80, count=1, need_reopen=0xa9acca9f) at sql_base.cc:5128
#13 0x082ecf45 in open_and_lock_tables_derived (thd=0xabd2960, tables=0xab86a80, derived=false) at sql_base.cc:4834
#14 0x082ac7c4 in simple_open_n_lock_tables (thd=0xabd2960, tables=0xab86a80) at mysql_priv.h:1471
#15 0x082ed0d0 in open_n_lock_single_table (thd=0xabd2960, table_l=0xab86a80, lock_type=TL_WRITE_ALLOW_READ) at sql_base.cc:4706
#16 0x083d8164 in mysql_alter_table (thd=0xabd2960, new_db=0xab86c70 "test", new_name=0x0, create_info=0xa9acd6e0, table_list=0xab86a80,
    alter_info=0xa9acdba0, order_num=0, order=0x0, ignore=false) at sql_table.cc:6220
#17 0x082a2ce1 in mysql_execute_command (thd=0xabd2960) at sql_parse.cc:2393
#18 0x082a9e5e in mysql_parse (thd=0xabd2960, inBuf=0xab869c0 "ALTER TABLE inter1 DROP COLUMN filler", length=37, found_semicolon=0xa9ace280)
    at sql_parse.cc:5410
#19 0x082aa871 in dispatch_command (command=COM_QUERY, thd=0xabd2960, packet=0xab99e79 "ALTER TABLE inter1 DROP COLUMN filler", packet_length=37)
    at sql_parse.cc:921
#20 0x082ab9f7 in do_command (thd=0xabd2960) at sql_parse.cc:697
#21 0x08299d21 in handle_one_connection (arg=0xabd2960) at sql_connect.cc:1146
#22 0x00bd750b in start_thread () from /lib/libpthread.so.0
#23 0x00b18b2e in clone () from /lib/libc.so.6

the error log contains the following lines:

Warning at 'read lock with old write lock': Found lock of type 5 that is write and read locked
Warning at 'enter read_lock': Found lock of type 5 that is write and read locked
Warning at 'read lock with old write lock': Found lock of type 5 that is write and read locked
Warning at 'enter read_lock': Found lock of type 5 that is write and read locked
Warning at 'read lock with old write lock': Found lock of type 5 that is write and read locked
Warning at 'start of release lock': Found lock of type 5 that is write and read locked

How to repeat:
Simplifed test case will hopefully follow shortly.
[12 May 2008 19:47] Kevin Lewis
This may be the same issue as Bug#22165 & Bug#28048.  It is the same call stack as Bug#35912.  Marking a a duplicate of 35912.