Hi! Recently I've experienced problems with dovecot. Dovecot died silently, what means is that there are no core files, nor any indication in the log files, just the "kevent(): Invalid argument" messages. Dovecot just died, so deliver could not connect to the auth-master socket, which means that messages couldn't been delivered. The problem is that postfix thought that the delivery was successful, and didn't place the message to delay, but deliver(LDA) couldn't deliver the message, so it got lost. An example: postfix/pickup[29619]: 8A1C6F261: uid=1001 from=<id> postfix/cleanup[19148]: 8A1C6F261: message-id=<20080107192402.8A1C6F261 at domain.hu> postfix/qmgr[29441]: 8A1C6F261: from=<id at domain.hu>, size=585, nrcpt=1 (queue active) deliver(leva): Loading modules from directory: /usr/local/lib/dovecot/lda deliver(leva): Module loaded: /usr/local/lib/dovecot/lda/lib10_quota_plugin.so deliver(leva): Module loaded: /usr/local/lib/dovecot/lda/lib90_cmusieve_plugin.so deliver(leva): Can't connect to auth server at /var/run/dovecot/auth-master: Connection refused postfix/pipe[8582]: 8A1C6F261: to=<leva at domain.hu>, orig_to=<id>, relay=dovecot-lda, delay=1.7, delays=1.1/0/0/0 .68, dsn=2.0.0, status=sent (delivered via dovecot-lda service) postfix/qmgr[29441]: 8A1C6F261: removed See? Postfix removed it from the queue, so basically all bets are off, and everything depends on deliver, but it just dropped the message. Is there anything that can be done regarding this issue? Thanks! Daniel
On Mon, 2008-01-07 at 21:50 +0100, Daniel wrote:> Recently I've experienced problems with dovecot. Dovecot died silently, > what means is that there are no core files, nor any indication in the > log files, just the "kevent(): Invalid argument" messages.Any of them begin with "Fatal: "? Why is it giving kevent() errors anyway? Those shouldn't happen.> deliver(leva): Can't connect to auth server > at /var/run/dovecot/auth-master: Connection refused > postfix/pipe[8582]: 8A1C6F261: to=<leva at domain.hu>, orig_to=<id>, > relay=dovecot-lda, delay=1.7, delays=1.1/0/0/0 > .68, dsn=2.0.0, status=sent (delivered via dovecot-lda service) > postfix/qmgr[29441]: 8A1C6F261: removed > > See? Postfix removed it from the queue, so basically all bets are off, > and everything depends on deliver, but it just dropped the message. > Is there anything that can be done regarding this issue?Are you using some pre-v1.0.0 release? With v1.0.10 it seems to work correctly: % echo foo|./deliver -d user deliver(user): Jan 10 06:20:47 Error: Can't connect to auth server at /usr/local/var/run/dovecot/auth-master: No such file or directory % echo $? 75 % grep 75 /usr/include/sysexits.h #define EX_TEMPFAIL 75 /* temp failure; user is invited to retry */ -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: <http://dovecot.org/pipermail/dovecot/attachments/20080110/174b0020/attachment-0002.bin>
On Thursday 10 January 2008 05:24:01 Timo Sirainen wrote:> On Mon, 2008-01-07 at 21:50 +0100, Daniel wrote: > > Recently I've experienced problems with dovecot. Dovecot died > > silently, what means is that there are no core files, nor any > > indication in the log files, just the "kevent(): Invalid argument" > > messages. > > Any of them begin with "Fatal: "? Why is it giving kevent() errors > anyway? Those shouldn't happen.Yes, this is all I get in the error log, and then dovecot dies silently. It won't produce a core file, or any indication of dying in the log file. Btw, I'm using OpenBSD 4.2, and kqueue.> > > deliver(leva): Can't connect to auth server > > at /var/run/dovecot/auth-master: Connection refused > > postfix/pipe[8582]: 8A1C6F261: to=<leva at domain.hu>, orig_to=<id>, > > relay=dovecot-lda, delay=1.7, delays=1.1/0/0/0 > > .68, dsn=2.0.0, status=sent (delivered via dovecot-lda service) > > postfix/qmgr[29441]: 8A1C6F261: removed > > > > See? Postfix removed it from the queue, so basically all bets are > > off, and everything depends on deliver, but it just dropped the > > message. Is there anything that can be done regarding this issue? > > Are you using some pre-v1.0.0 release? With v1.0.10 it seems to work > correctly:I'm updating dovecot with hg from HEAD.> > % echo foo|./deliver -d user > > deliver(user): Jan 10 06:20:47 Error: Can't connect to auth server > at /usr/local/var/run/dovecot/auth-master: No such file or directory >Maybe my auth-master file remains there, but deliver couldn't connect to it, because dovecot has died. I guess the socket stayed there because dovecot couldn't clean up after itself in this case. Am I wrong (just guessing leastways...)?> % echo $? > 75 > % grep 75 /usr/include/sysexits.h > #define EX_TEMPFAIL 75 /* temp failure; user is invited to > retry */