On 22.12.2006, at 7.21, Matt Ronge wrote:
I'm running Dovecot on a Debian system which recently has been
failing on an assert(). I have a spam mailbox that if I try and
open (from any client), the imap process dies and this is written
to the error logs:Dec 21 18:57:11 theronge imap(mronge): file imap-bodystructure.c:
line 278 (part_parse_headers): assertion failed: (part-physical_pos >= input->v_offset - start_offset) Dec 21 18:57:11 theronge dovecot: child 28911 (imap) killed with
signal 6
If this happens repeatedly and it's just a spam mailbox, could you
put the whole mailbox and the index files into a tarball and send it
to me (or post a link or whatever, I think I can accept max. 10MB
mails)?
The problem is that Dovecot has stored a cached MIME structure into
dovecot.index.cache file, but now when it's trying to use it again,
mail's contents have either changed or something else weird has
happened. I think I had added several sanity checks to this already,
so this assert shouldn't really have happened. But the same problem
has existed for years, so this is getting a bit annoying problem.
Could it be possible that the mail's body had changed?
Anyway if you delete dovecot.index.cache file it should work again.