Bug #27675 | mysqld safe_mutex assert at shutdown | ||
---|---|---|---|
Submitted: | 5 Apr 2007 18:58 | Modified: | 11 Aug 2008 8:43 |
Reporter: | Tomas Ulin | Email Updates: | |
Status: | Duplicate | Impact on me: | |
Category: | MySQL Server: Replication | Severity: | S2 (Serious) |
Version: | 5.1.20 | OS: | Any |
Assigned to: | Assigned Account | CPU Architecture: | Any |
Tags: | pbfail, sr5_1 |
[5 Apr 2007 18:58]
Tomas Ulin
[29 May 2007 18:04]
Michael Widenius
I upgraded this bug to sr5_1 as it causes our test system to fail. It's also a common crashing bug that causes back traces in our logs and is likely to confuse our users
[19 Jun 2007 13:52]
Andrei Elkin
The problem is most probably because shutting down thread invokes end_slave() which cleans up active_mi struct without carring on the mutex:s slave threads may be holding at the moment. Notice, that a similar activity with doing `STOP slave' also terminates slave threads but the terminator waits till slave unlock the mutex:s via unlock_slave_threads(mi) at stop_slave(). However, end_slave() is different in that it does not lock the mutex:s. Hence end_slave() can not just call unlock_slave_threads(mi) which otherwise would be safe and enough. I'd suggest to change end_slave() to lock, wait for and release the mutex:s as stop_slave() does.
[28 Jun 2007 6:01]
Timothy Smith
This bug does not show up, after repeated attempts to reproduce. Without a test case, it can't be repeated. Original reporter will re-open it if it shows up again.
[28 Jun 2007 14:32]
Andrei Elkin
When I was writting a remark that previously Bug#25306 could leave a hole in not to handle mysqladmin shutdown I was under wrong impression that the killing thread does not preemtn mutexes the slave threads may own. The fact is the killer is to acquire them and this does not let a scenario I left on the bug page.
[3 Jul 2007 8:27]
Georgi Kodinov
Bug #25245 marked as a duplicate of this bug.
[11 Aug 2008 8:43]
MySQL Verification Team
duplicate of bug #38694