[Dovecot] imap failed asssert in imap-bodystructure.c
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
I had this same issue with my Inbox a few weeks ago, so I moved all
the e-mail out and moved each piece back in one by one, in order to
determine if a piece of mail was causing the issue. As soon as all my
mail was moved back in, the issue went away and I was able to load my
Inbox as usual. I still have the same issue with my spam mailbox, is
there anything particular I can do to help debug this issue? In the
past I've rm'ed all the mail in my spam mailbox and that fixes it.
One thing that may be related is that I only noticed this issue after
I had setup Spambayes, which does it's work via procmail. The
mailboxes that I've had the issue with, all had headers that contain
a Spambayes header, usually like so:
X-Spam-Score: 26 X-Spam-Score: 0.6 (/) Sender: mailman-bounces@acm.uiuc.edu Errors-To: mailman-bounces@acm.uiuc.edu X-Spam-Score: 0.1 (/) X-Authenticated-Sender: X-Spam-Details: rule=cautious-plus_notspam policy=cautious-plus score=26 mlx=26 adultscore=0 adjust=0 reason=mlx engine=3.1.0-0611300000 definitions=main-0612060023 X-Spam-OrigSender: mailman-bounces@acm.uiuc.edu X-Spam-Bar: *** X-Spambayes-Classification: spam; 1.00 X-Spambayes-Trained: spam
I'm not sure if it's related, but it's a shock in the dark on my
part. Any suggested steps that might help isolate this bug?
Matt Ronge
One thing I forgot to mention: I'm running 1.0rc15
On Dec 21, 2006, at 11:21 PM, 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 6I had this same issue with my Inbox a few weeks ago, so I moved all
the e-mail out and moved each piece back in one by one, in order to
determine if a piece of mail was causing the issue. As soon as all
my mail was moved back in, the issue went away and I was able to
load my Inbox as usual. I still have the same issue with my spam
mailbox, is there anything particular I can do to help debug this
issue? In the past I've rm'ed all the mail in my spam mailbox and
that fixes it.One thing that may be related is that I only noticed this issue
after I had setup Spambayes, which does it's work via procmail. The
mailboxes that I've had the issue with, all had headers that
contain a Spambayes header, usually like so:X-Spam-Score: 26 X-Spam-Score: 0.6 (/) Sender: mailman-bounces@acm.uiuc.edu Errors-To: mailman-bounces@acm.uiuc.edu X-Spam-Score: 0.1 (/) X-Authenticated-Sender: X-Spam-Details: rule=cautious-plus_notspam policy=cautious-plus
score=26 mlx=26 adultscore=0 adjust=0 reason=mlx
engine=3.1.0-0611300000 definitions=main-0612060023 X-Spam-OrigSender: mailman-bounces@acm.uiuc.edu X-Spam-Bar: *** X-Spambayes-Classification: spam; 1.00 X-Spambayes-Trained: spamI'm not sure if it's related, but it's a shock in the dark on my
part. Any suggested steps that might help isolate this bug?Matt Ronge
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.
For the sake for the archives, I'm following up here. Timo pointed
out that the particular assert() is no longer present in 1.0rc15,
which puzzled me since I was sure I was running 1.0rc15. It turns out
that on my Debian system, in addition to 1.0rc15 I had 0.99 installed
which was actually running as the server. Since I've eliminated the
old version, everything has been smooth as silk.
-- Matt Ronge
On Dec 22, 2006, at 3:34 PM, Timo Sirainen wrote:
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 6If 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.
participants (2)
-
Matt Ronge
-
Timo Sirainen