fdc_worker panic in mtx_lock()

M. Warner Losh imp at bsdimp.com
Tue Sep 14 21:04:25 PDT 2004


In message: <Pine.NEB.3.96L.1040914212943.75935A-100000 at fledge.watson.org>
            Robert Watson <rwatson at 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


More information about the freebsd-current mailing list