From owner-freebsd-current@FreeBSD.ORG Wed Sep 15 04:04:25 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 3BA5316A4CE; Wed, 15 Sep 2004 04:04:25 +0000 (GMT) Received: from harmony.village.org (rover.village.org [168.103.84.182]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7160443D58; Wed, 15 Sep 2004 04:04:24 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.13.1/8.13.1) with ESMTP id i8F43HPw053629; Tue, 14 Sep 2004 22:03:17 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Tue, 14 Sep 2004 22:04:01 -0600 (MDT) Message-Id: <20040914.220401.112259787.imp@bsdimp.com> To: rwatson@FreeBSD.org, phk@FreeBSD.org From: "M. Warner Losh" In-Reply-To: References: X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: current@FreeBSD.org Subject: Re: fdc_worker panic in mtx_lock() 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, 15 Sep 2004 04:04:25 -0000 In message: Robert Watson writes: : Got this this evening -- Warner, looks like it might be yours. Not mine. phk's. I'll take a look at it, however. : Timecounters tick every 10.000 msec : kernel trap 12 with interrupts disabled : : : Fatal trap 12: page fault while in kernel mode : cpuid = 0; apic id = 00 : fault virtual address = 0x108 : fault code = supervisor read, page not present : instruction pointer = 0x8:0xc060978d : stack pointer = 0x10:0xe94c4cb0 : frame pointer = 0x10:0xe94c4cbc : code segment = base 0x0, limit 0xfffff, type 0x1b : = DPL 0, pres 1, def32 1, gran 1 : processor eflags = resume, IOPL = 0 : current process = 99 (fdc0) : [thread 100110] : Stopped at _mtx_lock_sleep+0xb9: cmpl $0x4,0x108(%ebx) : db> trace : _mtx_lock_sleep(c554ebb0,c549e000,0,0,0) at _mtx_lock_sleep+0xb9 : fdc_worker(c554eb00,c5541000,c077faf8,e94c4d34,c05fcd1d) at fdc_worker+0x1ab : fdc_thread(c554eb00,e94c4d48) at fdc_thread+0xe : fork_exit(c077faf8,c554eb00,e94c4d48) at fork_exit+0x75 : fork_trampoline() at fork_trampoline+0x8 : --- trap 0x1, eip = 0, esp = 0xe94c4d7c, ebp = 0 --- : : (gdb) l *fdc_worker+0x1ab : 0xc077eecf is in fdc_worker (../../../dev/fdc/fdc.c:758). : 753 need_recal = 0xf; : 754 } : 755 : 756 /* Pick up a request, if need be wait for it */ : 757 if (fdc->bp == NULL) { : 758 mtx_lock(&fdc->fdc_mtx); : 759 do { : 760 fdc->bp = bioq_takefirst(&fdc->head); : 761 if (fdc->bp == NULL) : 762 msleep(&fdc->head, &fdc->fdc_mtx, I take you didn't try to unload fdc.ko? Warner