[Dovecot] corrupted transaction log error resulting in multiple deliveries

Justin McAleer justin at fehuq.com
Fri Mar 16 15:01:32 EET 2007


I'm finally picking my dovecot project back up now, and after upgrading 
rc19 to rc27, I sent a test message to an existing account which 
resulted in log entries like these:


Mar 16 08:45:37 node7 deliver(user at example.com): Corrupted transaction 
log file /var/indexes/example/com/u/us/user/.INBOX/dovecot.index.log: 
Append with UID 3, but next_uid = 15368
 Mar 16 08:45:37 node7 deliver(user at example.com): 
msgid=<20070316124031.8F089D39A5 at node7.neonova.net>: save failed to INBOX
 Mar 16 08:45:37 node7 postfix/pipe[29267]: 8F089D39A5: 
to=<user at example.com>, relay=dovecot, delay=306, delays=306/0.01/0/0.02, 
dsn=4.3.0, status=deferred (temporary failure)


So, as you can see deliver has the problem and defers delivery. Is 
dovecot supposed to be able to recover from a corrupted log file on its 
own? It repeated this until I manually wiped out the index directory 
(didn't try just removing the log files first, sorry). The kicker is 
that deliver actually did save the message to the inbox every time, so 
multiple copies were delivered (every time I flushed the queue until it 
was actually fixed, a copy was delivered). I have my mail directories on 
an NFS mount, and indexes on localdisk, FYI.


More information about the dovecot mailing list