[Dovecot] dovecot-lda segfaults with some sieve scripts

interfaSys sàrl interfasys at gmail.com
Wed Sep 29 18:33:33 EEST 2010


Hello again,

I've added the -d and -f flags to the command line and this time I got a
trace.

(gdb) r
Starting program: /usr/libexec/dovecot/dovecot-lda -p
example-message.eml -f user at domain.com -d user at domain.com
(no debugging symbols found)...(no debugging symbols found)...(no
debugging symbols found)...(no debugging symbols found)...(no debugging
symbols foun.
Program received signal SIGSEGV, Segmentation fault.
0x0000000800e70140 in seff_flags_merge () from
/usr/lib/dovecot/libdovecot-sieve.so.0
(gdb) bt full
#0  0x0000000800e70140 in seff_flags_merge () from
/usr/lib/dovecot/libdovecot-sieve.so.0
No symbol table info available.
#1  0x0000000800e58d61 in sieve_result_side_effects_merge.clone.0 ()
from /usr/lib/dovecot/libdovecot-sieve.so.0
No symbol table info available.
#2  0x0000000800abf0b0 in ?? ()
No symbol table info available.
#3  0x0000000800abc040 in ?? ()
No symbol table info available.
#4  0x0000000800abf0f8 in ?? ()
No symbol table info available.
#5  0x0000000800ea08e0 in sieve_side_effect_operand_class () from
/usr/lib/dovecot/libdovecot-sieve.so.0
No symbol table info available.
#6  0x0000000800abc388 in ?? ()
No symbol table info available.
#7  0x0000000800abc040 in ?? ()
No symbol table info available.
#8  0x0000000800abc388 in ?? ()
No symbol table info available.
#9  0x00007fffffffe180 in ?? ()
No symbol table info available.
#10 0x0000000800abf078 in ?? ()
No symbol table info available.
#11 0x0000000800e58f71 in _sieve_result_add_action () from
/usr/lib/dovecot/libdovecot-sieve.so.0
No symbol table info available.
#12 0x0000000800e59415 in sieve_result_add_keep () from
/usr/lib/dovecot/libdovecot-sieve.so.0
No symbol table info available.
#13 0x0000000800e670f3 in cmd_keep_operation_execute () from
/usr/lib/dovecot/libdovecot-sieve.so.0
No symbol table info available.
#14 0x0000000800000005 in ?? ()
No symbol table info available.
#15 0x0000000000000000 in ?? ()
No symbol table info available.
#16 0x0000000800000001 in ?? ()
No symbol table info available.
#17 0x0000000800abf0b0 in ?? ()
No symbol table info available.
#18 0x0000000800abf040 in ?? ()
No symbol table info available.
#19 0x0000000800e5542b in sieve_interpreter_continue () from
/usr/lib/dovecot/libdovecot-sieve.so.0
No symbol table info available.
#20 0x0000000800e555bb in sieve_interpreter_run () from
/usr/lib/dovecot/libdovecot-sieve.so.0
No symbol table info available.
#21 0x0000000800e6a8f5 in sieve_multiscript_run () from
/usr/lib/dovecot/libdovecot-sieve.so.0
No symbol table info available.
#22 0x0000000000000000 in ?? ()
No symbol table info available.
#23 0x0000000800abf040 in ?? ()
No symbol table info available.
#24 0x0000000000000001 in ?? ()
No symbol table info available.
#25 0x0000000000000001 in ?? ()
No symbol table info available.
#26 0x0000000000000001 in ?? ()
No symbol table info available.
#27 0x0000000800a06248 in ?? ()
No symbol table info available.
#28 0x0000000000000008 in ?? ()
No symbol table info available.
#29 0x0000000800a23e40 in ?? ()
No symbol table info available.
#30 0x0000000000000001 in ?? ()
No symbol table info available.
#31 0x0000000800515bfb in lda_sieve_deliver_mail () from
/usr/lib/dovecot/lib90_sieve_plugin.so


Cheers,

Olivier

On 29/09/2010 15:01, Stephan Bosch wrote:
>  Op 29-9-2010 14:42, interfaSys sàrl schreef:
>>   Hello,
>>
>> One account couldn't get emails all the sudden.
>> dovecot-lda was crashing with "signal 11 (segmentation fault)".
>> There was absolutely nothing in the dovecot logs, even with
>> mail_debug=yes.
>>
>> I found out that it was because of the following lines in a sieve script
>> that were generated by a script generator (Ingo).
>>
>> if true {
>>      keep;
>>      stop;
>> }
>>
>> I'm using the latest revision of pigeonhole with Dovecot 2.0.4.
> 
> Hmm. I cannot reproduce this.
> 
> You should:
> 
> 1) send your dovecot -n output.
> 
> 2) If you can easily reproduce it: produce a backtrace of the problem
> using gdb:
> 
> You can for instance run dovecot-lda manually as follows: gdb --args
> /usr/lib/dovecot-lda -p example-message.eml
> 
> And then:
> 
> - issue 'r' command
> - (hopefully) see it crash with sigsegfault
> - issue 'bt full' command and report the output back here
> - also include a copy of the full Sieve script that you are using and
> the example message.
> 
> You can also use core dumps if the problem is more transient:
> http://www.dovecot.org/bugreport.html
> 
> Regards,
> 
> Stephan.
> 
> 
> 
> 
> 
> 


More information about the dovecot mailing list