Bug#661008: dovecot-imapd: Corrupted index cache file

February 23rd, 2012 - 09:50 am ET by Thomas Herrmann | Report spam
Package: dovecot-imapd
Version: 1:1.2.15-7
Severity: important


Every few hours, I see messages like the following in the logs:

Feb 22 09:19:41 mailsrv2 dovecot: IMAP(user1@domain.de): Corrupted index cache file /home/vmail/domain.de/user1/public/.foo/dovecot.index.cache: field header names corrupted
Feb 23 13:20:27 mailsrv2 dovecot: IMAP(user2@domain.de): Corrupted index cache file /home/vmail/domain.de/user2/Maildir/.bar/dovecot.index.cache: record continues outside its allocated size
Feb 23 13:33:30 mailsrv2 dovecot: IMAP(user3@domain.de): Corrupted index cache file /home/vmail/domain.de/user3/public/.baz/dovecot.index.cache: invalid record size

(username, domain and path modified for privacy reasons)

About 80% of the errors are "invalid record size", but the others
occur frequently as well. The server did not crash or anything that
could explain the corrupted files. It is a virtual machine running on
a SSD. Unmounting the mail store (/home) and checking the filesystem
did not yield any errors.

Dovecot should repair corrupted cache files automatically, and I
remember reading in the mailing lists that errors like the ones I see
could be ignored after a power failure, but that each cache file
should be listed no more than once. But I see the same file reported
several times:

Feb 21 09:44:11 mailsrv2 dovecot: IMAP(user1@domain.de): Corrupted index cache file /home/vmail/domain.de/user1/public/.BCC/dovecot.index.cache: invalid record size
Feb 22 10:58:04 mailsrv2 dovecot: IMAP(user1@domain.de): Corrupted index cache file /home/vmail/domain.de/user1/public/.BCC/dovecot.index.cache: record continues outside its allocated size
Feb 22 18:09:11 mailsrv2 dovecot: IMAP(user1@domain.de): Corrupted index cache file /home/vmail/domain.de/user1/public/.BCC/dovecot.index.cache: record continues outside its allocated size
Feb 23 13:33:30 mailsrv2 dovecot: IMAP(user1@domain.de): Corrupted index cache file /home/vmail/domain.de/user1/public/.BCC/dovecot.index.cache: invalid record size
Feb 23 15:18:07 mailsrv2 dovecot: IMAP(user1@domain.de): Corrupted index cache file /home/vmail/domain.de/user1/public/.BCC/dovecot.index.cache: invalid record size

I noticed that the problems usually occur in large mail folders
(>20000 mails), some of them being public folders that are symlinked
to a users Maildir. But the problem also occurs with regular
mailboxes.

At the same time, users sometimes see mail folders with many unread
messages, and as soon as they click on the folder (i.e. in
Thunderbird) the mail folder is correctly displayed containing no
unread messages. It is not a client issue, because I debugged it with
wireshark and saw dovecot stating that there were unseen messages. I
also set up an imap account on a different machine, and the same
erratic behaviour occurred there. So I sometimes do have reproducible
situations, which usually resolve themselves when new mail comes into
the folder or mails get deleted.

Further information:

# mount | grep home
/dev/mapper/mailstore-mails on /home type xfs (rw,noatime,logbufs=8,logbsize1072)

root@mailsrv2:~# dovecot -n
# 1.2.15: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-5-amd64 x86_64 Debian 6.0.4 xfs
log_timestamp: %Y-%m-%d %H:%M:%S
protocols: imap imaps managesieve
listen(default): *:143 [::]:143 *:144 [::]:144
listen(imap): *:143 [::]:143 *:144 [::]:144
listen(managesieve): *:4190
ssl_listen(default): *:993
ssl_listen(imap): *:993
ssl_listen(managesieve):
login_dir: /var/run/dovecot/login
login_executable(default): /usr/lib/dovecot/imap-login
login_executable(imap): /usr/lib/dovecot/imap-login
login_executable(managesieve): /usr/lib/dovecot/managesieve-login
login_process_per_connection: no
mail_max_userip_connections(default): 100
mail_max_userip_connections(imap): 100
mail_max_userip_connections(managesieve): 10
mail_privileged_group: mail
mail_location: maildir:/home/vmail/domain.de/%n/Maildir
fsync_disable: yes
# note: I just added mbox_write_locks today, but errors ocurred nonetheless
mbox_write_locks: fcntl dotlock
mail_executable(default): /usr/lib/dovecot/imap
mail_executable(imap): /usr/lib/dovecot/imap
mail_executable(managesieve): /usr/lib/dovecot/managesieve
mail_plugins(default): acl imap_acl
mail_plugins(imap): acl imap_acl
mail_plugins(managesieve):
mail_plugin_dir(default): /usr/lib/dovecot/modules/imap
mail_plugin_dir(imap): /usr/lib/dovecot/modules/imap
mail_plugin_dir(managesieve): /usr/lib/dovecot/modules/managesieve
namespace:
type: private
separator: /
inbox: yes
list: yes
subscriptions: yes
namespace:
type: public
separator: /
prefix: ADwin/
location: maildir:/home/vmail/public:INDEX=/home/vmail/domain.de/%n/public
list: children
lda:
postmaster_address: postmaster@domain.de
log_path: /home/vmail/dovecot-deliver.log
mail_plugins: sieve acl
global_script_path: /home/vmail/globalsieverc
auth_socket_path: /var/run/dovecot/auth-master
fsync_disable: no
auth default:
passdb:
driver: sql
args: /etc/dovecot/dovecot-sql.conf
userdb:
driver: passwd
userdb:
driver: static
args: uidP00 gidP00 home=/home/vmail/%d/%n allow_all_users=yes
socket:
type: listen
client:
path: /var/spool/postfix/private/auth
mode: 432
user: postfix
group: postfix
master:
path: /var/run/dovecot/auth-master
mode: 384
user: vmail
plugin:
acl: vfile
sieve: /home/vmail/domain.de/%n/dovecot.sieve
sieve_dir: /home/vmail/domain.de/%n/sieve
sieve_extensions: +imapflags +imap4flags


Debian Release: 6.0.4
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages dovecot-imapd depends on:
ii dovecot-common 1:1.2.15-7 secure mail server that supports m
ii libc6 2.11.3-3 Embedded GNU C Library: Shared lib
ii libldap-2.4-2 2.4.23-7.2 OpenLDAP libraries
ii libssl0.9.8 0.9.8o-4squeeze7 SSL shared libraries

dovecot-imapd recommends no packages.

dovecot-imapd suggests no packages.




To UNSUBSCRIBE, email to debian-bugs-dist-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
email Follow the discussionReplies 4 repliesReplies Make a reply

Replies

#1 Timo Sirainen
February 23rd, 2012 - 07:10 pm ET | Report spam
On 23.2.2012, at 16.36, Thomas Herrmann wrote:

Feb 22 09:19:41 mailsrv2 dovecot: IMAP(): Corrupted index cache file /home/vmail/domain.de/user1/public/.foo/dovecot.index.cache: field header names corrupted
Feb 23 13:20:27 mailsrv2 dovecot: IMAP(): Corrupted index cache file /home/vmail/domain.de/user2/Maildir/.bar/dovecot.index.cache: record continues outside its allocated size
Feb 23 13:33:30 mailsrv2 dovecot: IMAP(): Corrupted index cache file /home/vmail/domain.de/user3/public/.baz/dovecot.index.cache: invalid record size



Well, these shouldn't normally happen. I recently did one fix to cache file handling, but I don't know if it's related.

# 1.2.15: /etc/dovecot/dovecot.conf



Anyway, I don't have time to try to debug bugs that may have been fixed already. If this keeps happening with v2.0.18 or v2.1.1 I'm happy to help.




To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact

Similar topics