Fatal trap 12 panic in recent -current

John Baldwin jhb at FreeBSD.org
Tue Jan 6 07:21:13 PST 2004


On 04-Jan-2004 Michael McGoldrick wrote:
> System was left idle for a few hours (in X, running Blender, mozilla, xterms)
> doing nothing. System rebooted when I plugged in a umass device (ipod,
> possibly unrelated). When it came back up, I got a backtrace, as follows.
> FYI, sources as of Dec 30, running with Nvidia driver.
> 
> panic: page fault
> panic messages:
> ---
> Fatal trap 12: page fault while in kernel mode
> fault virtual address   = 0x10
> fault code              = supervisor read, page not present
> instruction pointer     = 0x8:0xc0543343
> stack pointer           = 0x10:0xc9f89c80
> frame pointer           = 0x10:0xc9f89cac
> code segment            = base 0x0, limit 0xfffff, type 0x1b
>                         = DPL 0, pres 1, def32 1, gran 1
> processor eflags        = interrupt enabled, resume, IOPL = 0
> current process         = 27 (swi8: tty:sio clock)
> trap number             = 12
> panic: page fault
> 
> syncing disks, buffers remaining... 1295 1295 1295 1295 1295 1295 1295 1295
> 129
>  1295 1295 1295 1295 1295 1295 1295 1295 1295 1295 1295 
> giving up on 816 buffers
> Uptime: 12h47m56s
> Dumping 127 MB
>  16 32 48 64 80 96 112
> ---
> Reading symbols from
> /usr/obj/usr/src/sys/URIEL/modules/usr/src/sys/modules/lin
> x/linux.ko.debug...done.
> Loaded symbols for
> /usr/obj/usr/src/sys/URIEL/modules/usr/src/sys/modules/linux
> linux.ko.debug
> Reading symbols from /boot/kernel/nvidia.ko...done.
> Loaded symbols for /boot/kernel/nvidia.ko
> Reading symbols from /boot/kernel/ng_ubt.ko...done.
> Loaded symbols for /boot/kernel/ng_ubt.ko
> Reading symbols from /boot/kernel/netgraph.ko...done.
> Loaded symbols for /boot/kernel/netgraph.ko
> Reading symbols from
> /usr/obj/usr/src/sys/URIEL/modules/usr/src/sys/modules/ntf
> /ntfs.ko.debug...done.
> Loaded symbols for
> /usr/obj/usr/src/sys/URIEL/modules/usr/src/sys/modules/ntfs/
> tfs.ko.debug
> Reading symbols from
> /usr/obj/usr/src/sys/URIEL/modules/usr/src/sys/modules/lin
> rocfs/linprocfs.ko.debug...done.
> Loaded symbols for
> /usr/obj/usr/src/sys/URIEL/modules/usr/src/sys/modules/linpr
> cfs/linprocfs.ko.debug
> Reading symbols from
> /usr/obj/usr/src/sys/URIEL/modules/usr/src/sys/modules/ipf
> /ipfw.ko.debug...done.
> Loaded symbols for
> /usr/obj/usr/src/sys/URIEL/modules/usr/src/sys/modules/ipfw/
> pfw.ko.debug
> Reading symbols from /boot/kernel/logo_saver.ko...done.
> Loaded symbols for /boot/kernel/logo_saver.ko
>#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:240
> 240             dumping++;
> (kgdb) bt0xc0543343
>#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:240
>#1  0xc05a1909 in boot (howto=256) at /usr/src/sys/kern/kern_shutdown.c:372
>#2  0xc05a1ce8 in panic () at /usr/src/sys/kern/kern_shutdown.c:550
>#3  0xc072efb6 in trap_fatal (frame=0xc9f89c40, eva=0) at
> /usr/src/sys/i386/i38
> /trap.c:821
>#4  0xc072ec52 in trap_pfault (frame=0xc9f89c40, usermode=0, eva=16) at
> /usr/sr
> /sys/i386/i386/trap.c:735
>#5  0xc072e7ad in trap (frame=
>       {tf_fs = -1067778024, tf_es = -1065615344, tf_ds = 16, tf_edi =
> -10162718
> 2, tf_esi = -1015529472, tf_ebp = -906453844, tf_isp = -906453908, tf_ebx = 7, 
> f_edx = 4, tf_ecx = 0, tf_eax = 0, tf_trapno = 12, tf_err = 0, tf_eip =
> -106822
> 677, tf_cs = 8, tf_eflags = 66118, tf_esp = -1015529472, tf_ss = 608})
>     at /usr/src/sys/i386/i386/trap.c:420
>#6  0xc071fb48 in calltrap () at {standard input}:94
>#7  0xc05b3d5e in softclock (dummy=0x0) at
> /usr/src/sys/kern/kern_timeout.c:226
>#8  0xc058b938 in ithread_loop (arg=0xc12c9580) at
> /usr/src/sys/kern/kern_intr.
>:544
>#9  0xc058a5b0 in fork_exit (callout=0xc058b760 <ithread_loop>, arg=0x0,
> frame=
> x0) at /usr/src/sys/kern/kern_fork.c:793
> (kgdb) up 7
>#7  0xc05b3d5e in softclock (dummy=0x0) at
> /usr/src/sys/kern/kern_timeout.c:226
> 226                                     c_func(c_arg);
> (kgdb) l
> 221                                     }
> 222     #ifdef DIAGNOSTIC
> 223                                     binuptime(&bt1);
> 224                                     mtx_lock(&dont_sleep_in_callout);
> 225     #endif
> 226                                     c_func(c_arg);
> 227     #ifdef DIAGNOSTIC
> 228                                     mtx_unlock(&dont_sleep_in_callout);
> 229                                     binuptime(&bt2);
> 230                                     bintime_sub(&bt2, &bt1);
> (kgdb) 

Wrong frame, gdb loses a frame during a page fault trap.  Try doing
'l *0xc0543343' (instruction pointer) in gdb to find where it actually
paniced.

-- 

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