On Mon, 2006-03-06 at 13:52 -0500, Jeff A. Earickson wrote:
My setup: Solaris 9, built with gcc 4.0.2 (I now have gcc 4.1 installed on my system, but have not rebuilt dovecot). A couple of asserts and cores in the last few days:
Mar 1 09:25:13 emerald dovecot: [ID 107833 mail.error] imap(tmwillia): file mbox-sync.c: line 1471 (mbox_sync_do): assertion failed: (!sync_ctx->mbox->mbox_sync_dirty || (flags & MBOX_SYNC_UNDIRTY) == 0) Mar 1 09:58:44 emerald dovecot: [ID 107833 mail.error] imap(eewilson): file mbox-sync.c: line 1471 (mbox_sync_do): assertion failed: (!sync_ctx->mbox->mbox_sync_dirty || (flags & MBOX_SYNC_UNDIRTY) == 0) Mar 3 16:18:54 emerald dovecot: [ID 107833 mail.error] imap(tmwillia): file mbox-sync.c: line 1471 (mbox_sync_do): assertion failed: (!sync_ctx->mbox->mbox_sync_dirty || (flags & MBOX_SYNC_UNDIRTY) == 0)
These are now "fixed". I just removed the assert. I guess before these crashes there were always "cached message offset .. is invalid for mbox .." error? At least in your earlier mail with the same assert there was that.
Also I guess you're using mbox_very_dirty_syncs=yes? Then the problem is related to this TODO item, wonder if I should bother fixing that before v1.0..:
- dirty state should be stored to index (with mbox_very_dirty_syncs)