kern/144809: Fatal trap 12: page fault while in kernel mode

Barbara barbara.xxx1975 at libero.it
Wed Mar 17 00:00:10 UTC 2010


>Number:         144809
>Category:       kern
>Synopsis:       Fatal trap 12: page fault while in kernel mode
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Mar 17 00:00:09 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Barbara
>Release:        7.3-PRERELEASE
>Organization:
>Environment:
FreeBSD satanasso.local.net 7.3-PRERELEASE FreeBSD 7.3-PRERELEASE #0: Sun Mar  7 14:15:37 CET 2010     root at satanasso.local.net:/usr/obj/usr/src/sys/SATANASSO  i386

>Description:
This happend while portupgrading emulators/virtualbox-ose.

# kgdb -n 33
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd"...

Unread portion of the kernel message buffer:


Fatal trap 12: page fault while in kernel mode
cpuid = 1; apic id = 01
fault virtual address	= 0xbfcc1bd8
fault code		= supervisor read, page not present
instruction pointer	= 0x20:0xc07e363e
stack pointer	        = 0x28:0xc5b4ebb8
frame pointer	        = 0x28:0xc5b4ec04
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		= 24017 (cc1)
trap number		= 12
panic: page fault
cpuid = 1
Uptime: 35m15s
Physical memory: 2027 MB
Dumping 214 MB: 199 183 167 151 135 119 103 87 71 55 39 23 7

Reading symbols from /boot/kernel/linux.ko...Reading symbols from /boot/kernel/linux.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/linux.ko
Reading symbols from /boot/modules/nvidia.ko...done.
Loaded symbols for /boot/modules/nvidia.ko
Reading symbols from /boot/kernel/acpi.ko...Reading symbols from /boot/kernel/acpi.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/acpi.ko
Reading symbols from /boot/kernel/linprocfs.ko...Reading symbols from /boot/kernel/linprocfs.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/linprocfs.ko
Reading symbols from /boot/kernel/logo_saver.ko...Reading symbols from /boot/kernel/logo_saver.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/logo_saver.ko
#0  doadump () at pcpu.h:196
196		__asm __volatile("movl %%fs:0,%0" : "=r" (td));
(kgdb) bt
#0  doadump () at pcpu.h:196
#1  0xc059c907 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:418
#2  0xc059cbdc in panic (fmt=Variable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:574
#3  0xc07e996c in trap_fatal (frame=0xc5b4eb78, eva=3217824728) at /usr/src/sys/i386/i386/trap.c:950
#4  0xc07e9bd0 in trap_pfault (frame=0xc5b4eb78, usermode=0, eva=3217824728) at /usr/src/sys/i386/i386/trap.c:863
#5  0xc07ea5d9 in trap (frame=0xc5b4eb78) at /usr/src/sys/i386/i386/trap.c:541
#6  0xc07ce5eb in calltrap () at /usr/src/sys/i386/i386/exception.s:166
#7  0xc07e363e in pmap_remove_pages (pmap=0xc75b9178) at /usr/src/sys/i386/i386/pmap.c:3994
#8  0xc079a7bc in vmspace_exit (td=0xc60cb240) at /usr/src/sys/vm/vm_map.c:404
#9  0xc05745b8 in exit1 (td=0xc60cb240, rv=0) at /usr/src/sys/kern/kern_exit.c:306
#10 0xc057592d in sys_exit (td=Could not find the frame base for "sys_exit".
) at /usr/src/sys/kern/kern_exit.c:110
#11 0xc07e9f35 in syscall (frame=0xc5b4ed38) at /usr/src/sys/i386/i386/trap.c:1101
#12 0xc07ce650 in Xint0x80_syscall () at /usr/src/sys/i386/i386/exception.s:262
#13 0x00000033 in ?? ()
Previous frame inner to this frame (corrupt stack?)
(kgdb) f 7
#7  0xc07e363e in pmap_remove_pages (pmap=0xc75b9178) at /usr/src/sys/i386/i386/pmap.c:3994
3994						pte = vtopte(pv->pv_va);
(kgdb) list
3989					inuse &= ~bitmask;
3990	
3991					pte = pmap_pde(pmap, pv->pv_va);
3992					tpte = *pte;
3993					if ((tpte & PG_PS) == 0) {
3994						pte = vtopte(pv->pv_va);
3995						tpte = *pte & ~PG_PTE_PAT;
3996					}
3997	
3998					if (tpte == 0) {
(kgdb) p/x *(pv)
$5 = {pv_va = 0x306f666e, pv_list = {tqe_next = 0x2e090a3a, tqe_prev = 0x74636573}}

>How-To-Repeat:

>Fix:


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list