[Mimedefang] Freezing/hanging MIMEDefang 2.56

Bernd Petrovitsch bernd at firmix.at
Wed Sep 6 10:45:53 EDT 2006


Does anyone else experience a freezing mimedefang-multiplexor parent
process with up to 200 child processes?

This happens on Linux Debian/Sarge if we try to stress-test the
installation. Is there a known maximum number of child processes so that
it works?
/var/spool/MIMEDefang is on a tmpfs. EMB_PERL is enabled. We also use
Spam-Assassin with bayes_auto_learn (with the default DBM backend) but
disabled the occasitional --sync (and do it once in the night). But
since the parent process just manges the children, this should IMHO not
matter.
There is not almost no swapping activity during the test (which is
pretty short since the freeze occurs within a few minutes).

The mimedefang-multiplexor process hangs in a futex(2) SysCall - so it
seems to be some locking problem.
AFAICS (reading mimedefang-multiplexor.c and friends) there is no
explicit synchronization/locking in mimedefang-multiplexor which may use
futex(2) below.

But what I found was in activateSlave() around line 2313:
----  snip  ----
    sigemptyset(&sigs);
    sigprocmask(SIG_BLOCK, &sigs, NULL);
----  snip  ----
Reading the manual pages and unless I'm missing something, this is
basically a no-op.
So either this should have been "sigprocmask(SIG_SETMASK, ...)" (and
enables thus all signals) or the two lines can be deleted completely.

Any hints or ideas where to look into?

	Bernd
-- 
Firmix Software GmbH                   http://www.firmix.at/
mobil: +43 664 4416156                 fax: +43 1 7890849-55
          Embedded Linux Development and Services




More information about the MIMEDefang mailing list