From dovecot Sat Oct 06 12:27:05 2007 From: Bernd Kuhls Date: Sat, 06 Oct 2007 12:27:05 +0000 To: dovecot Subject: Re: [Dovecot] Dovecot raw backtrace when copying to folder Message-Id: X-MARC-Message: https://marc.info/?l=dovecot&m=119167435222060 Timo Sirainen wrote: > On Sun, 2007-09-30 at 16:01 +0200, Bernd Kuhls wrote: >> unless you can provide another way to restrict access to IMAP and POP3 >> to our local IP range this is not an option for us. > > iptables? > >> Until now no new crash in the logs. I will try to reproduce the bug. > > I suppose this fixes it: > http://hg.dovecot.org/dovecot-1.0/rev/8d6433652a33 Hi, first the good news, since using Dovecot including the patch mentioned above there were no new crashes this week, well done! > /var/log/dovecot# grep Panic * > dovecot.main:dovecot: 2007-09-25 16:54:08 Panic: Lost login process PID 420 > dovecot.main:dovecot: 2007-09-27 12:13:02 Panic: Lost login process PID 5160 > dovecot.main:dovecot: 2007-09-30 15:26:34 Panic: Lost login process PID 9091 But now my syslog is filled with this once every 10 minutes: > Oct 6 14:11:42 server inetd[16124]: pop3s/tcp: bind: Address already in use > Oct 6 14:11:42 server inetd[16124]: pop3/tcp: bind: Address already in use > Oct 6 14:11:42 server inetd[16124]: imaps/tcp: bind: Address already in use > Oct 6 14:11:42 server inetd[16124]: imap/tcp: bind: Address already in use But Dovecots behaviour has changed somehow. When updating dovecot.conf all I had to do to activate the new config was to kill the master process. Client-side connections let inetd restart dovecot, this is not the case anymore. Now I have to start /usr/sbin/dovecot on the shell to reactivate the IMAP/POP service. Debians /etc/init.d/dovecot has to be changed to reflect your patch, right? Currently it contains > # The init script should do nothing if dovecot or another imap/pop3 server > # is being run from inetd, and dovecot is configured to run as an imap or > # pop3 service > for p in `sed -r "s/^ *(([^:]+|\[[^]]+]|\*):)?(pop3s?|imaps?)[ \t].*/\3/;t;d" \ > /etc/inetd.conf` > do > for q in `sed -r "s/^[ \t]*protocols[ \t]*=[ \t]*(([^\"]*)|\"(.*)\")/\2\3/;t;d" \ > ${CONF}` > do > if [ $p = $q ]; then > exit 0 > fi > done > done Greetings, spiralvoice