On 15 Oct 2016, at 21:59, Ladislav Laska <laska@kam.mff.cuni.cz> wrote:
Hi!
I'm here again with a problem. I'm using dovecot as an IMAP server and LDA, filtering mail via sieve. However, few times a day I get the following error on server and my client (mutt) gets disconnected.
Oct 15 20:20:29 ibex dovecot: imap(krakonos): Error: Corrupted index cache file /home/krakonos/.mbox/.imap/INBOX/dovecot.index.cache: Broken physical s ize for mail UID 149418 in mailbox INBOX: read(/home/krakonos/.mbox/inbox) failed: Cached message size smaller than expected (3793 < 8065, box=INBOX, UID=149418, cached
..
Oct 15 20:15:12 ibex dovecot: lda(krakonos): Error: Next message unexpectedly corrupted in mbox file /home/krakonos/.mbox/inbox at 546862809
Somehow Dovecot thinks that the mbox file changed under it..
The filesystem is ext4, and there are no errors in syslog or problems with any other services.
I also don't access the mbox locally, and only dovecot manipulates the mbox (via imap and mailbox_command = /usr/libexec/dovecot/deliver)
So it shouldn't have broken.
The postfix version is 2.2.25. I'm attaching dovecot -n and the offending message (after it's been corrected). I'd rather not publish my sieve file, but will send it privately.
The offending message also contains other message I received at approximately the same time.
Any hint's on what could be wrong?
These mbox corruptions are usually pretty difficult to reproduce (= impossible to fix without ability to reproduce). You could try if you can (reliably) reproduce it in some way, e.g.:
- Create a test folder: doveadm mailbox create -u krakonos testbox
- Use some combination of:
- Save mail(s) to test folder: cat some-mails | doveadm save -u krakonos testbox
- Try to read mails from test folder: doveadm fetch -u krakonos text mailbox testbox > /dev/null
The fetch should print similar errors to stderr in some way. I attempted to reproduce this way with your msg-error.mbox, but it worked ok.