Summary
After an unclean shutdown the file /var/run/dovecot/master.pid remained behind. This prevented dovecot from starting, and gave a misleading error message.
To be more resilient and fault-tolerant, I recommend that dovecot also check the validity of the PID in /var/run/dovecot/master.pid in order to determine whether or not another dovecot process is running.
Detail
In testing out my automatic UPS shutdown I inadvertently shut down my system uncleanly ... oops!
As the system rebooted, I saw that dovecot did not start properly, with an error message: Fatal: Invalid configuration in /etc/dovecot.conf
After the system came up, I tried to start dovecot manually. Turns out that there was an invalid PID in /var/run/dovecot/master.pid
[root@mykiss5 mth]# service dovecot start Starting Dovecot Imap: Error: Dovecot is already running with PID 1965 (read from /var/run/dovecot/master.pid) Fatal: Invalid configuration in /etc/dovecot.conf [FAILED] [root@mykiss5 mth]# ps 1965 PID TTY STAT TIME COMMAND [root@mykiss5 mth]# rm /var/run/dovecot/master.pid rm: remove regular file `/var/run/dovecot/master.pid'? y [root@mykiss5 mth]# service dovecot start Starting Dovecot Imap: [ OK ] [root@mykiss5 mth]# service dovecot stop Stopping Dovecot Imap: [ OK ] [root@mykiss5 mth]# service dovecot start Starting Dovecot Imap: [ OK ] [root@mykiss5 mth]# dovecot --version 1.0.7 [root@mykiss5 mth]#
This leads me to believe that dovecot is only checking for the existance of /var/run/dovecot/master.pid. It seems to me that it would be more fault-tolerant if it also checked the validity of the PID that is in /var/run/dovecot/master.pid.
Michael