Re: panic: invalid PDPE on recend amd64

From: Jia-Shiun Li <jiashiun_at_gmail.com>
Date: Sun, 7 Nov 2010 01:39:24 +0800
Hi,

I got a similar panic on amd64. Looking into the source it hit
KASSERT((base & (len - 1))) in pmap_demote_DMAP(). I replaced it with
a printf to see what triggered the assertion and here is the output.
Combined with memcontrol output 'bogus' keyword it seems buggy BIOS
violated some kind of spec and caused this. Is it fatal? It looks fine
on my machine without the assertion.

--->8------boot message ----->8--------
mem: <memory>
base 0x00000000fffdc000 len 0x0000000000020000
base 0x00000000ffffc000 len 0x0000000000004000
base 0x0000000000000000 len 0x0000000080000000
base 0x0000000080000000 len 0x0000000040000000
base 0x00000000bff00000 len 0x0000000000100000
base 0x0000000100000000 len 0x0000000040000000
null: <null device, zero device>

--->8------memcontrol output ----->8--------
root_at_jsli-nb:~ # memcontrol list
0x0/0x10000 BIOS write-back fixed-base fixed-length set-by-firmware active
0x10000/0x10000 BIOS write-back fixed-base fixed-length set-by-firmware active
0x20000/0x10000 BIOS write-back fixed-base fixed-length set-by-firmware active
0x30000/0x10000 BIOS write-back fixed-base fixed-length set-by-firmware active
0x40000/0x10000 BIOS write-back fixed-base fixed-length set-by-firmware active
0x50000/0x10000 BIOS write-back fixed-base fixed-length set-by-firmware active
0x60000/0x10000 BIOS write-back fixed-base fixed-length set-by-firmware active
0x70000/0x10000 BIOS write-back fixed-base fixed-length set-by-firmware active
0x80000/0x4000 BIOS write-back fixed-base fixed-length set-by-firmware active
0x84000/0x4000 BIOS write-back fixed-base fixed-length set-by-firmware active
0x88000/0x4000 BIOS write-back fixed-base fixed-length set-by-firmware active
0x8c000/0x4000 BIOS write-back fixed-base fixed-length set-by-firmware active
0x90000/0x4000 BIOS write-back fixed-base fixed-length set-by-firmware active
0x94000/0x4000 BIOS write-back fixed-base fixed-length set-by-firmware active
0x98000/0x4000 BIOS write-back fixed-base fixed-length set-by-firmware active
0x9c000/0x4000 BIOS write-back fixed-base fixed-length set-by-firmware active
0xa0000/0x4000 BIOS uncacheable fixed-base fixed-length set-by-firmware active
0xa4000/0x4000 BIOS uncacheable fixed-base fixed-length set-by-firmware active
0xa8000/0x4000 BIOS uncacheable fixed-base fixed-length set-by-firmware active
0xac000/0x4000 BIOS uncacheable fixed-base fixed-length set-by-firmware active
0xb0000/0x4000 BIOS uncacheable fixed-base fixed-length set-by-firmware active
0xb4000/0x4000 BIOS uncacheable fixed-base fixed-length set-by-firmware active
0xb8000/0x4000 BIOS uncacheable fixed-base fixed-length set-by-firmware active
0xbc000/0x4000 BIOS uncacheable fixed-base fixed-length set-by-firmware active
0xc0000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xc1000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xc2000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xc3000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xc4000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xc5000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xc6000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xc7000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xc8000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xc9000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xca000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xcb000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xcc000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xcd000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xce000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xcf000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xd0000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xd1000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xd2000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xd3000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xd4000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xd5000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xd6000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xd7000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xd8000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xd9000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xda000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xdb000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xdc000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xdd000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xde000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xdf000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xe0000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active
0xe1000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active
0xe2000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active
0xe3000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active
0xe4000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active
0xe5000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active
0xe6000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active
0xe7000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active
0xe8000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active
0xe9000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active
0xea000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active
0xeb000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active
0xec000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active
0xed000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active
0xee000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active
0xef000/0x1000 BIOS uncacheable fixed-base fixed-length set-by-firmware active
0xf0000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xf1000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xf2000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xf3000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xf4000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xf5000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xf6000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xf7000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xf8000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xf9000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xfa000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xfb000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xfc000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xfd000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xfe000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xff000/0x1000 BIOS write-protect fixed-base fixed-length set-by-firmware active
0xfffdc000/0x20000 BIOS write-protect set-by-firmware active bogus
0xffffc000/0x4000 BIOS write-protect set-by-firmware active
0x0/0x80000000 BIOS write-back set-by-firmware active
0x80000000/0x40000000 BIOS write-back set-by-firmware active
0xbff00000/0x100000 BIOS uncacheable set-by-firmware active
0x100000000/0x40000000 BIOS write-back set-by-firmware active
0xc0000000/0x10000000 pciacce write-combine active
root_at_jsli-nb:~ #

btw, it is a

--->8------boot message ----->8--------
CPU: Pentium(R) Dual-Core CPU       T4200  _at_ 2.00GHz (1995.04-MHz K8-class CPU)
  Origin = "GenuineIntel"  Id = 0x1067a  Family = 6  Model = 17  Stepping = 10
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x400e39d<SSE3,DTES64,MON,DS_CPL,EST,TM2,SSSE3,CX16,xTPR,PDCM,XSAVE>
  AMD Features=0x20100800<SYSCALL,NX,LM>
  AMD Features2=0x1<LAHF>
  TSC: P-state invariant
real memory  = 4294967296 (4096 MB)
Physical memory chunk(s):
0x0000000000001000 - 0x000000000009bfff, 634880 bytes (155 pages)
0x0000000000b00000 - 0x00000000b66edfff, 3049185280 bytes (744430 pages)
0x00000000bfdbf000 - 0x00000000bfe82fff, 802816 bytes (196 pages)
0x00000000bfebf000 - 0x00000000bfee9fff, 176128 bytes (43 pages)
0x00000000bfeff000 - 0x00000000bfefffff, 4096 bytes (1 pages)
0x0000000100000000 - 0x000000013ffaffff, 1073414144 bytes (262064 pages)
avail memory = 4095213568 (3905 MB)
Event timer "LAPIC" quality 400
ACPI APIC Table: <ACRSYS ACRPRDCT>
INTR: Adding local APIC 1 as a target
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
FreeBSD/SMP: 1 package(s) x 2 core(s)
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
APIC: CPU 0 has ACPI ID 1
APIC: CPU 1 has ACPI ID 2
x86bios:  IVT 0x000000-0x0004ff at 0xffffff0000000000
x86bios: SSEG 0x001000-0x001fff at 0xffffff8000016000
x86bios: EBDA 0x09f000-0x09ffff at 0xffffff000009f000
x86bios:  ROM 0x0a0000-0x0fefff at 0xffffff00000a0000
ULE: setup cpu 0

Jia-Shiun.
Received on Sat Nov 06 2010 - 17:02:48 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:08 UTC