MailScanner continously respawns without processing

Julian Field mailscanner at ecs.soton.ac.uk
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
>can
> > write to the MailScanner/incoming and MailScanner/quarantine
>directories,
> > as well as the incoming and outgoing queue directories and the PID
>file.
> > 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
>outgoing
> > queue dirs set in MailScanner need to be the "input" directories of
>each
> > 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::SA::SAspamtest->compile_now();
>MailScanner::Log::InfoLog("SA: SAspamtest->read_scoreonly_config()...");
>$MailScanner::SA::SAspamtest->read_scoreonly_config($prefs);
>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
>fine.

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.
>
>Thanks!
>Paul

--
Julian Field
www.MailScanner.info
MailScanner thanks transtec Computers for their support



More information about the MailScanner mailing list