[Bug 326768] [NEW] mysql thinks it has crashed when it hasn't
Will Uther
willu.mailingLists at cse.unsw.edu.au
Sun Feb 8 05:27:39 GMT 2009
Public bug reported:
Binary package hint: mysql-server-5.0
I'm running mythtv on jaunty with mysql-server-5.0 version
5.1.30really5.0.75-0ubuntu5. During boot mysql starts, then mythtv
starts, then mysql restarts and mythtv gets confused.
What seems to be happening is that line 387 (or 389?) of
/usr/bin/mysqld_safe is falling through when it shouldn't. mysqld_safe
is a script that starts mysqld and restarts it if it crashes. Here are
some relevant syslog sections:
Feb 8 12:35:07 willvo mysqld_safe[3668]: started
Feb 8 12:35:08 willvo mysqld[3671]: 090208 12:35:08 InnoDB: Started; log sequence number 0 43655
Feb 8 12:35:08 willvo mysqld[3671]: 090208 12:35:08 [Note] /usr/sbin/mysqld: ready for connections.
Feb 8 12:35:08 willvo mysqld[3671]: Version: '5.0.75-0ubuntu5' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Ubuntu)
Feb 8 12:35:08 willvo /etc/mysql/debian-start[3710]: Upgrading MySQL tables if necessary.
Feb 8 12:35:08 willvo /etc/mysql/debian-start[3713]: Looking for 'mysql' as: /usr/bin/mysql
Feb 8 12:35:08 willvo /etc/mysql/debian-start[3713]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
Feb 8 12:35:08 willvo /etc/mysql/debian-start[3713]: This installation of MySQL is already upgraded to 5.0.75, use --force if you still need to run mysql_upgrade
Feb 8 12:35:08 willvo /etc/mysql/debian-start[3720]: Checking for insecure root accounts.
Feb 8 12:35:08 willvo /etc/mysql/debian-start[3724]: Triggering myisam-recover for all MyISAM tables
Feb 8 12:35:13 willvo mythtv-backend[4560]: Started mythtv-backend
Feb 8 12:35:16 willvo mysqld_safe[5212]: Number of processes running now: 1
Feb 8 12:35:16 willvo mysqld_safe[5223]: mysqld process hanging, pid 3670 - killed
Feb 8 12:35:16 willvo mysqld_safe[5227]: restarted
Feb 8 12:35:16 willvo mysqld[5231]: 090208 12:35:16 InnoDB: Started; log sequence number 0 43655
Feb 8 12:35:17 willvo mysqld[5231]: 090208 12:35:17 [Note] /usr/sbin/mysqld: ready for connections.
Feb 8 12:35:17 willvo mysqld[5231]: Version: '5.0.75-0ubuntu5' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Ubuntu)
Note that mysqld_safe is finds one mysqld process still running after it
is supposed to have crashed. mysqld_safe then kills that process and
starts another. This only seems to happen once during boot - it doesn't
keep restarting mysqld in normal use.
The problem is somewhat intermittent. I made it go away once before by
mysqlrepairing my tables, but they seem fine now. Debian bug 418648
looks somewhat similar but slightly different (and the fix they used
doesn't work for me).
My current fix is to replace:
$NOHUP_NICENESS $ledir/$MYSQLD $defaults --basedir=$MY_BASEDIR_VERSION --d
atadir=$DATADIR $USER_OPTION --pid-file=$pid_file --skip-external-locking 2>&1 |
$ERR_LOGGER -t mysqld & wait
with:
$NOHUP_NICENESS $ledir/$MYSQLD $defaults --basedir=$MY_BASEDIR_VERSION --dat
adir=$DATADIR $USER_OPTION --pid-file=$pid_file --skip-external-locking 2>&1 | $
ERR_LOGGER -t mysqld
in the mysqld_safe script (the second line has " & wait" removed from
the end). This seems to fix the problem. I don't understand the
difference in semantics between " & wait" and normal process
termination.
Will
** Affects: mysql-dfsg-5.0 (Ubuntu)
Importance: Undecided
Status: New
--
mysql thinks it has crashed when it hasn't
https://bugs.launchpad.net/bugs/326768
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to mysql-dfsg-5.0 in ubuntu.
More information about the Ubuntu-server-bugs
mailing list