5.2-RELEASE panic in turnstile_wait
John Baldwin
jhb at FreeBSD.org
Wed Jan 28 10:37:15 PST 2004
On Tuesday 27 January 2004 10:06 pm, Erik Moe wrote:
> panic: page fault
> panic messages:
> ---
> Fatal trap 12: page fault while in kernel mode
> fault virtual address = 0x6c
> fault code = supervisor read, page not present
> instruction pointer = 0x8:0xc0571bfd
> stack pointer = 0x10:0xe3ab7c28
> frame pointer = 0x10:0xe3ab7c2c
> code segment = base 0x0, limit 0xfffff, type 0x1b
> = DPL 0, pres 1, def32 1, gran 1
> processor eflags = resume, IOPL = 0
> current process = 699 (zcat)
> trap number = 12
> panic: page fault
>
> #4 0xc06b5113 in trap (frame=
> {tf_fs = 24, tf_es = 16, tf_ds = 16, tf_edi = -969008320, tf_esi
> = -969012736, tf_ebp = -475300820, tf_isp = -475300844, tf_ebx =
> -969008320, tf_edx = -969012736, tf_ecx = 0, tf_eax = 0, tf_trapno = 12,
> tf_err = 0, tf_eip = -1068033027, tf_cs = 8, tf_eflags = 65538, tf_esp =
> -962721112, tf_ss = -475300780})
> at /usr/src/sys/i386/i386/trap.c:250
> #5 0xc06a7de8 in calltrap () at {standard input}:94
> #6 0xc0571efc in turnstile_wait (ts=0xc63e1b40, lock=0xc69e0aa8,
> owner=0x0) at /usr/src/sys/kern/subr_turnstile.c:458
There is an extra frame in here that gdb misses.
> (kgdb) frame 6
> #6 0xc0571efc in turnstile_wait (ts=0xc63e1b40, lock=0xc69e0aa8,
> owner=0x0) at /usr/src/sys/kern/subr_turnstile.c:458
> 458 turnstile_setowner(ts, owner);
The real panic is in turnstile_setowner(). If owner is indeed NULL (gdb
sometimes messes up values of local variables and arguments) then that is why
it is panicing. Can you pop up to frame 7 and print out *m?
--
John Baldwin <jhb at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" = http://www.FreeBSD.org
More information about the freebsd-current
mailing list