Timo Sirainen pisze:
On Tue, 2009-09-08 at 09:05 +0200, Maciej Polewczyński wrote:
Hello
I have problem with deliver dying with signal 11. I'm using postfix + dovecot devliver. If mailbox have many (100+) redirects in sieve or many other sieve rules deliver died. I have tested this in debian etch + dovecot 1.1.18 (compiled from sources) and debian lenny + dovecot 1.1.13 from backports.
Can you send me one such script that crashes it?
In .dovecot.sieve I have:
require ["regex", "fileinto", "include"];
include :personal ".forward.sieve";
if anyof ( address :matches "From" [ "email@somedomain.com" ], address :matches "To" [ "myemail@mydomain.com" ], header :contains "Subject" [ "some subject" ] ) { # many commented rules keep; stop; } else { many commented rules keep; stop; }
in .forward.sieve there are above hundred redirects
redirect "test.1@domain.pl"; redirect "test.2@domain.pl"; ... redirect "test.120@domain.pl"; redirect "test.121@domain.pl";
In debian etch deliver stoping redirectict about 80-90 address and dying with signal 11. In debian lenny deliver redirect to all addresses but also dying.
I try to debug by running deliver via gdbhelper:
..
This GDB was configured as "i486-linux-gnu"..."/tmp/deliver.sh": not in executable format: File format not recognized
gdb is trying to open /tmp/deliver.sh instead of the actual deliver binary, so it wasn't set up right.
No symbol table info available. #1 0xbfb3aed4 in ?? ()
In general when you only see "??" lines in gdb backtrace it's not useful.
I run deliver through gdbhelper in this way
dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/gdbhelper /tmp/deliver.sh -d ${recipient} -f ${sender}
and in /tmp/deliver.sh
#!/bin/sh sleep 1 exec /usr/lib/dovecot/deliver $*
-- Pozdrowienia Maciej Polewczynski Registered Linux user #117725 OGICOM Sp. z o.o., 61-131 Poznan, ul. Baraniaka 88 REGON 634407251, NIP 781-17-20-476, KRS 0000140692 kapital zakladowy: 410 000 PLN