Bug #12423 Deadlock in multithread environment (stress test)
| Submitted: | 7 Aug 2005 22:04 | Modified: | 4 Sep 2005 2:55 |
|---|---|---|---|
| Reporter: | Alexey Stroganov | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server | Severity: | S2 (Serious) |
| Version: | the latest 5.0.12pre | OS: | Linux (Linux) |
| Assigned to: | Dmitry Lenev | CPU Architecture: | Any |
[7 Aug 2005 22:04]
Alexey Stroganov
[7 Aug 2005 22:05]
Alexey Stroganov
Threads backtraces for deadlock issue
Attachment: deadlock.backtraces (application/octet-stream, text), 6.15 KiB.
[7 Aug 2005 22:19]
Alexey Stroganov
made a small error in test case above please replace create user 'test'@'localhost'//-disable_query_log with create user 'test'@'localhost'//
[23 Aug 2005 0:33]
Alexey Stroganov
I found similar issue during running stress test for another tests. This time running only 2 concurrent threads lead to deadlock.
#test case
--disable_abort_on_error
create User test_general@localhost;
set password for test_general@localhost = password('PWD');
revoke ALL PRIVILEGES, GRANT OPTION FROM test_general@localhost;
#output of mysqladmin proc
----------------------------+
| 1 | root | localhost | | Query | 0 | | show processlist |
| 24 | root | localhost | test | Query | 24 | | revoke ALL PRIVILEGES, GRANT OPTION FROM test_general@localhost |
| 25 | root | localhost | test | Query | 24 | Locked | set password for test_general@localhost = password('PWD') |
+----+------+-----------+------+---------+------+--------+-------------------------------------
#backtraces
(gdb) thread 33
[Switching to thread 33 (Thread 1113476016 (LWP 11746))]#0 0xffffe410 in ?? ()
(gdb) bt
#0 0xffffe410 in ?? ()
#1 0x425e32b8 in ?? ()
#2 0x00000002 in ?? ()
#3 0x00000000 in ?? ()
#4 0x4004f05e in __lll_mutex_lock_wait () from /lib/tls/libpthread.so.0
#5 0x4004be45 in _L_mutex_lock_205 () from /lib/tls/libpthread.so.0
#6 0x0000000e in ?? ()
#7 0x0000000f in ?? ()
#8 0x08c50920 in ?? ()
#9 0x00000000 in ?? ()
#10 0x425e4bb0 in ?? ()
#11 0x425e32e8 in ?? ()
#12 0x0840c9b3 in safe_mutex_lock (mp=0x8c4e8ac, file=0x4259dbb0 "╟шYB\f=е\b╟шYB\001", line=0)
at thr_mutex.c:116
#13 0x0840c9b3 in safe_mutex_lock (mp=0x8c4e894, file=0x84b21c0 "sql_acl.cc", line=5070)
at thr_mutex.c:116
#14 0x08246194 in mysql_revoke_all (thd=0x8c50920, list=@0x8c50d5c) at sql_acl.cc:5070
#15 0x081ae3be in mysql_execute_command (thd=0x8c50920) at sql_parse.cc:3728
#16 0x081b3309 in mysql_parse (thd=0x8c50920,
inBuf=0x8c96fe0 "revoke ALL PRIVILEGES, GRANT OPTION FROM test_general@localhost",
length=63) at sql_parse.cc:5444
#17 0x081a88f9 in dispatch_command (command=COM_QUERY, thd=0x8c50920,
packet=0x8c686b9 "revoke ALL PRIVILEGES, GRANT OPTION FROM test_general@localhost",
packet_length=64) at sql_parse.cc:1664
#18 0x081a80c6 in do_command (thd=0x8c50920) at sql_parse.cc:1463
#19 0x081a71a6 in handle_one_connection (arg=0x8c50920) at sql_parse.cc:1116
#20 0x4004aaa7 in start_thread () from /lib/tls/libpthread.so.0
#21 0x4017bc2e in clone () from /lib/tls/libc.so.6
(gdb) thread 34
[Switching to thread 34 (Thread 1113185200 (LWP 11747))]#0 0xffffe410 in ?? ()
(gdb) bt
#0 0xffffe410 in ?? ()
#1 0x4259bfc8 in ?? ()
#2 0x00000001 in ?? ()
#3 0x00000000 in ?? ()
#4 0x4004ca56 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/libpthread.so.0
#5 0x0840ccfc in safe_cond_wait (cond=0x8cc2584, mp=0x8c934e4, file=0x84f0673 "thr_lock.c",
line=413) at thr_mutex.c:202
#6 0x0840a8cb in wait_for_lock (wait=0x8c93534, data=0x8c9b1ec, in_wait_list=0 '\0')
at thr_lock.c:411
#7 0x0840b154 in thr_lock (data=0x8c9b1ec, owner=0x8c90e48, lock_type=TL_WRITE)
at thr_lock.c:677
#8 0x0840b93c in thr_multi_lock (data=0x8c91458, count=1, owner=0x8c90e48) at thr_lock.c:919
#9 0x0818be11 in mysql_lock_tables (thd=0x8c8ffd0, tables=0x4259c5ec, count=1, flags=0)
at lock.cc:147
#10 0x081d7a49 in open_ltable (thd=0x8c8ffd0, table_list=0x4259c5a0, lock_type=TL_WRITE)
at sql_base.cc:2114
#11 0x0823aad8 in update_user_table (thd=0x8c8ffd0, host=0x8c53f50 "localhost",
user=0x8c53f60 "test_general",
new_password=0x8cd05f0 "*C49735D016A099C0CF104EF9183F374A54CA2576", new_password_len=41)
at sql_acl.cc:1522
#12 0x0823a28b in change_password (thd=0x8c8ffd0, host=0x8cd05c0 "localhost",
user=0x8cd05b0 "test_general",
new_password=0x8cd05f0 "*C49735D016A099C0CF104EF9183F374A54CA2576") at sql_acl.cc:1352
#13 0x0819ddb0 in set_var_password::update (this=0x8cd0620, thd=0x8c8ffd0) at set_var.cc:3120
#14 0x0819d73e in sql_set_variables (thd=0x8c8ffd0, var_list=0x8c90470) at set_var.cc:2927
#15 0x081ad700 in mysql_execute_command (thd=0x8c8ffd0) at sql_parse.cc:3478
#16 0x081b3309 in mysql_parse (thd=0x8c8ffd0,
inBuf=0x8cd0540 "set password for test_general@localhost = password('PWD')", length=57)
at sql_parse.cc:5444
#17 0x081a88f9 in dispatch_command (command=COM_QUERY, thd=0x8c8ffd0,
packet=0x8cae2f1 "set password for test_general@localhost = password('PWD')",
packet_length=58) at sql_parse.cc:1664
#18 0x081a80c6 in do_command (thd=0x8c8ffd0) at sql_parse.cc:1463
#19 0x081a71a6 in handle_one_connection (arg=0x8c8ffd0) at sql_parse.cc:1116
#20 0x4004aaa7 in start_thread () from /lib/tls/libpthread.so.0
#21 0x4017bc2e in clone () from /lib/tls/libc.so.6
[26 Aug 2005 11:47]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/internals/28888
[1 Sep 2005 12:51]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/internals/29171
[1 Sep 2005 20:54]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/internals/29205
[1 Sep 2005 21:00]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/internals/29206
[1 Sep 2005 22:09]
Dmitry Lenev
Fixed in 4.1.15 and 5.0.15 Deadlock occured when several account management commands were run (particularly between FLUSH PRIVILEGES/SET PASSWORD and GRANT/REVOKE commands).
[4 Sep 2005 2:55]
Paul DuBois
Noted in 4.1.5, 5.0.13 changelogs. (I assume 5.0.15 is a typo in previous comment.)
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.060 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.