Bug #35647 endless innodb loop when starting server twice
Submitted: 28 Mar 2008 14:21 Modified: 28 Mar 2008 17:07
Reporter: Susanne Ebrecht Email Updates:
Status: Won't fix Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S3 (Non-critical)
Version:5.0, 5.1, 6.0 OS:Any
Assigned to: Heikki Tuuri CPU Architecture:Any

[28 Mar 2008 14:21] Susanne Ebrecht
Description:
Sometimes I foget that I already started the mysqld and try to start it again.

I have this problem with all MySQL bitkeeper and release versions and on all Unix/Linux systems that I usually use.

After I start the mysqld the second time there is an InnoDB error loop and you can't stop it. Besides killing the process by using kill -9.

Here an example from MySQL 5.0:

$ ./libexec/mysqld --defaults-file=/home/miracee/mysql50bk/etc/my.cnf
InnoDB: Unable to lock ./ibdata1, error: 35
InnoDB: Check that you do not already have another mysqld process
InnoDB: using the same InnoDB data or log files.
080328 15:09:19  InnoDB: Retrying to lock the first data file
InnoDB: Unable to lock ./ibdata1, error: 35
InnoDB: Check that you do not already have another mysqld process
InnoDB: using the same InnoDB data or log files.
InnoDB: Unable to lock ./ibdata1, error: 35
...
This output is endless.
Also you can't stop it by using CTRL-C or CTRL-D.

It would be nicer when the process would just end (exit) after InnoDB recognised error: 35.

How to repeat:
$ ./libexec/mysqld --defaults-file=/YOURPATH/my.cnf &

Server will start correctly ...
Then try to start server a second time:

$ ./libexec/mysqld --defaults-file=/YOURPATH/my.cnf

Suggested fix:
Just exit the process after recognising the error: 35
[28 Mar 2008 17:07] Heikki Tuuri
Susanne,

I am sorry, but it must keep trying, just in case the older server instance is just shutting down.

Marking this as 'Won't fix'.

Regards,

Heikki
[5 Apr 2008 21:19] 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/commits/44953

ChangeSet@1.2623, 2008-04-06 01:19:13+04:00, sergefp@mysql.com +3 -0
  BUG#35647: Range optimizer ignores conditions on inner tables in semi-join IN subqueries
  - Let range optimizer use such conditions.
[5 Apr 2008 21:21] Sergey Petrunya
Please ignore the last commit message, it is for another bug.
[13 May 2008 16:33] MySQL Verification Team
Bug: http://bugs.mysql.com/bug.php?id=36550 has been marked as duplicate of this one.