Hi people
Just switched to Dovecot yesterday, and I've already got about five reports of users with duplicate mail in their inbox :-/. Not as bad as lost email, mind you, but pretty annoying still.
Checking the server log, it says:
postfix/smtpd: disconnect from unknown deliver: msync() failed with index file maildir/dovecot.index: Input/output error unionfs: new lower inode mtime (bindex=0, name=maildir) dovecot: IMAP: msync() failed with index file maildir/dovecot.index: Input/output error IMAP: Disconnected: Internal error occurred. Refer to server log for more information.
This is dovecot version 1.0.3, the log presented here relates to only one user; user name snipped for anonymity purposes. Afterwards things just get worse and worse with the affected user:
dovecot: IMAP: msync() failed with index file maildir/dovecot.index: Input/output error dovecot: IMAP: msync() failed with index file maildir/dovecot.index: Input/output error dovecot: IMAP: msync() failed with index file maildir/dovecot.index: Input/output error deliver: msync() failed with index file maildir/dovecot.index: Input/output error dovecot: IMAP: msync() failed with index file maildir/dovecot.index: Input/output error dovecot: IMAP: msync() failed with index file maildir/dovecot.index: Input/output error dovecot: IMAP: msync() failed with index file maildir/dovecot.index: Input/output error dovecot: IMAP: msync() failed with index file maildir/dovecot.index: Input/output error dovecot: IMAP: msync() failed with index file maildir/dovecot.index: Input/output error dovecot: IMAP: Corrupted transaction log file maildir/.SPAM/dovecot.index.log: invalid new transaction log sequence (1 >= 1) dovecot: IMAP: fscking index file maildir/.SPAM/dovecot.index dovecot: IMAP: Transaction log file maildir/.SPAM/dovecot.index.log: marked corrupted dovecot: IMAP: Corrupted transaction log file maildir/.SPAM/dovecot.index.log: invalid new transaction log sequence (2 >= 2) dovecot: IMAP: fscking index file maildir/.SPAM/dovecot.index dovecot: IMAP: Corrupted transaction log file maildir/.Junk/dovecot.index.log: invalid new transaction log sequence (1 >= 1) dovecot: IMAP: fscking index file maildir/.Junk/dovecot.index dovecot: IMAP: Transaction log file maildir/.Junk/dovecot.index.log: marked corrupted dovecot: IMAP: Corrupted transaction log file maildir/.Junk/dovecot.index.log: invalid new transaction log sequence (2 >= 2) dovecot: IMAP: fscking index file maildir/.Junk/dovecot.index deliver: msync() failed with index file maildir/dovecot.index: Input/output error dovecot: IMAP: msync() failed with index file maildir/dovecot.index: Input/output error dovecot: IMAP: msync() failed with index file maildir/dovecot.index: Input/output error dovecot: IMAP: msync() failed with index file maildir/dovecot.index: Input/output error dovecot: IMAP: msync() failed with index file maildir/dovecot.index: Input/output error deliver: msync() failed with index file maildir/dovecot.index: Input/output error dovecot: IMAP: msync() failed with index file maildir/dovecot.index: Input/output error dovecot: IMAP: msync() failed with index file maildir/dovecot.index: Input/output error dovecot: IMAP: msync() failed with index file maildir/dovecot.index: Input/output error
What could be the problem? How do I go about debugging an issue such as this?
On Tue, 2007-11-06 at 19:40 +0100, rosenfield@users.sourceforge.net wrote:
postfix/smtpd: disconnect from unknown deliver: msync() failed with index file maildir/dovecot.index: Input/output error unionfs: new lower inode mtime (bindex=0, name=maildir)
What's unionfs? Looks like the problems is with it, not Dovecot. "Input/output error" should never happen unless there's a bug in the OS/filesystem or your hard disk is dying. You could try if mmap_disable=yes helps.
Timo Sirainen wrote:
rosenfield@users.sourceforge.net wrote:
postfix/smtpd: disconnect from unknown deliver: msync() failed with index file maildir/dovecot.index: Input/output error unionfs: new lower inode mtime (bindex=0, name=maildir)
What's unionfs?
Layered filesystem which serves the virtual machine a basic operating system, on top of which you can enable services and write your own /etc/* files, etc. But all dovecot files are kept in the local filesystem. The base filesystem is not writeable.
Looks like the problems is with it, not Dovecot.
Unlikely, there are a ton of virtual machines running various databases, apaches, and what not, and they've never had a problem.
(Hrm, sounded a bit like Van Leuwen there talking about the colonists on LV-426 in Aliens..)
Maybe there's an interaction problem between dovecot and unionfs? I know that unionfs does not support sendfile, for example. It usually results in empty buffers though, not in stuff working halfway..
"Input/output error" should never happen unless there's a bug in the OS/filesystem or your hard disk is dying.
It's on redundant disks, so that shouldn't happen.. (And especially not *only* to dovecot index files for several users.. statistics would say that is rather impossible)
You could try if mmap_disable=yes helps.
Done. (I imagine that various databases use mmap too though, so it seems unlikely it will fix anything. Not trying to be pessimistic, just objective.)
Looking closer in the logs, it seems that when the corruption occurs, users are often logged in via IMAP at the same time as a message is stored via deliver. Hmm?
participants (2)
-
rosenfield@users.sourceforge.net
-
Timo Sirainen