[Dovecot] sieve /editheader / addheader :last crash

Peter Rindfuss peter.rindfuss at wzb.eu
Fri Feb 8 11:24:05 EET 2013


Hi Everybody,

I'm using dovecot 2.1.14 from http://xi.rename-it.nl/debian/ with debian 
squeeze stable.

In general, sieve works fine for me, but "addheader :last ..." from the 
editheader extension causes a crash when it processes a message.

I was able to narrow this down a bit:
It only happens if "addheader :last" is the first editheader command 
executed in a script. If it is preceded by any "deleteheader" or 
"addheader" without ":last", everything is fine.

This is what I get from sieve-test when it crashes:

sieve-test(root): Panic: file istream.c: line 133 (i_stream_read): 
assertion failed: (_stream->skip != _stream->pos)

sieve-test(root): Error: Raw backtrace: 
/usr/lib/dovecot/libdovecot.so.0(+0x4881a) [0x7f5e0b37681a] -> 
/usr/lib/dovecot/libdovecot.so.0(default_fatal_handler+0x32) 
[0x7f5e0b376902] -> /usr/lib/dovecot/libdovecot.so.0(i_error+0) 
[0x7f5e0b349f7f] -> 
/usr/lib/dovecot/libdovecot.so.0(i_stream_read+0x17c) [0x7f5e0b37da9c] 
-> /usr/lib/dovecot/libdovecot.so.0(+0x51453) [0x7f5e0b37f453] -> 
/usr/lib/dovecot/libdovecot.so.0(+0x5150e) [0x7f5e0b37f50e] -> 
/usr/lib/dovecot/libdovecot.so.0(i_stream_read+0x69) [0x7f5e0b37d989] -> 
/usr/lib/dovecot/libdovecot.so.0(+0x53fe1) [0x7f5e0b381fe1] -> 
/usr/lib/dovecot/libdovecot.so.0(i_stream_read+0x69) [0x7f5e0b37d989] -> 
/usr/lib/dovecot/libdovecot.so.0(i_stream_read_data+0x52) 
[0x7f5e0b37dc72] -> 
/usr/lib/dovecot/libdovecot.so.0(io_stream_copy+0x41) [0x7f5e0b38ae21] 
-> /usr/lib/dovecot/libdovecot.so.0(+0x5e1de) [0x7f5e0b38c1de] -> 
/usr/lib/dovecot/libdovecot.so.0(o_stream_send_istream+0x33) 
[0x7f5e0b38acb3] -> 
/usr/lib/dovecot/libdovecot-storage.so.0(maildir_save_continue+0x38) 
[0x7f5e0be0caf8] -> 
/usr/lib/dovecot/libdovecot-storage.so.0(mail_storage_copy+0xb8) 
[0x7f5e0be376d8] -> 
/usr/lib/dovecot/libdovecot-storage.so.0(maildir_copy+0x56) 
[0x7f5e0be086c6] -> 
/usr/lib/dovecot/libdovecot-storage.so.0(mailbox_copy+0x4a) 
[0x7f5e0be3ce9a] -> /usr/lib/dovecot/libdovecot-sieve.so.0(+0x3fa66) 
[0x7f5e0c103a66] -> /usr/lib/dovecot/libdovecot-sieve.so.0(+0x366b4) 
[0x7f5e0c0fa6b4] -> 
/usr/lib/dovecot/libdovecot-sieve.so.0(sieve_result_execute+0x3ff) 
[0x7f5e0c0fabef] -> 
/usr/lib/dovecot/libdovecot-sieve.so.0(sieve_execute+0x56) 
[0x7f5e0c10b456] -> sieve-test(main+0x73e) [0x403a5e] -> 
/lib/libc.so.6(__libc_start_main+0xfd) [0x7f5e0abdec8d] -> sieve-test() 
[0x403219]
Aborted

Best regards
Peter




More information about the dovecot mailing list