<div dir="ltr"><div>An email came to several users but one user didn't receive it and we got 'Mail delivery failed' message.<br></div><div><br></div><div></div><div>As I see from the log below, there were broken index file. <br></div><div>Then dovecot repaired that index and we got the error:<br></div><div>Panic: file mail-index-sync-update.c: line 1013 (mail_index_sync_map):
assertion failed: (map->hdr.indexid == index->indexid ||
map->hdr.indexid == 0)<br></div><div><br></div><div>It was one-time error and it has not reappeared yet.<br></div><div>At the moment the user receives emails successfully (in .Queue.A_Sup.group_05 as well).<br></div><div><br></div><div>It is supposed that Dovecot had to repair index file and put the email in mnt/mail//user05/Maildir/.Queue.A_Sup.group_05/ directory but it didn't.</div><div>Is there something wrong with Dovecot?<br></div><div><br></div><div>Thanks.</div><div><br></div><div>---<br></div><div>Operating system: Linux Centos 7 3.10.0-862.3.2.el7.x86_64 #1 SMP Mon May 21 23:36:36 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux</div><div><br></div><div>rpm -qa |grep dovecot<br>dovecot-pigeonhole-2.2.10-8.el7.x86_64<br>dovecot-2.2.10-8.el7.x86_64<br></div><div><br></div><div>dovecot.log output<br></div><div>---------------------<br></div><div>Aug 06 23:19:24 lda: Debug: Loading modules from directory: /usr/lib64/dovecot</div>Aug 06 23:19:24 lda: Debug: Module loaded: /usr/lib64/dovecot/lib90_sieve_plugin.so<br>Aug 06 23:19:24 lda(user05): Debug: Effective uid=10492, gid=10001, home=/mnt/mail/user05<br>Aug 06 23:19:24 lda(user05): Debug: Namespace inbox: type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/mnt/mail//user05/Maildir:INBOX=/mnt/mail//user05/Maildir<br>Aug 06 23:19:24 lda(user05): Debug: maildir++: root=/mnt/mail//user05/Maildir, index=, indexpvt=, control=, inbox=/mnt/mail//user05/Maildir, alt=<br>Aug 06 23:19:24 lda(user05): Debug: userdb lookup skipped, username taken from USER environment<br>Aug 06 23:19:24 lda(user05): Debug: none: root=, index=, indexpvt=, control=, inbox=, alt=<br>Aug 06 23:19:24 lda(user05): Debug: Destination address: <a href="mailto:user05@imap.po.com">user05@imap.po.com</a> (source: user@hostname)<br>Aug 06 23:19:24 lda(user05): Debug: sieve: Pigeonhole version 0.4.2 initializing<br>Aug 06 23:19:24 lda(user05): Debug: sieve: include: sieve_global_dir is not set; it is currently not possible to include `:global' scripts.<br>Aug 06 23:19:24 lda(user05): Debug: sieve: executed before user's personal Sieve script(1): /etc/dovecot/sieve/before/priority_colors.sieve<br>Aug 06 23:19:24 lda(user05): Debug: sieve: using the following location for user's Sieve script: /mnt/mail//user05/.dovecot.sieve;name=main script<br>Aug 06 23:19:24 lda(user05): Debug: sieve: executed after user's Sieve script(3): /etc/dovecot/sieve/after/spam.sieve<br>Aug 06 23:19:24 lda(user05): Debug: sieve: opening script 1 of 3 from /etc/dovecot/sieve/before/priority_colors.sieve<br>Aug 06 23:19:24 lda(user05): Debug: sieve: loading script /etc/dovecot/sieve/before/priority_colors.sieve<br>Aug 06 23:19:24 lda(user05): Debug: sieve: script binary /etc/dovecot/sieve/before/priority_colors.svbin successfully loaded<br>Aug 06 23:19:24 lda(user05): Debug: sieve: binary save: not saving binary /etc/dovecot/sieve/before/priority_colors.svbin, because it is already stored<br>Aug 06 23:19:24 lda(user05): Debug: sieve: executing script from /etc/dovecot/sieve/before/priority_colors.svbin<br>Aug 06 23:19:24 lda(user05): Debug: sieve: opening script 2 of 3 from /mnt/mail//user05/.dovecot.sieve;name=main script<br>Aug 06 23:19:24 lda(user05): Debug: sieve: loading script /mnt/mail//user05/.dovecot.sieve;name=main script<br>Aug 06 23:19:24 lda(user05): Debug: sieve: script binary /mnt/mail//user05/.dovecot.svbin successfully loaded<br>Aug 06 23:19:24 lda(user05): Debug: sieve: binary save: not saving binary /mnt/mail//user05/.dovecot.svbin, because it is already stored<br>Aug 06 23:19:24 lda(user05): Debug: sieve: executing script from /mnt/mail//user05/.dovecot.svbin<br>Aug 06 23:19:24 lda(user05): Error: Index file /mnt/mail//user05/Maildir/.Queue.A_Sup.group_05/dovecot.index: indexid changed: 1533501509 -> 1464071305<br>Aug 06 23:19:24 lda(user05): Error: Corrupted transaction log file /mnt/mail//user05/Maildir/.Queue.A_Sup.group_05/dovecot.index.log seq 3: indexid changed: 1533501509 -> 1464071305 (sync_offset=168)<br>Aug 06 23:19:24 lda(user05): Error: Transaction log file /mnt/mail//user05/Maildir/.Queue.A_Sup.group_05/dovecot.index.log: marked corrupted<br>Aug 06 23:19:24 lda: Debug: Loading modules from directory: /usr/lib64/dovecot<br>Aug 06 23:19:24 lda(user05): Error: Corrupted index file /mnt/mail//user05/Maildir/.Queue.A_Sup.group_05/dovecot.index: messages_count too large (2915 > 85)<br>Aug 06 23:19:24 lda(user05): Warning: fscking index file /mnt/mail//user05/Maildir/.Queue.A_Sup.group_05/dovecot.index<br>Aug 06 23:19:24 lda(user05): Error: Corrupted index file /mnt/mail//user05/Maildir/.Queue.A_Sup.group_05/dovecot.index: messages_count too large (2915 > 85)<br>Aug 06 23:19:24 lda(user05): Warning: fscking index file /mnt/mail//user05/Maildir/.Queue.A_Sup.group_05/dovecot.index<br>Aug 06 23:19:24 lda(user05): Error: Fixed index file /mnt/mail//user05/Maildir/.Queue.A_Sup.group_05/dovecot.index: log_file_seq 670 -> 2<br>Aug 06 23:19:24 lda(user05): Error: Fixed index file /mnt/mail//user05/Maildir/.Queue.A_Sup.group_05/dovecot.index: messages_count 2915 -> 85<br>Aug 06 23:19:24 lda(user05): Panic: file mail-index-sync-update.c: line 1013 (mail_index_sync_map): assertion failed: (map->hdr.indexid == index->indexid || map->hdr.indexid == 0)<br><div>Aug 06 23:19:24 lda(user05): Error: Raw backtrace: /usr/lib64/dovecot/libdovecot.so.0(+0x6a06e) [0x7f1ada8a106e] -> /usr/lib64/dovecot/libdovecot.so.0(default_fatal_handler+0x2a) [0x7f1ada8a10da] -> /usr/lib64/dovecot/libdovecot.so.0(i_fatal+0) [0x7f1ada85952c] -> /usr/lib64/dovecot/libdovecot-storage.so.0(mail_index_sync_map+0x651) [0x7f1adabda2c1] -> /usr/lib64/dovecot/libdovecot-storage.so.0(mail_index_map+0x3e7) [0x7f1adabcab77] -> /usr/lib64/dovecot/libdovecot-storage.so.0(+0xb937d) [0x7f1adabc637d] -> /usr/lib64/dovecot/libdovecot-storage.so.0(+0xb9990) [0x7f1adabc6990] -> /usr/lib64/dovecot/libdovecot-storage.so.0(mail_index_open+0x8c) [0x7f1adabc6a7c] -> /usr/lib64/dovecot/libdovecot-storage.so.0(index_storage_mailbox_open+0x87) [0x7f1adabb79c7] -> /usr/lib64/dovecot/libdovecot-storage.so.0(+0x4d882) [0x7f1adab5a882] -> /usr/lib64/dovecot/libdovecot-storage.so.0(+0x4d963) [0x7f1adab5a963] -> /usr/lib64/dovecot/libdovecot-storage.so.0(+0x802b4) [0x7f1adab8d2b4] -> /usr/lib64/dovecot/libdovecot-storage.so.0(mailbox_open+0x20) [0x7f1adab8d430] -> /usr/lib64/dovecot/libdovecot-lda.so.0(mail_deliver_save_open+0xad) [0x7f1adae3240d] -> /usr/lib64/dovecot/libdovecot-sieve.so.0(+0x3f0a2) [0x7f1ad9e130a2] -> /usr/lib64/dovecot/libdovecot-sieve.so.0(sieve_result_execute+0xc5) [0x7f1ad9e0b0f5] -> /usr/lib64/dovecot/libdovecot-sieve.so.0(sieve_multiscript_run+0x119) [0x7f1ad9e1b3c9] -> /usr/lib64/dovecot/lib90_sieve_plugin.so(+0x2e97) [0x7f1ada062e97] -> /usr/lib64/dovecot/libdovecot-lda.so.0(mail_deliver+0x4a) [0x7f1adae32b3a] -> /usr/libexec/dovecot/deliver(main+0x3b5) [0x556390a1e885] -> /lib64/libc.so.6(__libc_start_main+0xf5) [0x7f1ada48c445] -> /usr/libexec/dovecot/deliver(+0x318c) [0x556390a1f18c]</div><div><br></div><div><br></div><div>dovecot -n output:<br></div><div><br></div><div>===========<br># 2.2.10: /etc/dovecot/dovecot.conf<br># OS: Linux 3.10.0-862.3.2.el7.x86_64 x86_64 CentOS Linux release 7.5.1804 (Core) fuse.encfs<br>auth_verbose = yes<br>first_valid_uid = 1000<br>lda_mailbox_autocreate = yes<br>log_path = /var/log/dovecot.log<br>mail_debug = yes<br>mail_home = /mnt/mail/%d/%n<br>mail_location = maildir:/mnt/mail/%d/%n/Maildir:INBOX=/mnt/mail/%d/%n/Maildir<br>managesieve_notify_capability = mailto<br>managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox dat<br>e ihave<br>mbox_write_locks = fcntl<br>namespace inbox {<br> inbox = yes<br> location = <br> mailbox Drafts {<br> special_use = \Drafts<br> }<br> mailbox Junk {<br> special_use = \Junk<br> }<br> mailbox Sent {<br> special_use = \Sent<br> }<br> mailbox "Sent Messages" {<br> special_use = \Sent<br> }<br> mailbox Trash {<br> special_use = \Trash<br> }<br> prefix = <br>}<br>passdb {<br> driver = pam<br>}<br>plugin {<br> setting_name = value sieve<br> sieve = /mnt/mail/%d/%n/.dovecot.sieve<br> sieve_after = /etc/dovecot/sieve/after/<br> sieve_before = /etc/dovecot/sieve/before/<br> sieve_dir = /mnt/mail/%d/%n/sieve<br>}<br>protocols = imap pop3 lmtp sieve<br>service imap-login {<br> process_limit = 2000<br>}<br>service managesieve-login {<br> inet_listener sieve {<br> port = 4190<br> }<br> process_min_avail = 0<br> service_count = 1<br> vsz_limit = 64 M<br>}<br>service managesieve {<br> process_limit = 1024<br>}<br>ssl = required<br>ssl_ca = </etc/CERT/SSL_CA_Bundle.pem<br>ssl_cert = </etc/CERT/po.com.crt<br>ssl_key = </etc/CERT/po.com.key<br>ssl_protocols = !SSLv2 !SSLv3<br>userdb {<br> driver = passwd<br>}<br>protocol lda {<br> mail_plugins = " sieve"<br>}<br>protocol imap {<br> mail_max_userip_connections = 20<br>}<br>================<br></div></div>