From owner-freebsd-threads@FreeBSD.ORG Wed Sep 13 19:00:49 2006 Return-Path: X-Original-To: freebsd-threads@hub.freebsd.org Delivered-To: freebsd-threads@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E989016A412 for ; Wed, 13 Sep 2006 19:00:49 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7AE1F43D73 for ; Wed, 13 Sep 2006 19:00:43 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id k8DJ0hSH019044 for ; Wed, 13 Sep 2006 19:00:43 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k8DJ0hkR019043; Wed, 13 Sep 2006 19:00:43 GMT (envelope-from gnats) Date: Wed, 13 Sep 2006 19:00:43 GMT Message-Id: <200609131900.k8DJ0hkR019043@freefall.freebsd.org> To: freebsd-threads@FreeBSD.org From: Anders Nordby Cc: Subject: Re: threads/103127: Kernel panic while using thread features in Squid 2.6 X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Anders Nordby List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Sep 2006 19:00:50 -0000 The following reply was made to PR kern/103127; it has been noted by GNATS. From: Anders Nordby To: FreeBSD-gnats-submit@FreeBSD.org, freebsd-threads@FreeBSD.org Cc: Suleiman Souhlal , Pawel Worach , Thomas-Martin Seck Subject: Re: threads/103127: Kernel panic while using thread features in Squid 2.6 Date: Wed, 13 Sep 2006 20:58:03 +0200 --LZvS9be/3tNcYl/X Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi, After talking with Pawel, I tried the attached patch to get some kqueue debug info. I just got it: Sep 13 20:18:56 cache3 kernel: NULL f_event in new kn Sep 13 20:18:56 cache3 kernel: f_event == NULL Then Squid stops responding to new requests, and I can not even kill it with kill -9: root@cache3:~# pgrep -l squid 547 squid root@cache3:~# kill -9 547 root@cache3:~# pgrep -l squid 547 squid Have to reboot to get the system working again, but it seems now it doesn't panic. Regards, -- Anders. --LZvS9be/3tNcYl/X Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="kqueue-debug.patch" --- sys/kern/kern_event.c.orig Wed Sep 13 08:44:57 2006 +++ sys/kern/kern_event.c Wed Sep 13 08:51:03 2006 @@ -900,6 +900,8 @@ goto done; } KN_LIST_LOCK(kn); + if (kn->kn_fop->f_event == NULL) + printf("NULL f_event in new kn\n"); } else { /* * The user may change some filter values after the @@ -912,6 +914,8 @@ kn->kn_sfflags = kev->fflags; kn->kn_sdata = kev->data; kn->kn_kevent.udata = kev->udata; + if (kn->kn_fop->f_event == NULL) + printf("NULL f_event in existing kn\n"); } /* @@ -921,6 +925,12 @@ * is called on a zombie process. It will call filt_proc * which will remove it from the list, and NULL kn_knlist. */ + if (kn->kn_fop->f_event == NULL) { + printf("f_event == NULL\n"); + KN_LIST_UNLOCK(kn); + error = EAGAIN; + goto done; + } event = kn->kn_fop->f_event(kn, 0); KQ_LOCK(kq); if (event) --LZvS9be/3tNcYl/X--