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.