[Dovecot] Broken physical size caching in Dovecot 2.1.10

Rob Redpath rob.redpath at heartinternet.co.uk
Tue Feb 19 17:45:12 EET 2013


On 19/02/13 15:41, Timo Sirainen wrote:
> On 19.2.2013, at 16.48, Rob Redpath <rob.redpath at heartinternet.co.uk> wrote:
>
>>> Just run the maildir-size-fix.pl to your existing maildirs and you should have no problems in future?
>>>
>> Sadly, that doesn't seem to work. In a normal case where I see this issue, running maildir-size-fix.pl (with -a -c -f -r -v options) identifies and renames lots of files, but then accessing the mailbox causes dovecot to rename them back to the incorrect values.
> Then something is wrong.
>
>> One thing I've noticed during testing this is that, in my doveadm fetch output for an affected mailbox, the same UID appears to be processed over and over before Dovecot moves on. In the example I happen to have on screen, this line appears 13 times in the output, each with with a larger value to the right of the <
>>
>> doveadm(user at example.com): Error: Maildir filename has wrong S value, renamed the file from /var/spool/virtual_mail/user_example.com_d/.INBOX.folder/cur/1308038406.M274176P16579.mail.example.net,S=11919:2,S to /var/spool/virtual_mail/user_example.com_d/.INBOX.folder/cur/1308038406.M274176P16579.mail.example.net,S=11919:2,S
>> doveadm(user at example.com): Error: Corrupted index cache file /var/spool/virtual_mail/user_example.com_d/.INBOX.eBay/dovecot.index.cache: Broken physical size for mail UID 99
> Have you enabled zlib plugin globally, not just for e.g. IMAP protocol? Show your doveconf -n output.
>

I believe that the plugin is enabled globally -

# 2.1.10: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-279.el6.x86_64 x86_64 Red Hat Enterprise Linux Server 
release 6.3 (Santiago)
auth_mechanisms = plain login cram-md5 digest-md5 apop
auth_socket_path = /var/run/dovecot/auth-userdb
auth_username_chars =
auth_worker_max_count = 8192
default_client_limit = 32771
default_internal_user = mail
default_process_limit = 32771
disable_plaintext_auth = no
first_valid_uid = 8
last_valid_uid = 8
lda_mailbox_autocreate = yes
mail_location = maildir:%h
mail_plugins = quota zlib
namespace inbox {
   inbox = yes
   location =
   mailbox Drafts {
     special_use = \Drafts
   }
   mailbox Junk {
     special_use = \Junk
   }
   mailbox Sent {
     special_use = \Sent
   }
   mailbox "Sent Messages" {
     special_use = \Sent
   }
   mailbox Trash {
     special_use = \Trash
   }
   prefix =
}
passdb {
   args = /var/mail-auth/passwd.dovecot
   driver = passwd-file
}
passdb {
   args = /var/mail-auth/legacy.%l
   driver = passwd-file
}
plugin {
   quota = maildir
   quota_rule = ?:storage=400M
   quota_rule2 = Trash:storage=+10%
   quota_warning = storage=90%% quota-warning 90 %u
}
service anvil {
   client_limit = 65545
}
service auth {
   client_limit = 118793
   unix_listener auth-userdb {
     group = mail
     mode = 0600
     user = mail
   }
}
service imap-login {
   process_min_avail = 16
   vsz_limit = 64 M
}
service imap-postlogin {
   executable = script-login /usr/local/bin/count_imap_login
   group = mail
   user = mail
}
service imap {
   executable = imap imap-postlogin
   process_limit = 16384
}
service pop3-postlogin {
   executable = script-login /usr/local/bin/count_pop_login
   group = mail
   user = mail
}
service pop3 {
   executable = pop3 pop3-postlogin
   process_limit = 4096
}
service quota-warning {
   executable = script /usr/local/bin/send-mailbox-near-quota-warning
   unix_listener quota-warning {
     user = mail
   }
   user = mail
}
ssl_cert = </etc/ssl/certs/redacted.pem
ssl_key = </etc/ssl/certs/redacted.pem
userdb {
   args = /var/mail-auth/passwd.dovecot
   driver = passwd-file
}
userdb {
   args = /var/mail-auth/legacy.%l
   driver = passwd-file
}
verbose_proctitle = yes
protocol imap {
   imap_capability = +QUOTA SORT SORT=DISPLAY
   mail_max_userip_connections = 50
   mail_plugins = quota zlib imap_quota
}
protocol pop3 {
   mail_max_userip_connections = 40
   pop3_reuse_xuidl = yes
}




More information about the dovecot mailing list