Bug #43150 | Falcon mutex assertion (ret == 0) from Transaction::commitNoUpdates | ||
---|---|---|---|
Submitted: | 24 Feb 2009 14:47 | Modified: | 26 May 2010 17:52 |
Reporter: | Philip Stoev | Email Updates: | |
Status: | Unsupported | Impact on me: | |
Category: | MySQL Server: Falcon storage engine | Severity: | S2 (Serious) |
Version: | 6.0-falcon-team | OS: | Linux |
Assigned to: | Olav Sandstå | CPU Architecture: | Any |
Tags: | F_TRANSACTION |
[24 Feb 2009 14:47]
Philip Stoev
[24 Feb 2009 14:51]
Philip Stoev
Mutex from frame 8: $1 = {<SynchronizationObject> = {_vptr.SynchronizationObject = 0xe4ecd0}, holder = 0x0, mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\0' <repeats 39 times>, __align = 0}} Sync object from frame 11: (gdb) print * this $4 = {_vptr.Sync = 0xe50990, syncObject = 0x2aaabc454d60, state = Exclusive, request = Exclusive, prior = 0x0, location = 0xe53390 "Transaction::commitNoUpdates(3)", marked = 0x0} SyncObject from frame 10: (gdb) print * this $6 = {<SynchronizationObject> = {_vptr.SynchronizationObject = 0xe50c90}, monitorCount = 0, mutex = {<SynchronizationObject> = { _vptr.SynchronizationObject = 0xe4ecd0}, holder = 0x0, mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\0' <repeats 39 times>, __align = 0}}, queue = 0x0, exclusiveThread = 0x0, readers = 0, waiters = 0, lockState = 0, stalls = 0, objectId = 661413, sharedCount = 0, collisionCount = 0, exclusiveCount = 2, waitCount = 0, queueLength = 0, location = 0xe530f4 "Transaction::initialize(1)", name = 0xe53165 "Transaction::syncObject"}
[7 Mar 2009 8:45]
Philip Stoev
This happened 4 out of 82 RQG runs, with the following backtrace: #2 0x00000000006c1171 in handle_segfault (sig=11) at mysqld.cc:2690 #3 <signal handler called> #4 0x0000003586e782b0 in strlen () from /lib64/libc.so.6 #5 0x0000003586e46729 in vfprintf () from /lib64/libc.so.6 #6 0x0000003586e47af6 in buffered_vfprintf () from /lib64/libc.so.6 #7 0x0000003586e425dc in vfprintf () from /lib64/libc.so.6 #8 0x0000003586e4cf18 in fprintf () from /lib64/libc.so.6 #9 0x0000000000982b75 in Mutex::lock (this=0x2aaaac5195e0) at Mutex.cpp:90 #10 0x00000000009983e4 in SyncObject::grantLocks (this=0x2aaaac5195d0) at SyncObject.cpp:839 #11 0x0000000000998853 in SyncObject::unlock (this=0x2aaaac5195d0, sync=0x414db8d0, type=Exclusive) at SyncObject.cpp:536 #12 0x0000000000997b51 in ~Sync (this=0x414db8d0) at Sync.cpp:51 #13 0x00000000009b22bc in Transaction::commitNoUpdates (this=0x2aaaac519468) at Transaction.cpp:357 #14 0x00000000009b2429 in Transaction::commit (this=0x2aaaac519468) at Transaction.cpp:212 #15 0x00000000009cbc56 in Connection::commit (this=0x2aaaaae2fcd0) at Connection.cpp:272 #16 0x0000000000985ddf in StorageConnection::commit (this=0x2aaaaae2fc18) at StorageConnection.cpp:150 #17 0x0000000000985716 in StorageConnection::endImplicitTransaction (this=0x2aaaaae2fc18) at StorageConnection.cpp:349 #18 0x0000000000977180 in StorageInterface::external_lock (this=0x2aaab4064a38, thd=0x14d96aa0, lock_type=2) at ha_falcon.cpp:2245 #19 0x0000000000817e63 in handler::ha_external_lock (this=0x2aaab4064a38, thd=0x14d96aa0, lock_type=2) at handler.cc:5449 #20 0x0000000000828a1c in ha_partition::external_lock (this=0x2aaab404d508, thd=0x14d96aa0, lock_type=2) at ha_partition.cc:2686 #21 0x0000000000817e63 in handler::ha_external_lock (this=0x2aaab404d508, thd=0x14d96aa0, lock_type=2) at handler.cc:5449 #22 0x00000000006b6960 in unlock_external (thd=0x14d96aa0, table=0x2aaab800d3b8, count=1) at lock.cc:822 #23 0x00000000006b6ba1 in mysql_unlock_read_tables (thd=0x14d96aa0, sql_lock=0x2aaab800d380) at lock.cc:503 #24 0x000000000075a096 in JOIN::join_free (this=0x2aaab8044bb8) at sql_select.cc:10409 #25 0x000000000075a535 in do_select (join=0x2aaab8044bb8, fields=0x14d98a80, table=0x0, procedure=0x0) at sql_select.cc:15818 #26 0x00000000007770b9 in JOIN::exec (this=0x2aaab8044bb8) at sql_select.cc:2881 #27 0x0000000000771927 in mysql_select (thd=0x14d96aa0, rref_pointer_array=0x14d98b60, tables=0x14db3120, wild_num=0, fields=@0x14d98a80, conds=0x2aaab80099b0, og_num=2, order=0x2aaab8009c70, group=0x0, having=0x0, proc_param=0x0, select_options=2147764736, result=0x2aaab8009e80, unit=0x14d98510, select_lex=0x14d98978) at sql_select.cc:3062 #28 0x00000000007773d8 in handle_select (thd=0x14d96aa0, lex=0x14d98470, result=0x2aaab8009e80, setup_tables_done_option=0) at sql_select.cc:314 #29 0x00000000006d16e5 in execute_sqlcom_select (thd=0x14d96aa0, all_tables=0x14db3120) at sql_parse.cc:4768 #30 0x00000000006d2753 in mysql_execute_command (thd=0x14d96aa0) at sql_parse.cc:2069 #31 0x00000000006da772 in mysql_parse (thd=0x14d96aa0, inBuf=0x14db2198 "SELECT `varchar_1024_utf8` FROM `table10_falcon_key_pk_parts_2_varchar_1024_not_null` WHERE `varchar_1024_latin1_key` IN ( 'mrgimcoktyjscicwpaohurjbqrahryfebllsotktxniqayyvcwqdtokispdudyarpwbhsfljdukp"..., length=1579, found_semicolon=0x414ddf20) at sql_parse.cc:5763 #32 0x00000000006db903 in dispatch_command (command=COM_QUERY, thd=0x14d96aa0, packet=0x14da1461 "", packet_length=1579) at sql_parse.cc:1009 #33 0x00000000006dcd96 in do_command (thd=0x14d96aa0) at sql_parse.cc:691 #34 0x00000000006ca19a in handle_one_connection (arg=0x14d96aa0) at sql_connect.cc:1146 #35 0x0000003587a062f7 in start_thread () from /lib64/libpthread.so.0 #36 0x0000003586ed1b6d in clone () from /lib64/libc.so.6 (gdb) print description $14 = 0xe662d0 "SyncObject::mutex" (gdb) print ret $15 = 22