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.02eebd...@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.5f2f8d...@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.c2983d...@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.43048d...@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

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to