[Dovecot] Sieve segfault on sieve-before scripts
Stephan Bosch
stephan at rename-it.nl
Tue Sep 1 19:53:39 EEST 2009
Max Ivanov wrote:
> I use dovecot 1.2.4 release with sieve 0.1.12
>
> If I setup sieve-before script and latest script contains "keep" at
> the very end and no personal scripts found then segfault take place.
>
> here is part of exim log:
> 2009-09-01 18:43:06 1MiUZA-0005V9-IB ** ivanov_maxim at domain.my
> <admin at domain.my> R=localuser T=local_delivery: Child process of
> local_delivery transport (running command
> "/usr/libexec/dovecot/deliver -d $local_part") was terminated by
> signal 11 (Segmentation fault)
>
> Once I remove "keep" from end of latest sieve-before script,
> everything goes fine.
>
> Here is latest global sieve script:
>
> # cat /etc/dovecot1.2/sieve-before.d/020-SENT-STORE.sieve
> require ["imap4flags"];
>
> if header :contains "X-Set-Seen" ["Yes", "YES", "1"] {
> setflag "\\Seen";
> }
> #keep;
I can't reproduce this problem with just this script as the last
sieve_before script in the sequence and no personal script for the user.
All works well, also when I force the conditional to true, meaning that
the flag is always set.
Could you produce a backtrace using gdb? E.g. execute gdb --args deliver
-p <file containing example message> and then type 'r' and subsequently
'bt' when it has crashed. You need to have a deliver binary with debug
symbols enabled.
Also, it would be useful to know what scripts are executed before that
final script in the sequence and whether these contribute to the failure
(i.e. does it still crash when these are disabled). Also, an example
message causing the failure is useful, unless of course all messages fail.
Regards,
Stephan
More information about the dovecot
mailing list