On 19/02/13 15:41, Timo Sirainen wrote:
On 19.2.2013, at 16.48, Rob Redpath rob.redpath@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@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@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 =