[Mimedefang] Problems with SpamAssassin 3.1 RC1and MIMEDefang

David F. Skoll dfs at roaringpenguin.com
Sat Aug 27 21:01:28 EDT 2005


Martin Blapp wrote:


> Please download SA3.1 Pre 1 and try yourself.

I downloaded it, and didn't have to try anything; the problem was obvious
after I read the SA 3.1 code.

It's a bug in SA 3.1.

Look at the file "Dns.pm", in the routine enter_helper_run_mode.
We see this code:

  # enforce SIGCHLD as DEFAULT; IGNORE causes spurious kernel warnings
  # on Red Hat NPTL kernels (bug 1536), and some users of the
  # Mail::SpamAssassin modules set SIGCHLD to be a fatal signal
  # for some reason! (bug 3507)
  $self->{old_sigchld_handler} = $SIG{CHLD};
  $SIG{CHLD} = 'DEFAULT';

There's a leave_helper_run_mode that resets the SIGCHLD handler to its
old value.

HOWEVER: If the slave dies sometime between enter_helper_run_mode and
leave_helper_run_mode, the multiplexor never gets a SIGCHLD signal.

I don't know why the SA developers are even monkeying with the SIGCHLD handler
in the Perl module; you'd have to ask them.  It seems like a bad idea
to me.

I think I have a workaround; I'll release a beta soon.
In the meantime, I believe that turning off the embedded interpreter will
make it work properly.

Regards,

David.



More information about the MIMEDefang mailing list