From owner-freebsd-current Tue Nov 28 12:44:24 2000 Delivered-To: freebsd-current@freebsd.org Received: from pike.osd.bsdi.com (pike.osd.bsdi.com [204.216.28.222]) by hub.freebsd.org (Postfix) with ESMTP id 97E1637B400 for ; Tue, 28 Nov 2000 12:44:20 -0800 (PST) Received: from laptop.baldwin.cx (john@dhcp246.osd.bsdi.com [204.216.28.246]) by pike.osd.bsdi.com (8.11.1/8.9.3) with ESMTP id eASKgwC89624; Tue, 28 Nov 2000 12:42:58 -0800 (PST) (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: <20001128094457.A345@webcom.it> Date: Tue, 28 Nov 2000 12:43:11 -0800 (PST) From: John Baldwin To: Andrea Campi Subject: RE: Panic in -current Cc: freebsd-current@FreeBSD.org Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On 28-Nov-00 Andrea Campi wrote: > Latest (this night) current, no system activity: > > panic: mutex Giant owned at ../../kern/kern_intr.c:238 > > I can sen you kernel conf if needed. > > Is this known or should I invest some time to debug it? Eek! I haven't seen this. If you can reproduce this, stick DDB, WITNESS, and MUTEX_DEBUG in your kernel. Then when you get to the ddb prompt, do a 'x __mtx_debug_Giant' followed by 'x/x,8 __mtx_debug_Giant' (to work around weird bugs in ddb). The last commad is a dump of Giant's mtx_debug structure: struct mtx_debug { struct witness *mtxd_witness; LIST_ENTRY(mtx) mtxd_held; const char *mtxd_file; int mtxd_line; const char *mtxd_description; }; We want mtxd_file and mtxd_line. If you look at the output of the last command, it will probably look something like this: db> x/x,8 __mtx_debug_Giant __mtx_debug_Giant: c03303d8 0 cb6475ac c02fdd2a __mtx_debug_Giant+0x10: da c02f97ad 0 0 The last number of the first line is the address of the string holding the filename: db> x/s 0xc02fdd2a __set_sysinit_set_sym...: ../../i386/isa/ithread.c The first number on the second line is the line number: db> x/d __mtx_debug_Giant+0x10 __mtx_debug_Giant+0x10: 218 So in this case Giant was last acquired at line 218 of ../../i386/isa/ithread.c. Finding out where Giant was last obtained will help with finding out where it was supposed to be dropped but wasn't. > Bye, > Andrea -- 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