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"
[
"em...@somedomain.com"
],
address :matches "To"
[
"myem...@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 "tes...@domain.pl";
redirect "tes...@domain.pl";
...
redirect "test....@domain.pl";
redirect "test....@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