Package: mysql-server-5.1 Version: 5.1.49-3 Severity: serious Tags: squeeze
>From Debian Policy Manual: http://www.debian.org/doc/debian-policy/ch-opersys.html#s-writing-init "The init.d scripts must ensure that they will behave sensibly (i.e., returning success and not starting multiple copies of a service) if invoked with start when the service is already running, or with stop when it isn't, and that they don't kill unfortunately-named user processes. The best way to achieve this is usually to use start-stop-daemon with the --oknodo option." It is possible to get into state when there is mysqld_safe process remained, though main mysqld process is stopped and pid file deleted. In such cases, /etc/init.d/mysql procedure "mysqld_status check_dead warn" will return true and script will do nothing, returning with success. But as cited from policy manual, it should fail, since there are remaining mysqld processes. One way to get into this situation is to start, then stop server from mysqld-admin, which I intend to report as a separate bug on mysqld-admin. Best regards -- System Information: Debian Release: 6.0 APT prefers testing APT policy: (745, 'testing'), (740, 'maverick'), (500, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.6.32-5-686 (SMP w/1 CPU core) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages mysql-server-5.1 depends on: ii adduser 3.112+nmu2 add and remove users and groups ii debconf [debconf-2.0 1.5.36 Debian configuration management sy ii libc6 2.11.2-7 Embedded GNU C Library: Shared lib ii libdbi-perl 1.612-1 Perl Database Interface (DBI) ii libgcc1 1:4.4.5-8 GCC support library ii libmysqlclient16 5.1.49-3 MySQL database client library ii libstdc++6 4.4.5-8 The GNU Standard C++ Library v3 ii lsb-base 3.2-23.1 Linux Standard Base 3.2 init scrip ii mysql-client-5.1 5.1.49-3 MySQL database client binaries ii mysql-common 5.1.49-3 MySQL database common files, e.g. ii mysql-server-core-5. 5.1.49-3 MySQL database server binaries ii passwd 1:4.1.4.2+svn3283-2 change and administer password and ii perl 5.10.1-16 Larry Wall's Practical Extraction ii psmisc 22.11-1 utilities that use the proc file s ii zlib1g 1:1.2.3.4.dfsg-3 compression library - runtime Versions of packages mysql-server-5.1 recommends: ii bsd-mailx [mailx] 8.1.2-0.20100314cvs-1 simple mail user agent ii libhtml-template-p 2.9-2 module for using HTML Templates wi Versions of packages mysql-server-5.1 suggests: pn tinyca <none> (no description available) -- Configuration Files: /etc/init.d/mysql changed [not included] -- debconf information: mysql-server/error_setting_password: mysql-server-5.1/nis_warning: mysql-server-5.1/really_downgrade: false mysql-server-5.1/start_on_boot: true mysql-server-5.1/postrm_remove_databases: false mysql-server/password_mismatch: mysql-server/no_upgrade_when_using_ndb:
--- mysql.orig 2010-11-30 18:55:00.000000000 +0100 +++ mysql 2011-01-10 13:56:56.792943257 +0100 @@ -149,8 +149,10 @@ case "${1:-''}" in if test -z "$server_down"; then killall -9 mysqld; fi fi fi - - if ! mysqld_status check_dead warn; then + failure= + mysqld_status check_dead warn || failure=true + ps -A -o args | grep -E "(^/bin/sh /usr/bin/mysqld_safe($| )|^/usr/sbin/mysqld($| ))" >/dev/null && failure=true + if [ "$failure" ]; then log_end_msg 1 log_failure_msg "Please stop MySQL manually and read /usr/share/doc/mysql-server-5.1/README.Debian.gz!" exit -1