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
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
Similar topics
- Bug#708221: dovecot-imapd: can't read mailbox since upgrade (cache issue? renaming files?)
- Bug#560696: tasksel: The mail-server task should install dovecot instead of qpopper and uw-imapd
Make your own search :
Tags
Create a new topic
Follow the discussion
4 replies
Make a reply
May 24th, 2013 - 4:36 AM ET
Join now


Replies