Date: Thu, 10 May 2001 09:52:03 -0700 (PDT) From: John Baldwin <jhb@FreeBSD.org> To: Szilveszter Adam <sziszi@petra.hos.u-szeged.hu> Cc: freebsd-current@FreeBSD.org Subject: RE: Today's special: nessusd panics -CURRENT Message-ID: <XFMail.010510095203.jhb@FreeBSD.org> In-Reply-To: <20010510152847.A1492@petra.hos.u-szeged.hu>
next in thread | previous in thread | raw e-mail | index | archive | help
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 <jhb@FreeBSD.org> -- 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.010510095203.jhb>
