On Tue, Oct 30, 2007 at 04:23:36PM -0400, Jeff Tucker wrote:
Hello,
I am running Dovecot 1.0.5 and seem to have lots of errors in my Dovecot logs. The worst errors are things like:
Oct 30 16:11:42 delta2 dovecot: IMAP(x): Corrupted transaction log file /home/spamcop-net2/deputies/dovecot.index.log: end_offset (392) > current sync_offset (388) Oct 30 16:11:42 delta2 dovecot: IMAP(x): file mail-index-sync-update.c: line 841 (mail_index_sync_update_index): assertion failed: (view->hdr.messages_count == map->hdr.messages_count) Oct 30 16:11:42 delta2 dovecot: IMAP(x): Raw backtrace: imap [0x462a7e] -> imap [0x46234c] -> imap(mail_index_sync_update_index+0x7b2) [0x44a982] -> imap(mail_index_sync_commit+0xe7) [0x447f87] -> imap(maildir_sync_index_finish+0xd2) [0x420b32] -> imap [0x4225af] -> imap(maildir_storage_sync_init+0x63) [0x4227b3] -> imap(imap_sync_nonselected+0xf) [0x41be9f] -> imap(_cmd_select_full+0xc5) [0x413f95] -> imap(cmd_select+0xb) [0x41411b] -> imap [0x415a87] -> imap [0x415b2c] -> imap(_client_input+0x75) [0x415cd5] -> imap(io_loop_handler_run+0xee) [0x4684ce] -> imap(io_loop_run+0x2d) [0x46797d] -> imap(main+0x3e3) [0x41d7b3] -> /lib/libc.so.6(__libc_start_main+0xdb) [0x2aaaaace049b] -> imap [0x410cca]
When this happens, my users just get timeouts trying to do stuff.
I have my messages (maildirs) and indices all stored on NFS. For locking, I have mmap_disable = yes and lock_method = dotlock
Do you have any idea what is going on here? In general, I get tons of errors about corrupted transaction log files for all users. Is this normal?
Thanks Jeff
Do you have more than one server accessing the same indexes on NFS? Without turning off the NFS access cache on each server (slow) thats a bad idea in 1.0. To get around this, I use this:
mail_location = maildir:~/Maildir:CONTROL=%h/Maildir/dovecot/private/control:INDEX=/cache/dovecot/%u/private/indexes
Where CONTROL is shared on NFS but INDEX is on a local partition. If the user doesn't access mail very often and logs into random servers, they run the chance of having an empty cache, but thats better than corruption and this has been working solidly for me. I'll be testing out 1.1 soon which when setup properly should allow sharing INDEX on NFS safely, not to mention more self healing.
I would delete that users index files at the minimum.