Hi
I'm running into regular problems with dovecot choking on "corrupted" index files. The main problem is that it doesn't sort itself out and recover. This message below is repeated regularly in the log files (until I delete the index files)
I *think* the trigger to get into this situation might be a files being delivered with incorrect S= values in the filename? Which is to say I am using maildrop to deliver messages and occasionally maildrop seems to write files with incorrect S= names (anyone know why or how to fix it?). The error logged regarding incorrect S= values is obviously completely different, but I speculate that it could be the earlier cause that gets the index file out of shape as shown in the problem here
Thanks for any help? (note it's not easy to remove maildrop at present)
Ed W
Sep 1 07:32:51 mail1 dovecot: imap(xxxxxxx@mailasail.com): Panic: file mail-index-transaction-export.c: line 203 (log_append_ext_hdr_update): assertion failed: (u32.offset + u32.size <= ext_hdr_size) Sep 1 07:32:51 mail1 dovecot: imap(xxxxxxx@mailasail.com): Error: Raw backtrace: /usr/lib/dovecot/libdovecot.so.0(+0x69a9e) [0xedee5a9e] -> /usr/lib/dovecot/libdovecot.so.0(+0x69b21) [0xedee5b21] -> /usr/lib/dovecot/libdovecot.so.0(i_fatal+0) [0xede97a69] -> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_transaction_export+0xa36) [0xedfff706] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0xa9f50) [0xedffdf50] -> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_transaction_commit_full+0xc4) [0xedffe454] -> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_transaction_commit+0x23) [0xedffe513] -> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_sync_commit+0xef) [0xee0078ef] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x52e05) [0xedfa6e05] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x52040) [0xedfa6040] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x5251a) [0xedfa651a] -> /usr/lib/dovecot/libdovecot-storage.so.0(maildir_storage_sync_init+0xf4) [0xedfa68d4] -> /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_sync_init+0x3b) [0xedfb786b] -> /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_sync+0x3f) [0xedfb79af] -> dovecot/imap xxxxxxx@mailasail.com 80.189.197.148 SELECT [0x80594d7] -> dovecot/imap xxxxxxx@mailasail.com 80.189.197.148 SELECT [0x8059f37] -> dovecot/imap xxxxxxx@mailasail.com 80.189.197.148 SELECT [0x805f1a2] -> dovecot/imap xxxxxxx@mailasail.com 80.189.197.148 SELECT [0x805e197] -> dovecot/imap xxxxxxx@mailasail.com 80.189.197.148 SELECT [0x805e2d9] -> dovecot/imap xxxxxxx@mailasail.com 80.189.197.148 SELECT [0x805e515] -> dovecot/imap xxxxxxx@mailasail.com 80.189.197.148 SELECT [0x805e8c2] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x59) [0xedef8e89] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0xee) [0xedefa05e] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x1c) [0xedef8f1c] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x48) [0xedef8fa8] -> /usr/lib/dovecot/libdovecot.so.0(master_service_run+0x2e) [0xede9d76e] -> dovecot/imap xxxxxxx@mailasail.com 80.189.197.148 SELECT [0x80520ed] -> /lib/libc.so.6(__libc_start_main+0xf5) [0xedce9f25] Sep 1 07:32:51 mail1 dovecot: imap(xxxxxxx@mailasail.com): Fatal: master: service(imap): child 31315 killed with signal 6 (core dumps disabled)
I'm seeing some similar problems, sometimes, but not always, resulting in a backtrace -- recently migrated (where we had POP3 access via an old version of Courier, and IMAP via an older version of Dovecot; rebuilt the indices for POP3 users using the script). A few cases, where it looks like Dovecot doesn't like the size in the dovecot-uidlist written by the conversion script. Even though I could imagine that process not working properly
We also had a problem with the auth process on the atrpms 2.2.10 RPM dying / respawning if a user didn't exist in LDAP (quickly built 2.2.13).
Clearing the cache only doesn't seem to fix the problem; I can fix by removing dovecot-uidlist entirely and letting it rebuild, but all of the users with problems use both IMAP and POP3, so having the UIDLs reset is not ideal.
Sep 6 16:29:30 hostname dovecot: imap(XXXXXXXX): Error: Raw backtrace: /usr/lib64/dovecot/libdovecot.so.0() [0x3dd1a69b9a] -> /usr/lib64/dovecot/libdovecot.so.0() [0x3dd1a69c06] -> /usr/lib64/dovecot/libdovecot.so.0() [0x3dd1a22a8a] -> dovecot-main/imap XXXXXXXX XX.XX.XX.XX UID FETCH UID FETCH UID FETCH UID FETCH [0x418d69] -> dovecot-main/imap XXXXXXXX XX.XX.XX.XX UID FETCH UID FETCH UID FETCH UID FETCH [0x40d863] -> dovecot-main/imap XXXXXXXX XX.XX.XX.XX UID FETCH UID FETCH UID FETCH UID FETCH [0x41709d] -> dovecot-main/imap XXXXXXXX XX.XX.XX.XX UID FETCH UID FETCH UID FETCH UID FETCH [0x416150] -> dovecot-main/imap XXXXXXXX XX.XX.XX.XX UID FETCH UID FETCH UID FETCH UID FETCH [0x41624a] -> dovecot-main/imap XXXXXXXX XX.XX.XX.XX UID FETCH UID FETCH UID FETCH UID FETCH [0x4164bd] -> dovecot-main/imap XXXXXXXX XX.XX.XX.XX UID FETCH UID FETCH UID FETCH UID FETCH [0x41682f] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_call_io+0x4e) [0x3dd1a7a2ee] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0xa7) [0x3dd1a7b497] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_handler_run+0x9) [0x3dd1a7a379] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_run+0x38) [0x3dd1a7a3f8] -> /usr/lib64/dovecot/libdovecot.so.0(master_service_run+0x13) [0x3dd1a275d3] -> dovecot-main/imap XXXXXXXX XX.XX.XX.XX UID FETCH UID FETCH UID FETCH UID FETCH [0x420088] -> /lib64/libc.so.6(__libc_start_main+0xfd) [0x33b8a1ed5d] -> dovecot-main/imap XXXXXXXX XX.XX.XX.XX UID FETCH UID FETCH UID FETCH UID FETCH [0x40ac69] Sep 6 16:31:28 hostname dovecot: imap(XXXXXXXX): Error: read(/var/spool/maildir/l/XXXXXXXX/cur/1409757870.31894_0.hostname.example.com:2,S): FETCH BODY[] for mailbox INBOX UID 778 got too little data: 763 vs 764 Sep 6 16:31:28 hostname dovecot: imap(XXXXXXXX): Error: Corrupted index cache file /mnt/post/cache/l/XXXXXXXX/.INBOX/dovecot.index.cache: Broken virtual size for mail UID 778 Sep 6 16:44:57 hostname dovecot: imap(XXXXXXXX): Error: read(/var/spool/maildir/l/XXXXXXXX/cur/1407825903.29027_0.hostname.example.com:2,aeS): FETCH BODY[] for mailbox INBOX UID 770 got too little data: 1253 vs 1274 Sep 6 16:44:57 hostname dovecot: imap(XXXXXXXX): Error: Corrupted index cache file /mnt/post/cache/l/XXXXXXXX/.INBOX/dovecot.index.cache: Broken virtual size for mail UID 770
participants (2)
-
Ed W
-
Will Yardley