Hi,
after the last upgrade to Dovecot 2.2.24.2 (d066a24) I see an increased number of errors "Broken MIME parts" for users in dovecot log file, here an example:
Jun 01 15:25:29 Error: imap(alessio.cecchi@skye.it): Corrupted index cache file /home/domains/skye.it/alessio.cecchi/Maildir/dovecot.index.cache: Broken MIME parts for mail UID 34 in mailbox INBOX: Cached MIME parts don't match message during parsing: Cached header size mismatch (parts=410000005b070000000000007b07000000000000fc0a000000000000400b0000000000000300000048000000800700000000000060000000000000006400000000000000200000000000000021000000000000000100000040000000260800000000000027000000000000002900000000000000ea00000000000000f000000000000000440000005d090000000000001e000000000000002000000000000000b308000000000000e0080000000000002d00000001000000410000007b09000000000000b208000000000000de080000000000000000000000000000000000000000000000000000) Jun 01 15:25:29 Error: imap(alessio.cecchi@skye.it): Corrupted index cache file /home/domains/skye.it/alessio.cecchi/Maildir/dovecot.index.cache: Broken MIME parts for mail UID 35 in mailbox INBOX: Cached MIME parts don't match message during parsing: Cached header size mismatch (parts=410000005b070000000000007b07000000000000fd0a000000000000410b0000000000000300000048000000800700000000000060000000000000006400000000000000200000000000000021000000000000000100000040000000260800000000000027000000000000002900000000000000eb00000000000000f100000000000000440000005e090000000000001e000000000000002000000000000000b308000000000000e0080000000000002d00000001000000410000007c09000000000000b208000000000000de080000000000000000000000000000000000000000000000000000) Jun 01 15:25:29 Error: imap(alessio.cecchi@skye.it): unlink(/home/domains/skye.it/alessio.cecchi/Maildir/dovecot.index.cache) failed: No such file or directory (in mail-cache.c:28) Jun 01 15:25:29 Error: imap(alessio.cecchi@skye.it): Corrupted index cache file /home/domains/skye.it/alessio.cecchi/Maildir/dovecot.index.cache: Broken MIME parts for mail UID 49 in mailbox INBOX: Cached MIME parts don't match message during parsing: Cached header size mismatch (parts=) Jun 01 15:25:29 Error: imap(alessio.cecchi@skye.it): unlink(/home/domains/skye.it/alessio.cecchi/Maildir/dovecot.index.cache) failed: No such file or directory (in mail-cache.c:28) Jun 01 15:25:29 Error: imap(alessio.cecchi@skye.it): Corrupted index cache file /home/domains/skye.it/alessio.cecchi/Maildir/dovecot.index.cache: Broken MIME parts for mail UID 50 in mailbox INBOX: Cached MIME parts don't match message during parsing: Cached header size mismatch (parts=) Jun 01 15:25:29 Error: imap(alessio.cecchi@skye.it): unlink(/home/domains/skye.it/alessio.cecchi/Maildir/dovecot.index.cache) failed: No such file or directory (in mail-cache.c:28) Jun 01 15:25:29 Error: imap(alessio.cecchi@skye.it): Corrupted index cache file /home/domains/skye.it/alessio.cecchi/Maildir/dovecot.index.cache: Broken MIME parts for mail UID 54 in mailbox INBOX: Cached MIME parts don't match message during parsing: Cached header size mismatch (parts=) Jun 01 15:25:29 Error: imap(alessio.cecchi@skye.it): unlink(/home/domains/skye.it/alessio.cecchi/Maildir/dovecot.index.cache) failed: No such file or directory (in mail-cache.c:28) Jun 01 15:25:29 Error: imap(alessio.cecchi@skye.it): Corrupted index cache file /home/domains/skye.it/alessio.cecchi/Maildir/dovecot.index.cache: Broken MIME parts for mail UID 55 in mailbox INBOX: Cached MIME parts don't match message during parsing: Cached header size mismatch (parts=)
I try to run:
- doveadm index -u alessio.cecchi@skye.it INBOX
- doveadm force-resync -u alessio.cecchi@skye.it INBOX
- delete all dovecot.* files for user
but the error reappears always (for the same UID) when I do "search" from webmail. All works fine for the users but I don't think is good to have these errors in log file.
My configuration:
# dovecot -n # 2.2.24.2 (d066a24): /etc/dovecot/dovecot.conf # Pigeonhole version 0.4.14 (5986a78) # OS: Linux 2.6.32-642.el6.x86_64 x86_64 CentOS release 6.8 (Final) auth_cache_negative_ttl = 2 mins auth_cache_size = 20 M auth_cache_ttl = 20 mins auth_master_user_separator = * auth_mechanisms = plain login auth_worker_max_count = 50 deliver_log_format = msgid=%m, from=%f, subject="%s": %$ dict { acl = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext expire = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext sqlquota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext } disable_plaintext_auth = no first_valid_gid = 89 first_valid_uid = 89 imap_client_workarounds = delay-newmail tb-extra-mailbox-sep tb-lsub-flags imap_idle_notify_interval = 29 mins imap_logout_format = in=%i out=%o session=<%{session}> imap_max_line_length = 2 M last_valid_gid = 89 last_valid_uid = 89 lda_mailbox_autocreate = yes lda_mailbox_autosubscribe = yes listen = 10.0.0.157 login_trusted_networks = 10.0.0.0/24 mail_fsync = always mail_location = maildir:~/Maildir mail_plugins = quota acl expire zlib maildir_very_dirty_syncs = yes managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext vnd.dovecot.duplicate mmap_disable = yes namespace { list = children location = maildir:%%h/Maildir:INDEX=~/Maildir/shared/%%u prefix = shared/%%n/ separator = / subscriptions = no type = shared } namespace inbox { inbox = yes location = mailbox Drafts { auto = subscribe special_use = \Drafts } mailbox Sent { auto = subscribe special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Spam { auto = subscribe special_use = \Junk } mailbox Trash { auto = subscribe special_use = \Trash } prefix = separator = / } passdb { args = username_format=%Ld /etc/dovecot/extra/alias-domains-denylogin.txt deny = yes driver = passwd-file } passdb { args = /etc/dovecot/dovecot-deny-sql.conf.ext deny = yes driver = sql } passdb { args = /etc/dovecot/extra/master-users driver = passwd-file master = yes pass = yes } passdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } plugin { acl = vfile acl_shared_dict = proxy::acl antispam_backend = mailtrain antispam_mail_notspam = --ham antispam_mail_sendmail = /usr/bin/sa-learn antispam_mail_spam = --spam antispam_spam = Spam antispam_trash = Trash expire = Trash expire2 = Spam expire_dict = proxy::expire fts = solr fts_solr = url=http://10.0.0.5:8983/solr/ quota = maildir:UserQuota quota2 = dict:Quota Usage::noenforcing:proxy::sqlquota quota_grace = 10M quota_rule2 = Trash:storage=+100M quota_warning = storage=95%% quota-warning 95 %u quota_warning2 = storage=80%% quota-warning 80 %u sieve = ~/.dovecot.sieve sieve_before = /etc/dovecot/sieve/before.sieve sieve_dir = ~/sieve sieve_extensions = +vnd.dovecot.duplicate -vacation zlib_save = gz zlib_save_level = 6 } pop3_client_workarounds = outlook-no-nuls oe-ns-eoh pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%m, size=%s, bytes=%i/%o, session=<%{session}> protocols = imap pop3 sieve sendmail_path = /var/qmail/bin/sendmail service anvil { unix_listener anvil-auth-penalty { mode = 00 } } service auth { client_limit = 6524 unix_listener auth-userdb { group = vchkpw mode = 0660 user = vpopmail } } service dict { process_limit = 500 unix_listener dict { group = vchkpw mode = 0660 user = vpopmail } } service imap-login { process_min_avail = 4 service_count = 0 } service imap-postlogin { executable = script-login /etc/dovecot/scripts/imap-postlogin.sh unix_listener imap-postlogin { group = vchkpw mode = 0660 user = vpopmail } user = vpopmail } service imap { executable = imap imap-postlogin process_limit = 5000 vsz_limit = 384 M } service managesieve-login { inet_listener sieve { port = 4190 } } service pop3-login { process_min_avail = 4 service_count = 0 } service pop3-postlogin { executable = script-login /etc/dovecot/scripts/pop3-postlogin.sh unix_listener pop3-postlogin { group = vchkpw mode = 0660 user = vpopmail } user = vpopmail } service pop3 { executable = pop3 pop3-postlogin process_limit = 1024 } service quota-warning { executable = script /etc/dovecot/scripts/quota-warning.sh unix_listener quota-warning { user = vpopmail } user = vpopmail } service stats { fifo_listener stats-mail { group = vchkpw mode = 0660 user = vpopmail } } ssl = no ssl_protocols = !SSLv2 !SSLv3 submission_host = 127.0.0.1 userdb { driver = prefetch } userdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } verbose_proctitle = yes protocol lda { mail_fsync = optimized mail_location = maildir:~/Maildir:INDEX=MEMORY mail_plugins = quota acl expire zlib sieve } protocol imap { mail_max_userip_connections = 50 mail_plugins = quota acl expire zlib imap_quota imap_acl imap_zlib } protocol sieve { mail_max_userip_connections = 2 } protocol pop3 { mail_max_userip_connections = 15 }
-- Alessio Cecchi Postmaster @ http://www.qboxmail.it https://www.linkedin.com/in/alessice