[SA-exim] local_scan is crashing on big messages
Brian Kendig
brian at enchanter.net
Fri May 14 18:06:57 PDT 2004
Okay, I've upgraded to Exim 4.34, still with SA-Exim 4.0 compiled in,
still running against SpamAssassin 2.63.
When I send a large message to myself (I tried a 3.4MB file
attachment), local_scan still crashes. I ran exim with the -d option,
sent the large message, and captured the debug output. It's too long
to copy here, so I put the whole thing on my web server at
'http://www.enchanter.net/eximdebug.txt', but here's the relevant
excerpt:
28653 calling local_scan(); timeout=300
28653 LOG: MAIN REJECT
28653 local_scan() function crashed with signal 11 - message
temporarily rejected (size 4892599)
28653 SMTP>> 421 enchanter.net local verification problem - closing
connection.
28653 search_tidyup called
28653 >>>>>>>>>>>>>>>> Exim pid=28653 terminating with rc=1
>>>>>>>>>>>>>>>>
28651 child 28653 ended: status=0x100
28651 0 SMTP accept processes now running
28651 Listening...
Mac OS X doesn't have strace, but it does have ktrace, which is similar:
# ktrace -p `cat /var/spool/exim/exim-daemon.pid` -d
(at this point I sent the test message, then turned tracing off and
looked at the log)
# ktrace -C
# kdump -f ktrace.out
28691 exim-4.34-1 RET select 1
28691 exim-4.34-1 CALL accept(0,0xbffff3a0,0xbffff478)
28691 exim-4.34-1 RET accept 2
28691 exim-4.34-1 CALL getrlimit(0x8,0xbffff1f0)
28691 exim-4.34-1 RET getrlimit 0
28691 exim-4.34-1 CALL fcntl(0x2,0x3,0)
28691 exim-4.34-1 RET fcntl 2
28691 exim-4.34-1 CALL dup(0x2)
28691 exim-4.34-1 RET dup 4
28691 exim-4.34-1 CALL fcntl(0x4,0x3,0)
28691 exim-4.34-1 RET fcntl 2
28691 exim-4.34-1 CALL getsockname(0x2,0xbffff2c0,0xbffff2f0)
28691 exim-4.34-1 RET getsockname 0
28691 exim-4.34-1 CALL fork
28691 exim-4.34-1 RET fork 28701/0x701d
28691 exim-4.34-1 CALL close(0x2)
28691 exim-4.34-1 RET close 0
28691 exim-4.34-1 CALL close(0x4)
28691 exim-4.34-1 RET close 0
28691 exim-4.34-1 CALL wait4(0xffffffff,0xbffff47c,0x1,0)
28691 exim-4.34-1 RET wait4 0
28691 exim-4.34-1 CALL select(0x1,0xbffff3b0,0,0,0)
28691 exim-4.34-1 RET select -1 errno 4 Interrupted system call
28691 exim-4.34-1 PSIG SIGCHLD caught handler=0x5dfc mask=0x0 code=0x0
28691 exim-4.34-1 CALL sigaction(0x14,0xbfffec60,0xbfffecd0)
28691 exim-4.34-1 RET sigaction 0
28691 exim-4.34-1 CALL #184(0xbfffee58,0x1)
28691 exim-4.34-1 RET #184 JUSTRETURN
28691 exim-4.34-1 CALL wait4(0xffffffff,0xbffff47c,0x1,0)
28691 exim-4.34-1 RET wait4 28701/0x701d
28691 exim-4.34-1 CALL wait4(0xffffffff,0xbffff47c,0x1,0)
28691 exim-4.34-1 RET wait4 -1 errno 10 No child processes
28691 exim-4.34-1 CALL sigaction(0x14,0xbffff2d0,0xbffff340)
28691 exim-4.34-1 RET sigaction 0
28691 exim-4.34-1 CALL select(0x1,0xbffff3b0,0,0,0)
The mainlog only logs that one "local_scan() function crashed" line,
but I found out that rejectlog logs more, though it's not particularly
useful:
2004-05-14 17:01:29 HXQ2EE-000M59-7U local_scan() function crashed with
signal 11 - message temporarily rejected (size 4892721)
Envelope-from: <brian at enchanter.net>
Envelope-to: <brian at enchanter.net>
P Received: from calypso.enchanter.net ([10.0.1.14])
by enchanter.net with esmtp (Exim 4.34)
id HXQ2EE-000M59-7U
for brian at enchanter.net; Fri, 14 May 2004 17:01:28 -0400
Mime-Version: 1.0 (Apple Message framework v613)
T To: Brian Kendig <brian at enchanter.net>
I Message-Id: <DD0AD326-A5E9-11D8-89BD-000A9595347C at enchanter.net>
Content-Type: multipart/mixed; boundary=Apple-Mail-4-1034587599
F From: Brian Kendig <brian at enchanter.net>
Subject: test
Date: Fri, 14 May 2004 17:01:26 -0400
X-Mailer: Apple Mail (2.613)
X-SA-Exim-Connect-IP: 10.0.1.14
X-SA-Exim-Rcpt-To: brian at enchanter.net
X-SA-Exim-Mail-From: brian at enchanter.net
If you have any other ideas for things I could try, please let me know!
- B
More information about the SA-Exim
mailing list