Hi together!
We use dovecot under Debian wheezy amd64, using the repository ... deb http://xi.rename-it.nl/debian/ stable-auto/dovecot-2.2 main
Yesterday's routine upgrade to version 2:2.2.13-1~auto+130 (or some other upgrade that came along from Debian?) introduced a problem with mail delivery, which I was able to track down to a crash of dovecot-lda.
Whenever I do something like ... /usr/lib/dovecot/dovecot-lda -d christoph.lechleitner@iteg.at <test.msg ... (with test.msg containing a raw e-mail message), dovecot-lda crashes.
The gdb backtrace is:
#0 buffer_free (_buf=_buf@entry=0x242eb20) at buffer.c:145 #1 0x00007f30d47ea4fd in array_free_i (array=0x242eb20) at /build/dovecot-8Ko2hw/dovecot-2.2.13/src/lib/array.h:108 #2 sieve_file_script_sequence_destroy (seq=0x242eb10) at sieve-file-script-sequence.c:242 #3 0x00007f30d47c963e in sieve_script_sequence_free (_seq=_seq@entry=0x7fffe2dbe900) at sieve-script.c:686 #4 0x00007f30d4a3d4b3 in lda_sieve_multiscript_get_scripts (svinst=svinst@entry=0x242abe0, label=label@entry=0x7f30d4a3e7c0 "sieve_before", location=location@entry=0x2416500 "/etc/dovecot/sieve/discard-viruses.sieve", scripts=scripts@entry=0x7fffe2dbe9b0, error_r=error_r@entry=0x7fffe2dbe998) at lda-sieve-plugin.c:271 #5 0x00007f30d4a3d7e5 in lda_sieve_find_scripts (srctx=0x7fffe2dbea40) at lda-sieve-plugin.c:740 #6 lda_sieve_deliver_mail (mdctx=<optimized out>, storage_r=0x7fffe2dbec00) at lda-sieve-plugin.c:973 #7 0x00007f30d5e05464 in mail_deliver (ctx=ctx@entry=0x7fffe2dbec70, storage_r=storage_r@entry=0x7fffe2dbec00) at mail-deliver.c:400 #8 0x0000000000402a92 in main (argc=3, argv=0x2402390) at main.c:437
The problem vanishes once I remove the sieve_before script, in our case /etc/dovecot/sieve/discard-viruses.sieve
The sieve script does not contain anything fancy, and it works perfectly when used as sieve_default.
It seems the mere presence of a sieve_before script triggers the problem.
Some environment info:
As of dovecot -n, I guess only the sieve related parts are relevant, if at all: plugin { sieve = /var/vmail/%d/%n/sieve sieve_before = /etc/dovecot/sieve/discard-viruses.sieve sieve_default = /etc/dovecot/sieve/default.sieve sieve_dir = /var/vmail/%d/%n/sieve-scripts }
I also tried version 2:2.2.13-1~auto+138 from the dovecot-2.2.patched repository that I stumbled over while browsing the repository server. No difference regarding our problem.
Our filesystem is ext4 disguised as simfs by the OpenVZ virtualization kernel. I'm pretty sure the filesystem does not matter with our problem.
I'd be happy to re-test with testing releases, but I'd like to avoid setting up a full-blown test environment where unstable and bleeding edge versions would be ok.
Thanks in advance for any help,
Regards,
Christoph
--
Christoph Lechleitner