[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