Bug #54804 crash in handler::ha_external_lock
Submitted: 25 Jun 2010 12:48 Modified: 2 Jun 2015 7:51
Reporter: Matthias Leich Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server: Locking Severity:S3 (Non-critical)
Version:5.5.5-m3-debug-log OS:Any
Assigned to: Matthias Leich CPU Architecture:Any
Tags: locking

[25 Jun 2010 12:48] Matthias Leich
Description:
The crash happens in handler.cc:4619 :
int handler::ha_external_lock(THD *thd, int lock_type)
{
  DBUG_ENTER("handler::ha_external_lock");
  /*
    Whether this is lock or unlock, this should be true, and is to verify that
    if get_auto_increment() was called (thus may have reserved intervals or
    taken a table lock), ha_release_auto_increment() was too.
  */
  DBUG_ASSERT(next_insert_id == 0); <------------------------

RQG test with concurrent DDL/DML workload
- 32 threads
- current conf/runtime/WL5004_* grammars

Result on 5.5.5-m3 mysql-trunk-runtime revno: 3062 2010-06-25
-------------------------------------------------------------
Thread 1 (Thread 2250):
#0  0x000000382860bd02 in pthread_kill () from /lib64/libpthread.so.0
#1  0x0000000000b5b1b1 in my_write_core (sig=11) at stacktrace.c:326
#2  0x0000000000699e71 in handle_segfault (sig=11) at mysqld.cc:2791
#3  <signal handler called>
#4  0x00000000007f2111 in handler::ha_external_lock (this=0x0,
    thd=0x2aaabc1fa018, lock_type=2) at handler.cc:4619
#5  0x000000000068e6a2 in unlock_external (thd=0x2aaabc1fa018,
    table=0x2aaabc091900, count=1) at lock.cc:747
#6  0x000000000068e9df in mysql_unlock_tables (thd=0x2aaabc1fa018,
    sql_lock=0x2aaabc0918d8) at lock.cc:386
#7  0x000000000070737d in close_thread_tables (thd=0x2aaabc1fa018)
    at sql_base.cc:1661
#8  0x0000000000707619 in Locked_tables_list::unlock_locked_tables (
    this=0x2aaabc1fb870, thd=0x2aaabc1fa018) at sql_base.cc:3415
#9  0x00000000006af467 in mysql_execute_command (thd=0x2aaabc1fa018)
    at sql_parse.cc:3549
#10 0x00000000006b3577 in mysql_parse (thd=0x2aaabc1fa018,
    inBuf=0x2aaabc02fb68 "UNLOCK TABLES", length=13, parser_state=0x499e19b0)
    at sql_parse.cc:5911
#11 0x00000000006b4b2a in dispatch_command (command=COM_QUERY,
    thd=0x2aaabc1fa018, packet=0x2aaabc036f19 "UNLOCK TABLES",
    packet_length=13) at sql_parse.cc:1135
#12 0x00000000006b6072 in do_command (thd=0x2aaabc1fa018) at sql_parse.cc:807
#13 0x00000000006a3f81 in do_handle_one_connection (thd_arg=0x2aaabc1fa018)
    at sql_connect.cc:1196
#14 0x00000000006a4047 in handle_one_connection (arg=0x2aaabc1fa018)
    at sql_connect.cc:1135
#15 0x000000382860673d in start_thread () from /lib64/libpthread.so.0
#16 0x0000003827ad3d1d in clone () from /lib64/libc.so.6

How to repeat:
I will upload an archive with log and grammars.
The crash has a low probability.
Please wait till I come up with a simplified
replay testcase.
[25 Jun 2010 12:59] Matthias Leich
log and grammars

Attachment: problem.tgz (application/x-compressed-tar, text), 195.80 KiB.