panic: pmap_enter: attempted pmap_enter on 4MB page

From: Stefan Farfeleder <stefan_at_fafoe.narf.at>
Date: Thu, 9 Oct 2003 15:09:23 +0200
Hi,

this panic just happened on a i386/SMP box with yesterday's current:

%%
Copyright (c) 1992-2003 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD 5.1-CURRENT #6: Thu Oct  9 13:34:31 CEST 2003
    freebsd_at_frog.fafoe.narf.at:/freebsd/testing/obj/freebsd/testing/src/sys/TESTING
Preloaded elf kernel "/boot/kernel.testing/kernel" at 0xc0721000.
Preloaded elf module "/boot/kernel.testing/acpi.ko" at 0xc0721274.
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: AMD Athlon(TM) MP 1600+ (1400.06-MHz 686-class CPU)
  Origin = "AuthenticAMD"  Id = 0x662  Stepping = 2
  Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
  AMD Features=0xc0480000<MP,AMIE,DSP,3DNow!>
real memory  = 1073659904 (1023 MB)
avail memory = 1037778944 (989 MB)
Programming 24 pins in IOAPIC #0
IOAPIC #0 intpin 2 -> irq 0
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
 cpu0 (BSP): apic id:  0, version: 0x00040010, at 0xfee00000
 cpu1 (AP):  apic id:  1, version: 0x00040010, at 0xfee00000
 io0 (APIC): apic id:  2, version: 0x00170011, at 0xfec00000
Pentium Pro MTRR support enabled
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <ASUS   A7M266-D> on motherboard
pcibios: BIOS version 2.10
Using $PIR table, 9 entries at 0xc00f24a0
acpi0: Power Button (fixed)
acpi0: Sleep Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0xe408-0xe40b on acpi0
acpi_cpu0: <CPU> on acpi0
acpi_cpu1: <CPU> on acpi0
acpi_button0: <Power Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0
pci1: <ACPI PCI bus> on pcib1
IOAPIC #0 intpin 16 -> irq 2
pci1: <display, VGA> at device 5.0 (no driver attached)
isab0: <PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <AMD 768 UDMA100 controller> port 0xb800-0xb80f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata0: [MPSAFE]
ata1: at 0x170 irq 15 on atapci0
ata1: [MPSAFE]
pci0: <bridge, PCI-unknown> at device 7.3 (no driver attached)
pcib2: <ACPI PCI-PCI bridge> at device 16.0 on pci0
pci2: <ACPI PCI bus> on pcib2
IOAPIC #0 intpin 17 -> irq 10
IOAPIC #0 intpin 19 -> irq 11
pci2: <multimedia, audio> at device 4.0 (no driver attached)
pci2: <mass storage, SCSI> at device 6.0 (no driver attached)
fxp0: <Intel 82558 Pro/100 Ethernet> port 0xa000-0xa01f mem 0xec800000-0xec8fffff,0xef000000-0xef000fff irq 11 at device 8.0 on pci2
fxp0: Ethernet address 00:a0:c9:f0:05:22
miibus0: <MII bus> on fxp0
inphy0: <i82555 10/100 media interface> on miibus0
inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ppc0 port 0x778-0x77f,0x378-0x37f irq 7 drq 3 on acpi0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/9 bytes threshold
ppbus0: <Parallel port bus> on ppc0
sio0 port 0x3f8-0x3ff irq 4 on acpi0
sio0: type 16550A, console
sio1 port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A
atkbdc0: <Keyboard controller (i8042)> port 0x64,0x60 irq 1 on acpi0
orm0: <Option ROMs> at iomem 0xcc000-0xcffff,0xc0000-0xcbfff on isa0
pmtimer0 on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x100>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
APIC_IO: Testing 8254 interrupt delivery
APIC_IO: routing 8254 via IOAPIC #0 intpin 2

Timecounters tick every 10.000 msec
acpi_cpu: throttling enabled, 2 steps (100% to 50.0%), currently 100.0%
GEOM: create disk ad0 dp=0xc6537b70
ad0: 78533MB <IC35L080AVVA07-0> [159560/16/63] at ata0-master UDMA100
SMP: AP CPU #1 Launched!
Mounting root from ufs:/dev/ad0s4a

panic: pmap_enter: attempted pmap_enter on 4MB page
cpuid = 1; lapic.id = 01000000
Debugger("panic")
Stopped at      Debugger+0x4e:  xchgl   %ebx,in_Debugger.0
db> t
Debugger(c05cb499,1000000,c05dc5d1,e3e4bbb0,100) at Debugger+0x4e
panic(c05dc5d1,280ee000,c05d760c,bed,c1b3a0b8) at panic+0x151
pmap_enter(c73602a8,280ee000,c13d9108,7,0) at pmap_enter+0xae
vm_fault(c73601f8,280ee000,1,0,c6859be0) at vm_fault+0x1174
trap_pfault(e3e4bd48,1,280ee014,3,280ee014) at trap_pfault+0xf6
trap(2f,2f,2f,3,0) at trap+0x1e4
calltrap() at calltrap+0x5
--- trap 0xc, eip = 0x80ad0f2, esp = 0xbfbff370, ebp = 0xbfbff398 ---
db> panic
panic: from debugger
cpuid = 1; lapic.id = 01000000
boot() called on cpu#1
Uptime: 21m6s
Dumping 1023 MB
 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 256 272 288 304 320 336 352 368 384 400 416 432 448 464 480 496 512 528 544 560 576 592 608 624 640 656 672 688 704 720 736 752 768 784 800 816 832 848 864 880 896 912 928 944 960 976 992 1008
Dump complete
Shutting down ACPI
panic: absolutely cannot call smp_ipi_shootdown with interrupts already disabled
cpuid = 1; lapic.id = 01000000
boot() called on cpu#1
Uptime: 21m7s


Fatal trap 12: page fault while in kernel mode
cpuid = 1; lapic.id = 01000000
fault virtual address	= 0x0
fault code		= supervisor read, page not present
instruction pointer	= 0x8:0x0
stack pointer	        = 0x10:0xe00d0cb8
frame pointer	        = 0x10:0xe00d0ce0
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		= 17 (swi7: task queue)
kernel: type 12 trap, code=0
Stopped at      0:

Fatal trap 12: page fault while in kernel mode
cpuid = 1; lapic.id = 01000000
fault virtual address	= 0x0
fault code		= supervisor read, page not present
instruction pointer	= 0x8:0xc058ec10
stack pointer	        = 0x10:0xe00d0adc
frame pointer	        = 0x10:0xe00d0ae0
code segment		= base 0x0, limit 0xfffff, type 0x1b
			= DPL 0, pres 1, def32 1, gran 1
processor eflags	= resume, IOPL = 0
current process		= 17 (swi7: task queue)
      kernel: type 12 trap, code=0
db> r
cpu_reset called on cpu#1
cpu_reset: Restarting BSP
cpu_reset_proxy: Stopped CPU 1
%%

%%
GNU gdb 5.2.1 (FreeBSD)
Copyright 2002 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-undermydesk-freebsd"...
panic: pmap_enter: attempted pmap_enter on 4MB page
panic messages:
---
panic: pmap_enter: attempted pmap_enter on 4MB page
cpuid = 1; lapic.id = 01000000
panic: from debugger
cpuid = 1; lapic.id = 01000000
boot() called on cpu#1
Uptime: 21m6s
Dumping 1023 MB
 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 256 272 288 304 320 336 352 368 384 400 416 432 448 464 480 496 512 528 544 560 576 592 608 624 640 656 672 688 704 720 736 752 768 784 800 816 832 848 864 880 896 912 928 944 960 976 992 1008
---
Reading symbols from /boot/kernel/acpi.ko...done.
Loaded symbols for /boot/kernel/acpi.ko
Reading symbols from /boot/kernel/linux.ko...done.
Loaded symbols for /boot/kernel/linux.ko
#0  doadump () at /freebsd/testing/src/sys/kern/kern_shutdown.c:240
240		dumping++;
(kgdb) bt
#0  doadump () at /freebsd/testing/src/sys/kern/kern_shutdown.c:240
#1  0xc04a793d in boot (howto=260)
    at /freebsd/testing/src/sys/kern/kern_shutdown.c:372
#2  0xc04a7cc8 in panic () at /freebsd/testing/src/sys/kern/kern_shutdown.c:550
#3  0xc0431a32 in db_panic () at /freebsd/testing/src/sys/ddb/db_command.c:450
#4  0xc04319aa in db_command (last_cmdp=0xc06077e0, cmd_table=0x0, 
    aux_cmd_tablep=0xc05e0514, aux_cmd_tablep_end=0xc05e0518)
    at /freebsd/testing/src/sys/ddb/db_command.c:346
#5  0xc0431ab8 in db_command_loop ()
    at /freebsd/testing/src/sys/ddb/db_command.c:472
#6  0xc04347f9 in db_trap (type=3, code=0)
    at /freebsd/testing/src/sys/ddb/db_trap.c:73
#7  0xc058eac3 in kdb_trap (type=3, code=0, regs=0xe3e4bb2c)
    at /freebsd/testing/src/sys/i386/i386/db_interface.c:171
#8  0xc05a6a36 in trap (frame=
      {tf_fs = 24, tf_es = 16, tf_ds = 16, tf_edi = -1067596335, tf_esi = 1, tf_ebp = -471549064, tf_isp = -471549096, tf_ebx = 0, tf_edx = 0, tf_ecx = -471549884, tf_eax = 18, tf_trapno = 3, tf_err = 0, tf_eip = -1067913810, tf_cs = 8, tf_eflags = 646, tf_esp = -1067603625, tf_ss = -1067666279})
    at /freebsd/testing/src/sys/i386/i386/trap.c:578
#9  0xc05903c8 in calltrap () at {standard input}:103
#10 0xc04a7c61 in panic (
    fmt=0xc05dc5d1 "pmap_enter: attempted pmap_enter on 4MB page")
---Type <return> to continue, or q <return> to quit---
    at /freebsd/testing/src/sys/kern/kern_shutdown.c:534
#11 0xc05a389e in pmap_enter (pmap=0xc73602a8, va=672063488, m=0xc13d9108, 
    prot=7 '\a', wired=0) at /freebsd/testing/src/sys/i386/i386/pmap.c:1897
#12 0xc0559a74 in vm_fault (map=0xc73601f8, vaddr=672063488, 
    fault_type=1 '\001', fault_flags=0)
    at /freebsd/testing/src/sys/vm/vm_fault.c:903
#13 0xc05a6bf6 in trap_pfault (frame=0xe3e4bd48, usermode=1, eva=672063508)
    at /freebsd/testing/src/sys/i386/i386/trap.c:709
#14 0xc05a67e4 in trap (frame=
      {tf_fs = 47, tf_es = 47, tf_ds = 47, tf_edi = 3, tf_esi = 0, tf_ebp = -1077939304, tf_isp = -471548556, tf_ebx = 20, tf_edx = 5, tf_ecx = 0, tf_eax = 672063488, tf_trapno = 12, tf_err = 4, tf_eip = 134926578, tf_cs = 31, tf_eflags = 66135, tf_esp = -1077939344, tf_ss = 47})
    at /freebsd/testing/src/sys/i386/i386/trap.c:317
#15 0xc05903c8 in calltrap () at {standard input}:103
---Can't read userspace from dump, or kernel process---

(kgdb) f 11
#11 0xc05a389e in pmap_enter (pmap=0xc73602a8, va=672063488, m=0xc13d9108, 
    prot=7 '\a', wired=0) at /freebsd/testing/src/sys/i386/i386/pmap.c:1897
1897			panic("pmap_enter: attempted pmap_enter on 4MB page");
(kgdb) l
1892		pa = VM_PAGE_TO_PHYS(m) & PG_FRAME;
1893		origpte = *pte;
1894		opa = origpte & PG_FRAME;
1895	
1896		if (origpte & PG_PS)
1897			panic("pmap_enter: attempted pmap_enter on 4MB page");
1898	
1899		/*
1900		 * Mapping has not changed, must be protection or wiring change.
1901		 */
(kgdb) info locals
pa = 454402048
pte = (pt_entry_t *) 0xbfca03b8
opa = 0
origpte = 1546661872
newpte = 0
mpte = 0xc1b3a0b8
(kgdb) q
%%

Do you need anything else?

Stefan Farfeleder
Received on Thu Oct 09 2003 - 04:09:33 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:24 UTC