Hi,
there is a line in TODO: "- sieve-cmu.c crash: i_assert(buf->used - 1 ==
part->body_size.physical_size); ". Yes, we've really seen this
crash.
Therefore we upgraded to dovecot-1.2.3 with dovecot-1.2-sieve-0.1.11 in
order to use sieve plugin (i.e. not cmu-sieve). We use Solaris 10 on Sun
servers, we don't use NFS.
However, unfortunately, dovecot with sieve crashes too. Here is dovecot
log excerpt:
2009-09-01T02:40:57+02:00 prac/prac dovecot: [ID 583609 mail.crit]
deliver(id at domain): Panic: file ext-body-common.c: line 149: assertion
failed: (buf->used - 1 == part->body_size.physical_size)
2009-09-01T02:40:57+02:00 prac/prac dovecot: [ID 583609 mail.crit]
deliver(id at domain): Panic: file ext-body-common.c: line 149: assertion
failed: (buf->used - 1 == part->body_size.physical_size)
2009-09-01T02:40:57+02:00 prac/prac dovecot: [ID 583609 mail.error]
deliver(id at domain): Raw backtrace: 0xbd27c -> 0xfead33b0 -> 0xfead358c
-> 0xfead396c -> 0xfead4a78 -> 0xfeaa19dc -> 0xfeaa1abc ->
0xfeaa1c38 ->
0xfeabf22c -> 0xfeabf520 -> 0xfea90b20 -> 0xfea91048 -> 0xfea91404
->
0x26e58 -> 0x23778
Now, some background. We use a sieve script with >>require
"body"<<.
This script compiles correctly and more, it works correctly while named
as >>id at domain.sieve<< or >>id at domain.svbin".
Nevertheless while the
very same script is defined in plugin section of dovecot conf as "sieve
= script" or "sieve_before = script" or "sieve_after =
script" then
dovecot crashes. I consider it as an important hint for problem
resolution. Moreover, not every mail is affected, but we didn't
investigate which mails are correctly saved to inbox and which crash.
The effect is, we're not able to implement global sieve policies which
is bad because we really need them :-). We'd than be happy to test
fixes, if any.
Best regards,
MU