Bus Faults Error 10 with Perl

Glenn Steen glenn.steen at GMAIL.COM
Tue Oct 18 13:13:03 IST 2005


    [ The following text is in the "ISO-8859-1" character set. ]
    [ Your display is set for the "US-ASCII" character set.  ]
    [ Some characters may be displayed incorrectly. ]

On 18/10/05, Jim Flowers <jflowers at ezo.net> wrote:
> I have a 4.42.9 MailScanner setup on a FreeBSD 5.4-RELEASE system that has
> just quit working after several months without a problem.  It just stops
> processing every couple of hours with no errors indicated in the logs.
> Restarting MailScanner starts it working again.
>
> It has also started throwing bus-fault errors when it is running:
>
> Oct 17 10:49:58 mxgf1 kernel: pid 85142 (perl5.8.6), uid 0: exited on signal 10
>
> pid 85142 is a child of a current Mailscanner process 84516:
>
> 84516  ??  S      0:05.06 /usr/bin/perl -I/usr/local/lib/MailScanner
> /usr/local/libexec/MailScanner/MailScanner
> /usr/local/etc/MailScanner/MailScanner.conf (perl5.8.6)
>
> and in terminating prematurely, it leaves a work file:
>
> -rw-------  1 root    wheel     91387 Oct 17 10:49
> /tmp/spamassassin.85142.xbLbt4.tmp
>
> Although signal 10 specifies a bus fault with a core dump, there is no sign
> of a .core file anywhere.  Rebuilding and reinstalling perl did not resolve
> the problem.
>
> Although modified for MailWatch, that functionality is working correctly and
> returning to the unmodified version still has the same problem.
>
> Is there any reason to expect that this problem is hardware related or is it
> more likely to be something that changed in the execution of the child
> spawned by the MailScanner Perl script?
>
> Where should I look in troubleshooting this further?
>
> Thank you.
>

Just a bit of general advice:
As you know, bus errors in just means that an attempt was
(incorrectly) made to write to read-only memory (while a segment
violation means you're trying to write to someone elses memory). So to
answer your last question first...
Yes. It might be bad hardware (memory likely, or possibly a swaparea
going bad), but then you might be seeing this for other processes...
Use a memory tester (like memtest86, if you're on that type of HW),
it's cheaper than replacing all the memory (the Big Blue way of doing
service:-).
If the tester OKs the memory, you can move on to the more likely
culprit(s)... Either the program (perl? An AV-child?) or a lib it
depends on have been updated to a ... bum version... Look hard at all
the components and all the updates you did at the time it started
happening.

As to why you don't get cores... well, do you allow corefiles for the
user in question?

--
-- Glenn
email: glenn < dot > steen < at > gmail < dot > com
work: glenn < dot > steen < at > ap1 < dot > se

------------------------ MailScanner list ------------------------
To unsubscribe, email jiscmail at jiscmail.ac.uk with the words:
'leave mailscanner' in the body of the email.
Before posting, read the Wiki (http://wiki.mailscanner.info/) and
the archives (http://www.jiscmail.ac.uk/lists/mailscanner.html).

Support MailScanner development - buy the book off the website!



More information about the MailScanner mailing list