Re: Fatal trap 12: page fault while in kernel mode [While close wine application]

From: Kostik Belousov <kostikbel_at_gmail.com>
Date: Mon, 10 Dec 2007 17:13:29 +0200
On Wed, Dec 05, 2007 at 05:15:40PM -0200, Marcus Alves Grando wrote:
> # uname -a
> FreeBSD sup-afu 7.0-BETA4 FreeBSD 7.0-BETA4 #9: Mon Dec  3 10:26:13 BRST 
> 2007     root_at_sup-afu:/usr/obj/usr/src/sys/MARCUS  i386
> 
> Marcus Alves Grando wrote:
> >Fatal trap 12: page fault while in kernel mode
> >cpuid = 0; apic id = 00
> >fault virtual address    = 0x10
> >fault code        = supervisor write, page not present
> >instruction pointer    = 0x20:0xc062c948
> >stack pointer            = 0x28:0xe652eb68
> >frame pointer            = 0x28:0xe652eb88
> >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        = 87845 (wine-pthread)
> >trap number        = 12
> >panic: page fault
> >cpuid = 0
> >Uptime: 2d6h12m13s
> >Physical memory: 1007 MB
> >Dumping 231 MB: 216 200 184 168 152 136 120 104 88 72 56 40 24 8
> >
> >#0  doadump () at pcpu.h:195
> >195    pcpu.h: No such file or directory.
> >    in pcpu.h
> >(kgdb) bt
> >#0  doadump () at pcpu.h:195
> >#1  0xc0652df7 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:409
> >#2  0xc06530b9 in panic (fmt=Variable "fmt" is not available.
> >) at /usr/src/sys/kern/kern_shutdown.c:563
> >#3  0xc08f772c in trap_fatal (frame=0xe652eb28, eva=16) at 
> >/usr/src/sys/i386/i386/trap.c:872
> >#4  0xc08f7990 in trap_pfault (frame=0xe652eb28, usermode=0, eva=16) at 
> >/usr/src/sys/i386/i386/trap.c:785
> >#5  0xc08f82e2 in trap (frame=0xe652eb28) at 
> >/usr/src/sys/i386/i386/trap.c:463
> >#6  0xc08decfb in calltrap () at /usr/src/sys/i386/i386/exception.s:139
> >#7  0xc062c948 in knlist_cleardel (knl=0xc44892b4, td=0x0, islocked=1, 
> >killkn=0) at atomic.h:149
> >#8  0xc068ba4d in pipeclose (cpipe=0xc4489244) at 
> >/usr/src/sys/kern/sys_pipe.c:1508
> >#9  0xc068bb60 in pipe_close (fp=0xc48ef828, td=0xc41b5220) at 
> >/usr/src/sys/kern/sys_pipe.c:1425
> >#10 0xc0622847 in fdrop (fp=0xc48ef828, td=0xc41b5220) at file.h:297
> >#11 0xc0623fef in closef (fp=0xc48ef828, td=0xc41b5220) at 
> >/usr/src/sys/kern/kern_descrip.c:1958
> >#12 0xc06244ff in kern_close (td=0xc41b5220, fd=45) at 
> >/usr/src/sys/kern/kern_descrip.c:1054
> >#13 0xc06245da in close (td=0xc41b5220, uap=0xe652ecfc) at 
> >/usr/src/sys/kern/kern_descrip.c:1006
> >#14 0xc08f7ce5 in syscall (frame=0xe652ed38) at 
> >/usr/src/sys/i386/i386/trap.c:1008
> >#15 0xc08ded60 in Xint0x80_syscall () at 
> >/usr/src/sys/i386/i386/exception.s:196
> >#16 0x00000033 in ?? ()
> >Previous frame inner to this frame (corrupt stack?)
> >(kgdb) l /usr/src/sys/kern/sys_pipe.c:1508
> >1503        PIPE_UNLOCK(cpipe);
> >1504        pipe_free_kmem(cpipe);
> >1505        PIPE_LOCK(cpipe);
> >1506        cpipe->pipe_present = 0;
> >1507        pipeunlock(cpipe);
> >1508        knlist_clear(&cpipe->pipe_sel.si_note, 1);
> >1509        knlist_destroy(&cpipe->pipe_sel.si_note);
> >1510   
> >1511        /*
> >1512         * If both endpoints are now closed, release the memory for the
> >
> >I have a vmcore if need...

Is it easily reproducable ?

Could you, please, show the output of the kgdb commands
p/x *cpipe
p/x *(cpipe->pipe_peer)
from the dump ?

Also, it would be very useful to get an idea of what line of kern_event.c
is actually faulted in frame #7. Try to do "list" in that frame.

Thanks.

Received on Mon Dec 10 2007 - 14:13:35 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:23 UTC