Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Sep 2004 22:04:01 -0600 (MDT)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        rwatson@FreeBSD.org, phk@FreeBSD.org
Cc:        current@FreeBSD.org
Subject:   Re: fdc_worker panic in mtx_lock()
Message-ID:  <20040914.220401.112259787.imp@bsdimp.com>
In-Reply-To: <Pine.NEB.3.96L.1040914212943.75935A-100000@fledge.watson.org>
References:  <Pine.NEB.3.96L.1040914212943.75935A-100000@fledge.watson.org>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <Pine.NEB.3.96L.1040914212943.75935A-100000@fledge.watson.org>
            Robert Watson <rwatson@FreeBSD.org> 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040914.220401.112259787.imp>