From owner-freebsd-current@FreeBSD.ORG Wed Sep 1 19:04:52 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3C8FD16A4CE for ; Wed, 1 Sep 2004 19:04:52 +0000 (GMT) Received: from park.rambler.ru (park.rambler.ru [81.19.64.101]) by mx1.FreeBSD.org (Postfix) with ESMTP id CD58443D31 for ; Wed, 1 Sep 2004 19:04:50 +0000 (GMT) (envelope-from is@rambler-co.ru) Received: from is.park.rambler.ru (is.park.rambler.ru [81.19.64.102]) by park.rambler.ru (8.12.6/8.12.6) with ESMTP id i81J4mis084811; Wed, 1 Sep 2004 23:04:48 +0400 (MSD) (envelope-from is@rambler-co.ru) Date: Wed, 1 Sep 2004 23:07:42 +0400 (MSD) From: Igor Sysoev X-X-Sender: is@is.park.rambler.ru To: John-Mark Gurney In-Reply-To: <20040901173757.GF29902@funkthat.com> Message-ID: <20040901224828.Q97970@is.park.rambler.ru> References: <20040901144705.K97970@is.park.rambler.ru> <20040901155304.GD29902@funkthat.com> <20040901173757.GF29902@funkthat.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: freebsd-current@freebsd.org Subject: Re: panic caused by EVFILT_SIGNAL detaching in rfork()ed thread X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Sep 2004 19:04:52 -0000 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/