kernel trap 12 with interrupts disabled on a fresh SMP -CURRENT

Morten Rodal morten at rodal.no
Sat Jan 17 12:18:38 PST 2004


After getting home from a vacation I upgraded my -CURRENT computer
from a Nov 20th kernel to todays kernel.  After the new interrupt code
was commited I had to turn off ACPI support because of some vital
pieces are missing in the ACPI implementation in my BIOS (if I
recall correctly it was missing MADT table).

The attached crash is when I boot the kernel WITHOUT ACPI.  This was
captured with the serial debugger which generated a series of panics
(I aborted the output after a few of them since they were all exactly
like).

If I boot it with ACPI I get a interrupt storm to irq20 (which
coincidently is ACPI):

[slurp/100] ~> uptime && vmstat -i
 9:13pm  up 17 mins, 2 users, load averages: 0,61 0,61 0,48
interrupt                          total       rate
irq1: atkbd0                        2608          2
irq8: rtc                         133761        127
irq14: ata0                          881          0
irq15: ata1                           30          0
irq17: xl1                          8148          7
irq19: uhci0 ahc0                   3421          3
irq20: acpi0                    41951867      40106
irq0: clk                         104528         99
Total                           42205244      40349

I have attached mptable and acpidump output too.  Any clues?

-- 
Morten Rodal

-------------- next part --------------
Copyright (c) 1992-2004 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.2-CURRENT #1: Sat Jan 17 19:17:01 CET 2004
    root at slurp.rodal.no:/usr/obj/usr/src/sys/slurp
Preloaded elf kernel "/boot/kernel/kernel" at 0xc079f000.
Preloaded elf module "/boot/kernel/linux.ko" at 0xc079f228.
Preloaded elf module "/boot/kernel/snd_sb16.ko" at 0xc079f2d4.
Preloaded elf module "/boot/kernel/snd_sbc.ko" at 0xc079f384.
Preloaded elf module "/boot/kernel/snd_pcm.ko" at 0xc079f430.
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Pentium II/Pentium II Xeon/Celeron (300.68-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x634  Stepping = 4
  Features=0x80fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,MMX>
real memory  = 469749760 (447 MB)
avail memory = 454148096 (433 MB)
MPTable: <OEM00000 PROD00000000>
kernel trap 12 with interrupts disabled


Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 01
fault virtual address	= 0x1c
fault code		= supervisor write, page not present
instruction pointer	= 0x8:0xc05e07f3
stack pointer	        = 0x10:0xc0821b38
frame pointer	        = 0x10:0xc0821c30
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		= 0 ()
trap number		= 12
panic: page fault
cpuid = 0; 
Stack backtrace:
backtrace(c065e3f4,0,c065a09e,c0821a48,100) at backtrace+0x17
panic(c065a09e,c067ba6d,c06b0768,1,1) at panic+0x141
trap_fatal(c0821af8,1c,c0821ab0,c060dbd8,c06b07e0) at trap_fatal+0x366
trap_pfault(c0821af8,0,1c,780,1c) at trap_pfault+0x252
trap(c0090018,c0c30010,c0c30010,c009f000,c0c33000) at trap+0x2fd
calltrap() at calltrap+0x5
--- trap 0xc, eip = 0xc05e07f3, esp = 0xc0821b38, ebp = 0xc0821c30 ---
vm_fault(c0c33000,c009f000,2,0,c06b07e0) at vm_fault+0x263
trap_pfault(c0821cb0,0,c009f000,20821c8c,c009f000) at trap_pfault+0x1e4
trap(18,10,7070010,18e,c06a5da0) at trap+0x2fd
calltrap() at calltrap+0x5
--- trap 0xc, eip = 0xc06296a3, esp = 0xc0821cf0, ebp = 0xc0821d04 ---
install_ap_tramp(c06df460,c067b0d9,0,1,c0507497) at install_ap_tramp+0x53
start_all_aps(c06df2e0,c067afee,0,1,8) at start_all_aps+0x45
cpu_mp_start(c06bdb60,c066b4ed,0,1,c069f310) at cpu_mp_start+0x21f
mp_start(0,81e000,81ec00,81e000,0) at mp_start+0x60
mi_startup() at mi_startup+0xb5
begin() at begin+0x2c
Uptime: 1s
WARNING: Driver mistake: make_dev(geom.ctl) called before SI_SUB_DRIVERS
panic: kthread_create called too soon
cpuid = 0; 
Uptime: 1s


Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 01
fault virtual address	= 0x38
fault code		= supervisor read, page not present
instruction pointer	= 0x8:0xc04fefbc
stack pointer	        = 0x10:0xc082186c
frame pointer	        = 0x10:0xc082187c
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		= 0 ()
trap number		= 12
panic: page fault
cpuid = 0; 
Uptime: 1s


Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 01
fault virtual address	= 0x38
fault code		= supervisor read, page not present
instruction pointer	= 0x8:0xc04fefbc
stack pointer	        = 0x10:0xc08216bc
frame pointer	        = 0x10:0xc08216cc
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		= 0 ()
trap number		= 12
panic: page fault
cpuid = 0; 
Uptime: 1s


Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 01
fault virtual address	= 0x38
fault code		= supervisor read, page not present
instruction pointer	= 0x8:0xc04fefbc
stack pointer	        = 0x10:0xc082150c
frame pointer	        = 0x10:0xc082151c
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		= 0 ()
trap number		= 12
panic: page fault
cpuid = 0; 
Uptime: 1s
-------------- next part --------------

===============================================================================

MPTable, version 2.0.15

-------------------------------------------------------------------------------

MP Floating Pointer Structure:

  location:			BIOS
  physical address:		0x000f6eb0
  signature:			'_MP_'
  length:			16 bytes
  version:			1.4
  checksum:			0x87
  mode:				Virtual Wire

-------------------------------------------------------------------------------

MP Config Table Header:

  physical address:		0x000f6aa0
  signature:			'PCMP'
  base table length:		260
  version:			1.4
  checksum:			0xc8
  OEM ID:			'OEM00000'
  Product ID:			'PROD00000000'
  OEM table pointer:		0x00000000
  OEM table size:		0
  entry count:			24
  local APIC address:		0xfee00000
  extended table length:	124
  extended table checksum:	191

-------------------------------------------------------------------------------

MP Config Base Table Entries:

--
Processors:	APIC ID	Version	State		Family	Model	Step	Flags
		 1	 0x11	 BSP, usable	 6	 3	 4	 0x80fbff
		 0	 0x11	 AP, usable	 6	 3	 4	 0x80fbff
--
Bus:		Bus ID	Type
		 0	 PCI   
		 1	 PCI   
		 2	 ISA   
--
I/O APICs:	APIC ID	Version	State		Address
		 2	 0x11	 usable		 0xfec00000
--
I/O Ints:	Type	Polarity    Trigger	Bus ID	 IRQ	APIC ID	PIN#
		ExtINT	 conforms    conforms	     2	   0	      2	   0
		INT	 conforms    conforms	     2	   1	      2	   1
		INT	 conforms    conforms	     2	   0	      2	   2
		INT	 conforms    conforms	     2	   3	      2	   3
		INT	 conforms    conforms	     2	   4	      2	   4
		INT	 conforms    conforms	     2	   5	      2	   5
		INT	 conforms    conforms	     2	   6	      2	   6
		INT	 conforms    conforms	     2	   8	      2	   8
		INT	 conforms    conforms	     2	   9	      2	   9
		INT	 conforms    conforms	     2	  14	      2	  14
		INT	 conforms    conforms	     2	  15	      2	  15
		INT	active-lo       level	     1	 0:A	      2	  16
		INT	active-lo       level	     0	 4:D	      2	  19
		INT	active-lo       level	     0	 6:A	      2	  19
		INT	active-lo       level	     0	10:A	      2	  18
		INT	active-lo       level	     0	11:A	      2	  17
--
Local Ints:	Type	Polarity    Trigger	Bus ID	 IRQ	APIC ID	PIN#
		ExtINT	active-hi        edge	     2	   0	    255	   0
		NMI	active-hi        edge	     2	   0	    255	   1

-------------------------------------------------------------------------------

MP Config Extended Table Entries:

--
System Address Space
 bus ID: 0 address type: I/O address
 address base: 0x0
 address range: 0x10000
--
System Address Space
 bus ID: 0 address type: memory address
 address base: 0x1c000000
 address range: 0xbbec0000
--
System Address Space
 bus ID: 0 address type: prefetch address
 address base: 0xd7ec0000
 address range: 0x10140000
--
System Address Space
 bus ID: 0 address type: memory address
 address base: 0xe8000000
 address range: 0x18000000
--
System Address Space
 bus ID: 0 address type: memory address
 address base: 0xa0000
 address range: 0x20000
--
Bus Heirarchy
 bus ID: 2 bus info: 0x01 parent bus ID: 0
--
Compatibility Bus Address
 bus ID: 0 address modifier: add
 predefined range: 0x00000000
--
Compatibility Bus Address
 bus ID: 0 address modifier: add
 predefined range: 0x00000001

===============================================================================

-------------- next part --------------
/*
  RSD PTR: OEM=ASUS, ACPI_Rev=1.0x (0)
	RSDT=0x1bffd000, cksum=123
 */
/*
  RSDT: Length=48, Revision=1, Checksum=137,
	OEMID=ASUS, OEM Table ID=P2L97-DS, OEM Revision=0x58582e31,
	Creator ID=ASUS, Creator Revision=0x31303030
	Entries={ 0x1bffd100, 0x1bffd040, 0x1bffd080 }
 */
/*
  FADT:	FACS=0x1bfff000, DSDT=0x1bffd180
	INT_MODEL=PIC
	Preferred_PM_Profile=Unspecified (0)
	SCI_INT=9
	SMI_CMD=0xb2, ACPI_ENABLE=0xa1, ACPI_DISABLE=0xa0, S4BIOS_REQ=0x0
	PSTATE_CNT=0x0
	PM1a_EVT_BLK=0xe400-0xe403
	PM1a_CNT_BLK=0xe404-0xe405
	PM_TMR_BLK=0xe408-0xe40b
	GPE0_BLK=0xe40c-0xe40f
	P_LVL2_LAT=190 us, P_LVL3_LAT=1900 us
	FLUSH_SIZE=0, FLUSH_STRIDE=0
	DUTY_OFFSET=1, DUTY_WIDTH=0
	DAY_ALRM=13, MON_ALRM=0, CENTURY=0
	IAPC_BOOT_ARCH=
	Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4}
 */
/*
  FACS:	Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000
	Global_Lock=
	Flags=
	Version=0
 */
/*
  DSDT: Length=7645, Revision=1, Checksum=13,
	OEMID=ASUS, OEM Table ID=P2L97-DS, OEM Revision=0x1000,
	Creator ID=MSFT, Creator Revision=0x1000001
 */
/*
  BOOT: Length=40, Revision=1, Checksum=211,
	OEMID=ASUS, OEM Table ID=P2L97-DS, OEM Revision=0x58582e31,
	Creator ID=ASUS, Creator Revision=0x31303030
 */
/*
  APIC: Length=92, Revision=1, Checksum=0,
	OEMID=ASUS, OEM Table ID=P2L97-DS, OEM Revision=0x0,
	Creator ID=, Creator Revision=0x0
	Local APIC ADDR=0xfee00000
	Flags={PC-AT}

	Type=IO APIC
	APIC ID=2
	INT BASE=0
	ADDR=0x00000000fec00000

	Type=INT Override
	BUS=0
	IRQ=0
	INTR=2
	Flags={Polarity=conforming, Trigger=edge}

	Type=INT Override
	BUS=0
	IRQ=9
	INTR=20
	Flags={Polarity=active-hi, Trigger=level}

	Type=Local APIC
	ACPI CPU=0
	Flags={ENABLED}
	APIC ID=1

	Type=Local APIC
	ACPI CPU=1
	Flags={ENABLED}
	APIC ID=0
 */


More information about the freebsd-current mailing list