Can't get spam checking working?

Julian Field jkf at ecs.soton.ac.uk
Sun Jan 6 16:20:31 GMT 2002


At 15:53 06/01/2002, you wrote:
> > At this point is the mailscanner process still running? What's the last few
> > mailscanner lines in your maillog when this happens?
>
>         For me at least, the MailScanner process is gone.
>
>         Last MailScanner messages I see in maillog is "Scanning x messages,
>xxx bytes".  I restart the MailScanner by hand and get the same message
>(generally same x messages and xxx bytes) and if often continues.  Last
>night, I had to restart it 6 times in the same spot (i.e. I looked after
>starting it and it was gone again) but then it worked and was running
>this morning when I got up.  So it seems to be "non-deterministic" in
>some way.  Sendmail processes continue to run even after the mailscanner
>process dumps.

This has got to be bugs in Perl as it is non-deterministic. What error do
you get when it dies? Just a "Segmentation fault" or something more useful?

Unfortunately, quite a lot happens after that maillog entry before anything
more happens that will log to maillog, so it's not a very good indicator of
where in MailScanner it died. I'll look at reimplementing some of the
timeout code, as that's the only code I have ever written that has
repeatedly caused Perl to segmentation fault.

Does it still segmentation fault with all the spam checking switched off?
That would help narrow it down a bit.

Can you also try starting it in debug mode and see if it still dies at the
same place. And does it log anything more before it dies? The best way of
starting it is with the check_mailscanner script. (Don't touch the sendmail
processes while doing this, they will happily carry on working)

> > You may well need to upgrade your version of Perl, a few people are seeing
> > Perl core-dump due to internal bugs in Perl itself.
>
>         Because I installed SpamAssassin and used CPAN, I ended up with
>Perl upgraded to 5.6.1 anyways.  I've currently got SpamAssassin disabled
>in the MailScanner script because of the errors (tagging all messages)
>being reported and discussed in the other thread on this list.

Are you sure that you are using the upgraded Perl 5.6.1? You might have
ended up with 2 copies of Perl installed on your system. Do a
"/usr/bin/perl -v" just to check...

I've seen SpamAssassin tag *a few* messages that it shouldn't have, but the
SA is_spam() routine definitely always says they are spam, so my code is
only doing exactly what SpamAssassin says it should be.
--
Julian Field                Teaching Systems Manager
jkf at ecs.soton.ac.uk         Dept. of Electronics & Computer Science
Tel. 023 8059 2817          University of Southampton
                             Southampton SO17 1BJ



More information about the MailScanner mailing list