On Aug 29, 2005, at 9:29 PM, Duncan Findlay wrote:

On Mon, Aug 29, 2005 at 08:57:31PM -0700, John Rudd wrote:
Does this fix the problem with SIGCHLD?

Do you have a bug number? What problem with SIGCHLD are you talking
about?


I do not have a bug number. It's a problem I mentioned on the list just two days ago:




From: John Rudd <[EMAIL PROTECTED]>
Date: August 27, 2005 7:32:24 PM PDT
To: Spamassassin <users@spamassassin.apache.org>
Subject: Problems with SpamAssassin 3.1 RC1and MIMEDefang
Return-Path: <[EMAIL PROTECTED]>
X-Ucsc-Cats-Mailscanner-Spamcheck:
X-Ucsc-Cats-Mailscanner-Spamcheck: not spam, SpamAssassin (score=0, required 8)


This is a problem that some mimedefang people are experiencing with SA 3.1 rc1.

(mimedefang slave processes are becoming un-killable due to a mis-feature in SA 3.1 which messes with SIGCHLD)


Begin forwarded message:

From: "David F. Skoll" <[EMAIL PROTECTED]>
Date: August 27, 2005 6:01:28 PM PDT
To: mimedefang@lists.roaringpenguin.com
Subject: Re: [Mimedefang] Problems with SpamAssassin 3.1 RC1and MIMEDefang

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.


Reply via email to