Bug #11802 Can't start server - mysqld --bootstrap hangs forever
Submitted: 8 Jul 2005 1:24 Modified: 3 Aug 2005 10:29
Reporter: Jose Luis Tallon Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server Severity:S1 (Critical)
Version:4.0.24 OS:Linux (Debian GNU/Linux)
Assigned to: CPU Architecture:Any

[8 Jul 2005 1:24] Jose Luis Tallon
Description:
When installing or trying to start (the therefore half-configured server), the initscript hangs forever.
A ps ax shows that it is a "mysqld --bootstrap" trying to start.
The error in the syslog is: "Can't create interrupt-thread (error 11, errno: 11)"

Kernel: Linux-2.4.31, self compiled
Libc:     libc6 from Debian 3.1 'Sarge'

Please note that ALL my other MySQL installations work perfectly. It is just this particular one server. I am completely puzzled by this, since i never had any problems at all in 6 years.

How to repeat:
Just install or try to start mysql (by means of the supplied initscript)
This is most probably NOT Debian specific... ideas?
[8 Jul 2005 2:24] MySQL Verification Team
I wasn't able to repeat the behavior reported on Knoppix 3.7 (Debian based)
and Slackware 10.1.
[8 Jul 2005 14:00] Jose Luis Tallon
Any ideas on what can be the reason for this? It is just in this particular machine that it does not work... :-S

Any pointers or suggestions? What shall i check?
Could you possibly tell me how to debug this and see where does the problem come from?
Do you need any additional information on which libraries are installed?

I have run memtest86 and rebooted several times, so it is not a problem with memory. Everything else works fine (not a processor problem, either, i think)

Thanks in advance for your time.
[25 Jul 2005 11:33] Sergei Golubchik
On different systems errno 11 seems to have different meaning. But on Linux it looks to be EAGAIN.

Could you try to wrap the pthread_create() in question (search in mysqld.cc for the error message you got, about "interrupt-thread") in a do { } while, repeating it while the error is EAGAIN ?
(with a small sleep between two calls, perhaps).

We cannot blindly do this change, as we cannot repeat the problem :(
But if it'll work for you, we can apply this fix.
[3 Aug 2005 10:29] Jose Luis Tallon
Adding the do{ }while(error==EAGAIN); at sql/mysqld.cc did the trick for the first error message. Mysqld won't continue, however, due to the same problem within InnoDB. Patching there also didn't help.

Now i suspect some kind of /weird/ hardware failure :-S
Thank you for your support -- closing this bug now.