[MDEV-3530] LP:912290 - Assertion mi->io_thd == 0 fails in handle_slave_io() (slave.cc: 2501) Created: 2012-01-05 Updated: 2015-02-02 Resolved: 2012-10-04 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | Vladislav Vaintroub | Assignee: | Kristian Nielsen |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | Launchpad | ||
| Attachments: |
|
| Description |
|
Can be seen here for example: This assertion crashes from time to time in the debug builds on Windows |
| Comments |
| Comment by Vladislav Vaintroub [ 2012-01-05 ] |
|
Re: Assertion mi->io_thd == 0 fails in handle_slave_io() (slave.cc: 2501)
mysqld!my_sigabrt_handler [c:\buildbot\win2008r2-vs2010-amd64-debug\build\sql\mysqld.cc @ 2206]
. 26 Id: 5710.54e4 Suspend: 0 Teb: 000007ff`fff8a000 Unfrozen ntdll!NtWaitForSingleObject |
| Comment by Kristian Nielsen [ 2012-02-13 ] |
|
Re: Assertion mi->io_thd == 0 fails in handle_slave_io() (slave.cc: 2501) If init_slave_thread() fails, the code would release the mi->run_lock, but without setting mi->slave_running=1. This allows a subsequent START SLAVE to proceed, even though the old slave thread is actually still running (even though it will do nothing but cleanup and shutdown). The assert happens in the rare case that the test case has time to run START SLAVE after the old slave fails initialisation, but before it has re-aquired the lock and done it's cleanup. This results in the assertion. Fixed in 5.3.4 and 5.5.1. |
| Comment by Rasmus Johansson (Inactive) [ 2012-02-13 ] |
|
Launchpad bug id: 912290 |