page fault in pmap_remove_all
Oliver Fromme
olli at lurza.secnetix.de
Tue Aug 10 14:43:58 UTC 2010
Hi,
This is i386 -current as of 2010-08-04.
It was building the toolchain for amd64 when it happened.
I'll keep the vmcore around, so I can dig more into it
if someone tells me what to do.
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
fault virtual address = 0x0
fault code = supervisor write, page not present
instruction pointer = 0x20:0xc083bc86
stack pointer = 0x28:0xe50a1a94
frame pointer = 0x28:0xe50a1ac4
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 = 5785 (install)
trap number = 12
panic: page fault
Uptime: 6h13m9s
Physical memory: 951 MB
Dumping 182 MB: 167 151 135 119 103 87 71 55 39 23 7
#0 doadump () at pcpu.h:231
231 __asm("movl %%fs:0,%0" : "=r" (td));
(kgdb) list *0xc083bc86
0xc083bc86 is in pmap_remove_all (atomic.h:318).
313 atomic_readandclear_int(volatile u_int *addr)
314 {
315 u_int res;
316
317 res = 0;
318 __asm __volatile(
319 " xchgl %1,%0 ; "
320 "# atomic_readandclear_int"
321 : "+r" (res), /* 0 */
322 "=m" (*addr) /* 1 */
(kgdb) backtrace
#0 doadump () at pcpu.h:231
#1 0xc05daef0 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:416
#2 0xc05db11d in panic (fmt=Variable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:590
#3 0xc0840583 in trap_fatal (frame=0xe50a1a54, eva=0)
at /usr/src/sys/i386/i386/trap.c:945
#4 0xc08407d0 in trap_pfault (frame=0xe50a1a54, usermode=0, eva=0)
at /usr/src/sys/i386/i386/trap.c:858
#5 0xc0840cf3 in trap (frame=0xe50a1a54) at /usr/src/sys/i386/i386/trap.c:533
#6 0xc082ce2c in calltrap () at /usr/src/sys/i386/i386/exception.s:166
#7 0xc083bc86 in pmap_remove_all (m=0xc150e9e8) at atomic.h:318
#8 0xc07e9544 in vm_fault (map=0xc38463c0, vaddr=684290048,
fault_type=1 '\001', fault_flags=Variable "fault_flags" is not available.
) at /usr/src/sys/vm/vm_fault.c:499
#9 0xc08406c0 in trap_pfault (frame=0xe50a1d28, usermode=1, eva=684290048)
at /usr/src/sys/i386/i386/trap.c:837
#10 0xc0840b5e in trap (frame=0xe50a1d28) at /usr/src/sys/i386/i386/trap.c:399
#11 0xc082ce2c in calltrap () at /usr/src/sys/i386/i386/exception.s:166
#12 0x0804858c in ?? ()
Previous frame inner to this frame (corrupt stack?)
(kgdb)
--
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606, Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758, Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart
FreeBSD-Dienstleistungen, -Produkte und mehr: http://www.secnetix.de/bsd
"The most important decision in [programming] language design
concerns what is to be left out." -- Niklaus Wirth
More information about the freebsd-current
mailing list