Re: local_scan is crashing on big messages

Brian Kendig <[email protected]>
Newsgroups gmane.mail.exim.spamassassin
Message-ID <[email protected]>
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: <[email protected]>
Envelope-to: <[email protected]>
P Received: from calypso.enchanter.net ([10.0.1.14])
         by enchanter.net with esmtp (Exim 4.34)
         id HXQ2EE-000M59-7U
         for [email protected]; Fri, 14 May 2004 17:01:28 -0400
   Mime-Version: 1.0 (Apple Message framework v613)
T To: Brian Kendig <[email protected]>
I Message-Id: <[email protected]>
   Content-Type: multipart/mixed; boundary=Apple-Mail-4-1034587599
F From: Brian Kendig <[email protected]>
   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: [email protected]
   X-SA-Exim-Mail-From: [email protected]

If you have any other ideas for things I could try, please let me know!

   - B
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.