From owner-freebsd-current Thu May 10 9:53:32 2001 Delivered-To: freebsd-current@freebsd.org Received: from meow.osd.bsdi.com (meow.osd.bsdi.com [204.216.28.88]) by hub.freebsd.org (Postfix) with ESMTP id 9FA5A37B422 for ; Thu, 10 May 2001 09:53:29 -0700 (PDT) (envelope-from jhb@FreeBSD.org) Received: from laptop.baldwin.cx (john@jhb-laptop.osd.bsdi.com [204.216.28.241]) by meow.osd.bsdi.com (8.11.2/8.11.2) with ESMTP id f4AGqvG86283; Thu, 10 May 2001 09:52:57 -0700 (PDT) (envelope-from jhb@FreeBSD.org) Message-ID: X-Mailer: XFMail 1.4.0 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <20010510152847.A1492@petra.hos.u-szeged.hu> Date: Thu, 10 May 2001 09:52:03 -0700 (PDT) From: John Baldwin To: Szilveszter Adam Subject: RE: Today's special: nessusd panics -CURRENT Cc: freebsd-current@FreeBSD.org Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On 10-May-01 Szilveszter Adam wrote: > Hello everybody, > > I have stumbled across some nice giraffe today. > > Look, this is cute (transcribed by hand for your enhanced viewing pleasure): > (sorry, no serial console handy... should be easy to reproduce though) > ># nessusd -D > > witness_get: witness exhausted > exclusive(sleep mutex) Giant(0xc044a760) locked @ ../../i386/i386/trap.c:1169 > panic: system call open returning with mutex(s) held Ok, I see what's broken. I don't know how you are out of witness's though. We don't have enough types of mutexes for that to happen. Try this patch: Index: subr_witness.c =================================================================== RCS file: /usr/cvs/src/sys/kern/subr_witness.c,v retrieving revision 1.70 diff -u -r1.70 subr_witness.c --- subr_witness.c 2001/05/04 17:15:16 1.70 +++ subr_witness.c 2001/05/10 16:39:27 @@ -1222,6 +1222,9 @@ ("%s: p != curproc and we aren't in the debugger", __func__)); KASSERT(!witness_cold, ("%s: witness_cold", __func__)); + if (!db_active && witness_dead) + return (0); + nheld = witness_list_locks(&p->p_sleeplocks); /* -- John Baldwin -- http://www.FreeBSD.org/~jhb/ PGP Key: http://www.baldwin.cx/~john/pgpkey.asc "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message