[Dovecot] Broken physical size caching in Dovecot 2.1.10

Rob Redpath rob.redpath at heartinternet.co.uk
Tue Jan 29 21:58:47 EET 2013


I'm encountering two, probably related, errors in my Dovecot 2.1.10
install. The issue relates to compressed email stored in Maildir format

In some cases, a mailbox will become inaccessible, and the following
will be logged from a doveadm fetch:-

doveadm(info at example.com): Error: Corrupted index cache file
/var/spool/virtual_mail/info_example.com_d/dovecot.index.cache: Broken
physical size for mail UID 2777
doveadm(info at example.com): Error: Cached message size smaller than
expected (18996 < 64624)
doveadm(info at example.com): Error: Maildir filename has wrong S value,
renamed the file from

Interestingly, the file mentioned in the error (
/var/spool/virtual_mail/info_example.com_d/dovecot.index.cache ) doesn't

The uncompressed size of the file is 64624 bytes, the compressed size is

My attempts to debug the issue myself didn't get very far - the function
that appears to return the wrong value is in
/src/lib-storage/index/maildir/maildir-mail.c in the 2.1.13 source; it's
do_fix_size() and appears to not consider whether a file is compressed
or not when reporting it's size for S= value purposes.

Can anyone help? I'm happy to provide parts of dovecot -n output if
required, but I'd rather not post configuration in a public forum if
it's not required.

Rob Redpath
Systems Administrator
Heart Internet Ltd
E: rob.redpath at heartinternet.co.uk
DDI: 0115 845 6643

This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they are
addressed. If you are not the intended recipient you are not authorised
to and must not disclose, copy, distribute, or retain this message or
any part of it.

Heart Internet Ltd accepts no responsibility for information, errors or
omissions in this email.

More information about the dovecot mailing list