Hi,
After upgrading from dovecot 1.1 to dovecot 1.2.2 and the new sieve implementation (0.1.9), I'm having some strange problems. I'm including some general purpose scripts into my user script from sieve_global_dir.
After some tests it seems that ths scripts get executed at random: sometimes the mail gets stored in the correct dir, and sometimes it goes to inbox. This also happens while using the same compiled .svbin file.
Another indication that something is wrong with the compiled .svbin is output of sieved (see below). Running sieved on the compiled test{1,2,3}.svbin files gives regular output.
Any ideas what could be causing this?
user script:
require ["include"];
include :global "test1.sieve";
include :global "test2.sieve";
include :global "test3.sieve";
keep;
/etc/dovecot/sieve/test1.sieve:
require ["fileinto"];
if header :contains "Subject" "test1" { fileinto "sieve_test"; stop; }
/etc/dovecot/sieve/test2.sieve:
require ["fileinto"];
if header :contains "Subject" "test2" { fileinto "sieve_test"; stop; }
/etc/dovecot/sieve/test3.sieve:
require ["fileinto"];
if header :contains "Subject" "test3" { fileinto "sieve_test"; stop; }
Log output with mail_debug=yes:
# test mail for test1.sieve Jul 28 23:20:27 meredith-mail dovecot: deliver(tomhendr): Loading modules from directory: /usr/lib/dovecot/lda Jul 28 23:20:27 meredith-mail dovecot: deliver(tomhendr): Module loaded: /usr/lib/dovecot/lda/lib90_sieve_plugin.so Jul 28 23:20:27 meredith-mail dovecot: deliver(tomhendr): maildir: data=/var/spool/mail/tomhendr/Maildir Jul 28 23:20:27 meredith-mail dovecot: deliver(tomhendr): maildir++: root=/var/spool/mail/tomhendr/Maildir, index=, control=, inbox=/var/spool/mail/tomhendr/Maildir Jul 28 23:20:27 meredith-mail dovecot: deliver(tomhendr): sieve: using sieve path for user's script: /home/tomhendr/.default.sieve Jul 28 23:20:27 meredith-mail dovecot: deliver(tomhendr): sieve: opening script /home/tomhendr/.default.sieve Jul 28 23:20:27 meredith-mail dovecot: deliver(tomhendr): sieve: executing compiled script /home/tomhendr/.default.sieve Jul 28 23:20:27 meredith-mail dovecot: deliver(tomhendr): sieve: msgid=20090728212027.02EEBD002@smtp.whyscream.net: stored mail into mailbox 'sieve_test'
# test mail for test2.sieve Jul 28 23:20:35 meredith-mail dovecot: deliver(tomhendr): Loading modules from directory: /usr/lib/dovecot/lda Jul 28 23:20:35 meredith-mail dovecot: deliver(tomhendr): Module loaded: /usr/lib/dovecot/lda/lib90_sieve_plugin.so Jul 28 23:20:35 meredith-mail dovecot: deliver(tomhendr): maildir: data=/var/spool/mail/tomhendr/Maildir Jul 28 23:20:35 meredith-mail dovecot: deliver(tomhendr): maildir++: root=/var/spool/mail/tomhendr/Maildir, index=, control=, inbox=/var/spool/mail/tomhendr/Maildir Jul 28 23:20:35 meredith-mail dovecot: deliver(tomhendr): sieve: using sieve path for user's script: /home/tomhendr/.default.sieve Jul 28 23:20:35 meredith-mail dovecot: deliver(tomhendr): sieve: opening script /home/tomhendr/.default.sieve Jul 28 23:20:35 meredith-mail dovecot: deliver(tomhendr): sieve: executing compiled script /home/tomhendr/.default.sieve Jul 28 23:20:35 meredith-mail dovecot: deliver(tomhendr): Namespace : Using permissions from /var/spool/mail/tomhendr/Maildir: mode=0700 gid=-1 Jul 28 23:20:35 meredith-mail dovecot: deliver(tomhendr): sieve: msgid=20090728212035.5F2F8D003@smtp.whyscream.net: stored mail into mailbox 'INBOX'
# test with 2 mails for test2 in a row Jul 28 23:40:50 meredith-mail dovecot: deliver(tomhendr): Loading modules from directory: /usr/lib/dovecot/lda Jul 28 23:40:50 meredith-mail dovecot: deliver(tomhendr): Module loaded: /usr/lib/dovecot/lda/lib90_sieve_plugin.so Jul 28 23:40:50 meredith-mail dovecot: deliver(tomhendr): maildir: data=/var/spool/mail/tomhendr/Maildir Jul 28 23:40:50 meredith-mail dovecot: deliver(tomhendr): maildir++: root=/var/spool/mail/tomhendr/Maildir, index=, control=, inbox=/var/spool/mail/tomhendr/Maildir Jul 28 23:40:50 meredith-mail dovecot: deliver(tomhendr): sieve: using sieve path for user's script: /home/tomhendr/.default.sieve Jul 28 23:40:50 meredith-mail dovecot: deliver(tomhendr): sieve: opening script /home/tomhendr/.default.sieve Jul 28 23:40:50 meredith-mail dovecot: deliver(tomhendr): sieve: executing compiled script /home/tomhendr/.default.sieve Jul 28 23:40:51 meredith-mail dovecot: deliver(tomhendr): sieve: msgid=20090728214050.C2983D002@smtp.whyscream.net: stored mail into mailbox 'sieve_test' Jul 28 23:40:57 meredith-mail dovecot: deliver(tomhendr): Loading modules from directory: /usr/lib/dovecot/lda Jul 28 23:40:57 meredith-mail dovecot: deliver(tomhendr): Module loaded: /usr/lib/dovecot/lda/lib90_sieve_plugin.so Jul 28 23:40:57 meredith-mail dovecot: deliver(tomhendr): maildir: data=/var/spool/mail/tomhendr/Maildir Jul 28 23:40:57 meredith-mail dovecot: deliver(tomhendr): maildir++: root=/var/spool/mail/tomhendr/Maildir, index=, control=, inbox=/var/spool/mail/tomhendr/Maildir Jul 28 23:40:57 meredith-mail dovecot: deliver(tomhendr): sieve: using sieve path for user's script: /home/tomhendr/.default.sieve Jul 28 23:40:57 meredith-mail dovecot: deliver(tomhendr): sieve: opening script /home/tomhendr/.default.sieve Jul 28 23:40:57 meredith-mail dovecot: deliver(tomhendr): sieve: executing compiled script /home/tomhendr/.default.sieve Jul 28 23:40:57 meredith-mail dovecot: deliver(tomhendr): Namespace : Using permissions from /var/spool/mail/tomhendr/Maildir: mode=0700 gid=-1 Jul 28 23:40:57 meredith-mail dovecot: deliver(tomhendr): sieve: msgid=20090728214057.43048D002@smtp.whyscream.net: stored mail into mailbox 'INBOX'
Output of 'sieved /home/tomhendr/.default.svbin
Required extensions:
0: include (16) 1: fileinto (5) Panic: file ext-include-variables.c: line 133 (ext_include_variables_dump): assertion failed: (global_vars != NULL) Error: Raw backtrace: sieved [0xa7fbfe10] -> sieved(default_fatal_handler+0x57) [0xa7fbfe97] -> sieved [0xa7fc006e] -> sieved [0xa7f7384c] -> sieved(ext_include_binary_dump+0x48) [0xa7f531c8] -> sieved(sieve_binary_dumper_run+0x119) [0xa7f671a9] -> sieved(sieve_dump+0x42) [0xa7f4bf82] -> sieved(sieve_tool_dump_binary_to+0x6f) [0xa7f7b77f] -> sieved(main+0x174) [0xa7f42564] -> /lib/libc.so.6(__libc_start_main+0xe2) [0xa7dce712] -> sieved [0xa7f422b1] Aborted
-- Regards, Tom