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
On 01 Jun 2016, at 16:48, Alessio Cecchi <alessio at skye.it> wrote:> > 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)..> 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.If it's reproducible for a specific email, can you send me the email?
On 02/06/2016 22:58, Timo Sirainen wrote:> On 01 Jun 2016, at 16:48, Alessio Cecchi <alessio at skye.it> wrote: >> >> 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) > .. > >> 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. > > If it's reproducible for a specific email, can you send me the email?I'm replying to this again for a couple of reasons: 1. I've not heard any further discussion and I accidentally replied to the wrong thread initially (oops!) 2. It's actually looking to become a fairly serious issue (extra 100Mb/s of network traffic, extra 10K NFS ops/sec) I've been seeing the same problem after upgrading from 2.2.18 to 2.2.24 with identical config. Reads from mailboxes have doubled, which looks consistent with repeated index rebuilds. It's not got any better over time, so the indexes aren't managing to self-heal (over 1300 of these errors today so far, for example). [2016-06-09T09:50:30+0100] imap(xxxx): Error: Corrupted index cache file /mnt/index/c69/923413/.INBOX/dovecot.index.cache: Broken MIME parts for mail UID 74359 in mailbox INBOX: Cached MIME parts don't match message during parsing: Cached header size mismatch (parts=410000009c0a000000000000cc0a000000000000230c20000000000030782000000000000600000041000000bb0a0000000000004c000000000000004e00000000000000cf68000000000000966b0000000000000200000048000000260b00000000000055000000000000005800000000000000251600000000000066170000000000004101000048000000c02100000000000054000000000000005700000000000000a0510000000000001b530000000000007b01000040000000f573000000000000f400000000000000fb00000000000000f0c700000000000088ca00000000000040000000f93c01000000000019010000000000001f0100000000000094fc080000000000741a09000000000040000000c63a0a0000000000cf00000000000000d40000000000000094fc080000000000741a09000000000044000000493813000000000086000000000000008b00000000000000928b0c000000000048b50c0000000000b62900000100000008000000cf38130000000000918b0c000000000046b50c000000000000000000000000000000000000000000000000004400000080c41f000000000086000000000000008b000000000000009851000000000000a85200000000000010010000010000000800000006c51f00000000009751000000000000a6520000000000000000000000000000000000000000000000000000) [2016-06-09T10:05:32+0100] imap(xxxx): Error: Corrupted index cache file /mnt/index/498/1603514/.INBOX/dovecot.index.cache: Broken MIME parts for mail UID 810 in mailbox INBOX: Cached MIME parts don't match message during parsing: Cached header size mismatch (parts=41000000dc02000000000000ef02000000000000e8060000000000001c070000000000000300000048000000fc020000000000005b000000000000005f0000000000000098000000000000009b0000000000000003000000400000001004000000000000270000000000000029000000000000000a0100000000000011010000000000004400000062050000000000001e00000000000000200000000000000020040000000000003a040000000000001a000000010000004100000080050000000000001f0400000000000038040000000000000000000000000000000000000000000000000000) Again, usual force-resync of the index or deletion and recreation don't help, the same indexes keep corrupting based on certain messages. Checking one of the triggering emails, maildir tags for size and virtual size are correct, contains a 6 part multipart/mixed with the first part being itself a 2 part multipart/alternative, both have different boundary ids (unfortunately I still cannot release the email itself, I'm hoping the error will trigger on some that I can release, none so far) -- Dave
On 01 Jun 2016, at 16:48, Alessio Cecchi <alessio at skye.it> wrote:> > 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)Should be fixed by https://github.com/dovecot/core/commit/1bc6f1c54b4d77830288b8cf19060bd8a6db7b27
On 11 Jun 2016, at 21:29, Timo Sirainen <tss at iki.fi> wrote:> > On 01 Jun 2016, at 16:48, Alessio Cecchi <alessio at skye.it> wrote: >> >> 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) > > Should be fixed by https://github.com/dovecot/core/commit/1bc6f1c54b4d77830288b8cf19060bd8a6db7b27Oh, also this is required for it: https://github.com/dovecot/core/commit/20faa69d801460e89aa0b1214f3db4b026999b1e