MailScanner continously respawns without processing

Julian Field mailscanner at
Sat Feb 15 18:15:05 GMT 2003

At 18:09 15/02/2003, you wrote:
>Hi all--
>Thanks for the replies. I forgot to mention in my original message that
>I'm using Perl 5.6.1.
>Here's where I am so far.
>Nerijus Baliunas wrote:
> > I had the same problem. Change code status to beta.
>I had tried even alpha previously, but this didn't help.
>Julian Field wrote:
> > *If* it is continuously respawning then check that the mail UID+GID
> > write to the MailScanner/incoming and MailScanner/quarantine
> > as well as the incoming and outgoing queue directories and the PID
> > That is normally the cause of this.
> >
> > If it is just starting up, expect it to produce a parent + 5 child
> > processes by default, you just need to try putting some mail in the
> > incoming queue. If you are using Exim 4, then the incoming and
> > queue dirs set in MailScanner need to be the "input" directories of
> > Exim queue directory structure.
>Before posting I checked all the dirs that MailScanner needs and they
>were correct. I'd already caught myself making both of the above
>mistakes ;)
>Julian Field wrote:
> > >I have narrowed the problem down to MailScanner dying silently during
> > >MailScanner::SA::initialise().
> > Did you happen to work out exactly where in SA::initialise it failed,
> > and/or why?
>I now have this code in MailScanner::SA::initialise():
>MailScanner::Log::InfoLog("SA: SAspamtest->compile_now()...");
>MailScanner::Log::InfoLog("SA: SAspamtest->read_scoreonly_config()...");
>MailScanner::Log::InfoLog("SA: Done with initialise()");
>I never see the "SA: SAspamtest->read_scoreonly_config..." line in
>maillog, so it appears the compile_now() call is failing.

Okay, yet another thing to try. As you are using Exim, MailScanner is being
run as some other user (possibly "mail"?). Does "mail" have a home
directory that it can write to? The compile_now() might well be trying to
read+write some config files from there.

To get the error output, take a look in /usr/sbin/MailScanner. You should
find 3 adjacent calls to close() and 3 adjacent calls to open(). Comment
them all out and try it. This sounds like an awkward SA "feature"....

>I wrote a tiny test program that creates a new SA object (with
>MailScanner's SA prefs file) and calls compile_now() on it. This worked

But was that running as root?

>  I have not edited the etc/spam.assassin.prefs.conf file from the
>distributed one.
>Any suggestions on why compile_now() from within the SAspamtest object
>is failing? I can't seem to trap any errors returned from
>it--MailScanner just stops at that point. If someone can propose some
>better debugging steps I'd be happy to try them.

Julian Field
MailScanner thanks transtec Computers for their support

More information about the MailScanner mailing list