Re: panic caused by EVFILT_SIGNAL detaching in rfork()ed thread

From: Igor Sysoev <is_at_rambler-co.ru>
Date: Wed, 1 Sep 2004 23:07:42 +0400 (MSD)
On Wed, 1 Sep 2004, John-Mark Gurney wrote:

> > > The problem is some how that the knote is being removed from the list
> > > (or was never on the list), but not being marked detached...
> > >
> > > Hmmm. what are the options you are using for rfork?
> >
> > The worker process starts two worker threads created by
> > rfork(RFPROC|RFTHREAD|RFMEM). Each thread opens kqueue and
> > adds the EVFILT_SIGNAL event.
> >
> > If you like I can send to you the source tarball (I do not distribute
> > the server right now, because it has not the documentation). The build
> > process is simple. Then you need to press ^C and you will get the panic.
>
> I believe this panic may be possible w/o rfork, but I'm not possitive..
> It's probably an artifact of the fact that the kq was living longer
> than the proc that had the signal kevent associated with it, which
> normally does not happen...
>
> Attached is a patch..  And let me know if it fixes your panic...

The patch fixed the panic (I tested on 5.3-BETA2, GENERIC, SMP, HTT,
SCHED_ULE). Thank you. Could you make the similar patch for 4.x ?

And one more, could you rename http://people.freebsd.org/~jmg/kqueue.man.html
into kqueue_preliminary.man.html and place a modern (or at least from
4.1-RELEASE) kqueue man page in kqueue.man.html ? Google shows your
man page at first position and it confuses people. I saw several times
when people said that kqueue has the incompatible interface between BSDs
and even between various FreeBSD verisons referring to this man page.


Igor Sysoev
http://sysoev.ru/en/
Received on Wed Sep 01 2004 - 17:04:52 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:10 UTC