Resource deadlock avoided with PBXT and Maria 5.1.42
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
PBXT |
Fix Committed
|
Undecided
|
Paul McCullagh |
Bug Description
Importing the attached schema and attempting to restart MySQL yields the following:
Apr 19 03:38:37 mcp mysqld: 100419 03:38:37 [Error] DB-RECOVERY-mysql pthread_rwlock_t* xt_xlock_
Apr 19 03:38:37 mcp mysqld: 100419 03:38:37 [Error] DB-RECOVERY-mysql pthread_rwlock_t* xt_xlock_
This was tested on Maria 5.1.42 and 5.1.44 with the same affect. I have not isolated which tables it is that is causing this (the entire attached schema contains all PBXT tables).
MySQL continues to run but never actually starts up (it refuses connections). In order to fix it I have to kill -9 mysqld_safe and mysqld. Running strace produces:
root@mcp:~# strace -f -p 12053
Process 12074 attached with 17 threads - interrupt to quit
[pid 12053] restart_
[pid 12058] restart_
[pid 12061] futex(0x7fba622
[pid 12057] restart_
[pid 12060] futex(0x7fba622
[pid 12062] futex(0x7fba622
[pid 12063] futex(0x7fba622
[pid 12064] futex(0x7fba622
[pid 12065] futex(0x7fba622
[pid 12066] futex(0x7fba622
[pid 12067] futex(0x7fba622
[pid 12068] futex(0x7fba622
[pid 12069] futex(0x7fba622
[pid 12071] select(0, NULL, NULL, NULL, {0, 460000} <unfinished ...>
[pid 12072] select(0, NULL, NULL, NULL, {0, 460000} <unfinished ...>
[pid 12073] futex(0x7fba61b
[pid 12074] select(0, NULL, NULL, NULL, {8, 476000} <unfinished ...>
[pid 12053] <... restart_syscall resumed> ) = 0
[pid 12053] nanosleep({0, 100000000}, NULL) = 0
[pid 12053] nanosleep({0, 100000000}, NULL) = 0
[pid 12053] nanosleep({0, 100000000}, NULL) = 0
[pid 12053] nanosleep({0, 100000000}, <unfinished ...>
[pid 12072] <... select resumed> ) = 0 (Timeout)
[pid 12072] time(NULL) = 1271648579
[pid 12071] <... select resumed> ) = 0 (Timeout)
[pid 12071] time( <unfinished ...>
[pid 12072] select(0, NULL, NULL, NULL, {1, 0} <unfinished ...>
[pid 12071] <... time resumed> NULL) = 1271648579
[pid 12071] select(0, NULL, NULL, NULL, {1, 0} <unfinished ...>
[pid 12058] <... restart_syscall resumed> ) = -1 ETIMEDOUT (Connection timed out)
[pid 12058] time(NULL) = 1271648579
[pid 12058] futex(0x7fba61b
[pid 12058] time(NULL) = 1271648579
[pid 12058] gettimeofday(
[pid 12058] clock_gettime(
[pid 12058] futex(0x7fba61b
[pid 12053] <... nanosleep resumed> NULL) = 0
[pid 12053] nanosleep({0, 100000000}, NULL) = 0
[pid 12053] nanosleep({0, 100000000}, <unfinished ...>
Related branches
Changed in pbxt: | |
status: | New → Confirmed |
Hi Tim,
Thanks for the bug report. I will see if I can reproduce it.