[Mimedefang] Mimedefang processes are blocking

Dave Close dave at compata.com
Sun Nov 7 19:33:05 EST 2004

My problem with Mimedefang blocking continues to occur about every seven
to ten days. Here was the description.

I've been running Mimedefang with Sendmail 8.12 for several months. Most
of the time, it works great. Although I am running the multiplexor, I
rarely see more than two mimedefang.pl processes. However, about once per
week, I find several mimedefang processes in state D, blocking. When this
happens, the system stops processing mail. The load average climbs from
its normal 1 or 2 to as high as 27, most of which represents the blocked
mimedefang processes. However, while the CPU load is under 2%, console
response time is terrible. I can get a response, but it takes very long.

Thus far, I haven't found a solution to this short of rebooting. I've
stopped sendmail, mimedefang, and milter-sender, and killed -9 all the
hung mimedefang processes. When I do that, the load average drops and
console response time returns to normal. But when I restart the daemons,
the problem returns within a few minutes. Clearly, I haven't found the
cause of the blockage, and stopping the daemon is not sufficient to
clear it. Debugging is possible, but painful, while the system is hung,
so I don't do much of it; I want to restore service ASAP. But with some
clue as to where to look, I can certainly do so.

Details: Red Hat Linux 9.0, completely up-to-date with yum. Sendmail
8.12.11 built from source to include the milter interface. Mimedefang
2.43. Milter-sender 0.55.

The only response I've heard to my problem was an assertion that using
a RAM disk for spool storage would solve the problem. I've now been doing
that for nearly a month but the problem continues.

When the problem happens, I see a large number of Mimedefang processes
in "D" state. blocking but uninterruptable. For example,

  # ps ax | grep defang
    479 ?  S  1:09 /usr/local/bin/mimedefang-multiplexor -p 
/var/spool/MIMEDefang/mimedefang-multiplexor.pid -m 2 -x 10 -U defang -b 600 -l -s 
    493 ?  S  2:21 /usr/local/bin/mimedefang -P /var/spool/MIMEDefang/mimedefang.pid -m 
/var/spool/MIMEDefang/mimedefang-multiplexor.sock -U defang -r -s -p 
  26534 ?  S  0:03 /usr/bin/perl /usr/local/bin/mimedefang.pl -server
   6158 ?  D  0:02 /usr/bin/perl /usr/local/bin/mimedefang.pl -server
   6265 ?  D  0:01 /usr/bin/perl /usr/local/bin/mimedefang.pl -server
   6266 ?  D  0:02 /usr/bin/perl /usr/local/bin/mimedefang.pl -server
   6326 ?  D  0:01 /usr/bin/perl /usr/local/bin/mimedefang.pl -server
   6327 ?  D  0:01 /usr/bin/perl /usr/local/bin/mimedefang.pl -server
   6334 ?  D  0:01 /usr/bin/perl /usr/local/bin/mimedefang.pl -server
   6446 ?  D  0:00 /usr/bin/perl /usr/local/bin/mimedefang.pl -server
   6476 ?  D  0:00 /usr/bin/perl /usr/local/bin/mimedefang.pl -server
   6477 ?  D  0:00 /usr/bin/perl /usr/local/bin/mimedefang.pl -server

So my question remains: why is Mimedefang blocking and how can I avoid
this situation? I won't ask again, but I sure hope someone here can offer
a useful suggestion.
Dave Close, Compata, Costa Mesa CA  "You can't go to Windows Update
dave at compata.com, +1 714 434 7359    and get a patch for stupidity."
dhclose at alumni.caltech.edu                  -- Kevin Mitnick

More information about the MIMEDefang mailing list