Increased errors "Broken MIME parts" in log file

Alessio Cecchi alessio at skye.it
Wed Jun 1 13:48:09 UTC 2016


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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at skye.it INBOX
- doveadm force-resync -u alessio.cecchi at 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


More information about the dovecot mailing list