Page Fault.

Mel fbsd.questions at rachie.is-a-geek.net
Mon Dec 1 20:50:51 PST 2008


On Monday 01 December 2008 21:34:14 Keith wrote:
> On Mon, 1 Dec 2008, Mel wrote:
> |->On Monday 01 December 2008 19:32:59 Keith wrote:
> |->>
> |->> ======
> |->> kernel trap 12 with interrupts disabled
> |->>
> |->> Fatal trap 12: page fault while in kernel mode
> |->> cpuid = 2; apic id = 02
> |->> fault virtual address   = 0x104
> |->> fault code              = supervisor read, page not present
> |->> instruction pointer     = 0x20:0xc066ca51
> |->> stack pointer           = 0x28:0xe6ec0c90
> |->> frame pointer           = 0x28:0xe6ec0c9c
> |->> code segment            = base 0x0, limit 0xfffff, type 0x1b
> |->>                         = DPL 0, pres 1, def32 1, gran 1
> |->> processor eflags        = resume, IOPL = 0
> |->> current process         = 9 (thread taskq)
> |->> trap number             = 12
> |->> panic: page fault
> |->> Uptime: 6d6h23m45s
> |->> #0  doadump () at pcpu.h:165
> |->> 165             __asm __volatile("movl %%fs:0,%0" : "=r" (td));
> |->> ============
> |->>
> |->frame 0 useless. You need the frame after calltrap().
> |->And:
> |->
> |->> instruction pointer     = 0x20:0xc066ca51
> |->list *0xc066ca51
> |->
> |->Generally a bt will show the needed information.
> |->Likely cause: file system corruption, caused by background_fsck, but a
> |->backtrace should show more.
>
> Ok, so how does one fix corruption if that is the case? Here is a
> backtrace, but means nothing to me unfortunately.
>
> (kgdb) backtrace
> #0  doadump () at pcpu.h:165
> #1  0xc067582a in boot (howto=260) at ../../../kern/kern_shutdown.c:409
> #2  0xc0675b51 in panic (fmt=0xc08f090b "%s") at
> ../../../kern/kern_shutdown.c:565
>
> #3  0xc0899f1c in trap_fatal (frame=0xe6ec0c50, eva=260) at
> ../../../i386/i386/trap.c:837
>
> #4  0xc089968e in trap (frame={tf_fs = 8, tf_es = -920256472, tf_ds =
> -420741080, tf_edi = -936184704, tf_esi = 4, tf_ebp = -420737892, tf_isp
> = -420737924, tf_ebx = -920236452, tf_edx = 6, tf_ecx = -936306488, tf_eax
> = 1, tf_trapno = 12, tf_err = 0, tf_eip = -1067005359, tf_cs = 32,
> tf_eflags = 65538, tf_esp = -930065784, tf_ss = 4}) at
> ../../../i386/i386/trap.c:270
>
> #5  0xc08859ca in calltrap () at ../../../i386/i386/exception.s:139
>
> #6  0xc066ca51 in _mtx_lock_sleep (m=0xc9264e5c, tid=3358782592, opts=0,
> file=0x0, line=0) at ../../../kern/kern_mutex.c:546
>
> #7  0xc06bbdb6 in unp_gc (arg=0x0, pending=1) at
> ../../../kern/uipc_usrreq.c:1714

This has been fixed:
http://www.freebsd.org/cgi/query-pr.cgi?pr=113823
-- 
Mel

Problem with today's modular software: they start with the modules
    and never get to the software part.


More information about the freebsd-questions mailing list