MailScanner ignoring child process limit [solved]

TCIS List Acct listacct at
Tue Aug 29 00:46:11 IST 2006

Logan Shaw wrote:
> On Mon, 28 Aug 2006, TCIS List Acct wrote:
>> ... I regularly see 35+ child processes.  I also see about 4 "masters":
>> 1:08PM   0:00.03 MailScanner: master waiting for children, sleeping
>> 1:15PM   0:00.03 MailScanner: master waiting for children, sleeping
>> 1:30PM   0:00.02 MailScanner: master waiting for children, sleeping
>> 1:45PM   0:00.02 MailScanner: master waiting for children, sleeping
> I would venture a guess that something is wrong with the way
> (whatever)/bin/check_mailscanner is working.  It's supposed to
> detect whether MailScanner is running, and if not, start it.
> It seems like something is probably wrong with the way that
> it checks and it's failing to see that one is already running.
> Oh yeah, almost forgot to mention, on the default setup,
> check_mailscanner is run from cron periodically.
>   - Logan

Ding ding.. we have a winner.

You were right on the money regarding the check_mailscanner thing.  Basically, I 
did indeed have a crontab entry running the check_mailscanner script, however, 
it was one from a much older version of MailScanner (I had put it in 
/usr/local/etc/rc.d/ for FreeBSD).  So, when I built this new box (FreeBSD 6.x, 
old boxes were 4.x, but I copied a lot of the config files over) the "old" 
check_mailscanner script was failing to run properly, and as a result it kept 
starting MailScanner over and over (every 15 mins via cron) until the box ran 
out of memory and crashed.  This also explains the issue I reported a few months 
ago with my upgrade to the later versions of MailScanner, it corresponded to the 
change in the way MailScanner shows up in a process list.

The old code:

elif $UNAME | $FGREP -q "BSD" ; then
     pid=`$PS -axww |
          $GREP '[ ]'$msbindir/$process |
          $AWK '{print $1}'`

The new code:

elif $UNAME | $FGREP "BSD" >/dev/null ; then
     pid=`$PS -axww |
          $EGREP '[ ]('$msbindir/$process')|'$process'[:]' |
          $AWK '{print $1}'`

So, it was my fault for not following the upgrade procedure properly, I should 
symlink to the check_mailscanner script (/opt/MailScanner/bin/check_mailscanner) 
in the future to make sure I'm running the latest and greatest.


Mike Bacher / listacct at
TCIS - TulsaConnect Internet Services

More information about the MailScanner mailing list