This problem first occurred between the Dec 15, 2008 and the Jan 16, 2009 amd64 snapshots. Bug reports kernel/6138 and kernel/6164 have been submitted.
The problem still remains, ie. both RAMDISK_CD and GENERIC hang unless acpimadt is disabled. With acpimadt disabled, the system runs ok. Both amd64 and i386 versions of GENERIC hang. I have appended a diff from the current amd64 snapshot, ie. OpenBSD 4.8-beta (GENERIC) #159: Thu Aug 5 21:28:36 MDT 2010 with and without acpimadt disabled. I have also appended a dmesg which includes ddb trace & ps during the hang. Apparently, with acpimadt enabled, interrupts are handled differently and since wd0 times out, the hang occurs. I compiled a kernel yesterday with ACPIDEBUG enabled but am lost trying to interpret the results[1] and learn more. [1] <ftp://www.thrush.com/tarpit2/acpidebug.out> FWIW, the hanging dmesgs are also at [2] and [3]. [2] <ftp://www.thrush.com/tarpit2/dmesg.amd64> [3] <ftp://www.thrush.com/tarpit2/dmesg.i386> With the recent ACPI changes, perhaps this is related and someone can help? ##################### diff ################################ --- dmesg.acpimadt_hang Fri Aug 6 10:05:02 2010 +++ dmesg.no_acpimadt Fri Aug 6 10:06:03 2010 @@ -11,7 +11,11 @@ acpi0: tables DSDT FACP APIC acpi0: wakeup devices PCI0(S5) USB0(S1) USB1(S1) USB2(S1) USB3(S1) USB4(S1) USB5(S1) USB6(S1) LAN0(S5) AC97(S5) UAR1(S5) acpitimer0 at acpi0: 3579545 Hz, 24 bits -acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat +acpiprt0 at acpi0: bus 0 (PCI0) +acpicpu0 at acpi0 +acpitz0 at acpi0: critical temperature 110 degC +acpibtn0 at acpi0: PWRB +mpbios0 at bios0: Intel MP Specification 1.4 cpu0 at mainbus0: apid 0 (boot processor) cpu0: AMD Sempron(tm) Processor 2800+, 1600.08 MHz cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SSE3,NXE,MMXX,FFXSR,LONG,3DNOW2,3DNOW @@ -20,11 +24,10 @@ cpu0: DTLB 32 4KB entries fully associative, 8 4MB entries fully associative cpu0: AMD erratum 89 present, BIOS upgrade may be required cpu0: apic clock running at 199MHz +mpbios0: bus 0 is type PCI +mpbios0: bus 1 is type PCI +mpbios0: bus 2 is type ISA ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 3, 24 pins -acpiprt0 at acpi0: bus 0 (PCI0) -acpicpu0 at acpi0 -acpitz0 at acpi0: critical temperature 110 degC -acpibtn0 at acpi0: PWRB pci0 at mainbus0 bus 0 pchb0 at pci0 dev 0 function 0 "VIA K8M800 Host" rev 0x00 agp at pchb0 not configured @@ -42,7 +45,7 @@ re0 at pci0 dev 11 function 0 "Realtek 8169" rev 0x10: RTL8110S (0x0400), apic 2 int 18 (irq 10), address 00:e0:4c:77:6d:ab rgephy0 at re0 phy 7: RTL8169S/8110S PHY, rev. 0 pciide0 at pci0 dev 15 function 0 "VIA VT6420 SATA" rev 0x80: DMA -pciide0: using apic 2 int 15 (irq 15) for native-PCI interrupt +pciide0: using apic 2 int 20 (irq 15) for native-PCI interrupt wd0 at pciide0 channel 0 drive 0: <ST3808110AS> wd0: 16-sector PIO, LBA48, 76319MB, 156301488 sectors wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 6 ################# dmesg when system hangs ################### OpenBSD 4.8-beta (GENERIC) #159: Thu Aug 5 21:28:36 MDT 2010 dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC real mem = 518979584 (494MB) avail mem = 491380736 (468MB) mainbus0 at root bios0 at mainbus0: SMBIOS rev. 2.3 @ 0xf0000 (30 entries) bios0: vendor Phoenix Technologies, LTD version "6.00 PG" date 12/01/2005 bios0: Shuttle Inc SK21V10 acpi0 at bios0: rev 0 acpi0: sleep states S0 S1 S4 S5 acpi0: tables DSDT FACP APIC acpi0: wakeup devices PCI0(S5) USB0(S1) USB1(S1) USB2(S1) USB3(S1) USB4(S1) USB5(S1) USB6(S1) LAN0(S5) AC97(S5) UAR1(S5) acpitimer0 at acpi0: 3579545 Hz, 24 bits acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat cpu0 at mainbus0: apid 0 (boot processor) cpu0: AMD Sempron(tm) Processor 2800+, 1600.08 MHz cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SSE3,NXE,MMXX,FFXSR,LONG,3DNOW2,3DNOW cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 256KB 64b/line 16-way L2 cache cpu0: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative cpu0: DTLB 32 4KB entries fully associative, 8 4MB entries fully associative cpu0: AMD erratum 89 present, BIOS upgrade may be required cpu0: apic clock running at 199MHz ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 3, 24 pins acpiprt0 at acpi0: bus 0 (PCI0) acpicpu0 at acpi0 acpitz0 at acpi0: critical temperature 110 degC acpibtn0 at acpi0: PWRB pci0 at mainbus0 bus 0 pchb0 at pci0 dev 0 function 0 "VIA K8M800 Host" rev 0x00 agp at pchb0 not configured pchb1 at pci0 dev 0 function 1 "VIA K8M800 Host" rev 0x00 pchb2 at pci0 dev 0 function 2 "VIA K8M800 Host" rev 0x00 pchb3 at pci0 dev 0 function 3 "VIA K8M800 Host" rev 0x00 pchb4 at pci0 dev 0 function 4 "VIA K8M800 Host" rev 0x00 pchb5 at pci0 dev 0 function 7 "VIA K8M800 Host" rev 0x00 ppb0 at pci0 dev 1 function 0 "VIA K8HTB AGP" rev 0x00 pci1 at ppb0 bus 1 vga1 at pci1 dev 0 function 0 "VIA S3 Unichrome PRO IGP" rev 0x01 wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) wsdisplay0: screen 1-5 added (80x25, vt100 emulation) "VIA VT6306 FireWire" rev 0x80 at pci0 dev 10 function 0 not configured re0 at pci0 dev 11 function 0 "Realtek 8169" rev 0x10: RTL8110S (0x0400), apic 2 int 18 (irq 10), address 00:e0:4c:77:6d:ab rgephy0 at re0 phy 7: RTL8169S/8110S PHY, rev. 0 pciide0 at pci0 dev 15 function 0 "VIA VT6420 SATA" rev 0x80: DMA pciide0: using apic 2 int 15 (irq 15) for native-PCI interrupt wd0 at pciide0 channel 0 drive 0: <ST3808110AS> wd0: 16-sector PIO, LBA48, 76319MB, 156301488 sectors wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 6 pciide1 at pci0 dev 15 function 1 "VIA VT82C571 IDE" rev 0x06: ATA133, channel 0 configured to compatibility, channel 1 configured to compatibility atapiscsi0 at pciide1 channel 0 drive 0 scsibus0 at atapiscsi0: 2 targets cd0 at scsibus0 targ 0 lun 0: <TSSTcorp, CD/DVDW SH-S182M, SB00> ATAPI 5/cdrom removable cd0(pciide1:0:0): using PIO mode 4, Ultra-DMA mode 2 pciide1: channel 1 ignored (disabled) uhci0 at pci0 dev 16 function 0 "VIA VT83C572 USB" rev 0x81: apic 2 int 21 (irq 11) uhci1 at pci0 dev 16 function 1 "VIA VT83C572 USB" rev 0x81: apic 2 int 21 (irq 11) uhci2 at pci0 dev 16 function 2 "VIA VT83C572 USB" rev 0x81: apic 2 int 21 (irq 15) uhci3 at pci0 dev 16 function 3 "VIA VT83C572 USB" rev 0x81: apic 2 int 21 (irq 15) ehci0 at pci0 dev 16 function 4 "VIA VT6202 USB" rev 0x86: apic 2 int 21 (irq 10) usb0 at ehci0: USB revision 2.0 uhub0 at usb0 "VIA EHCI root hub" rev 2.00/1.00 addr 1 viapm0 at pci0 dev 17 function 0 "VIA VT8237 ISA" rev 0x00 iic0 at viapm0 spdmem0 at iic0 addr 0x50: 512MB DDR SDRAM non-parity PC3200CL3.0 auvia0 at pci0 dev 17 function 5 "VIA VT8233 AC97" rev 0x60: apic 2 int 22 (irq 10) ac97: codec id 0x56494170 (VIA Technologies VT1617) ac97: codec features headphone, 18 bit DAC, 18 bit ADC, KS Waves 3D audio0 at auvia0 vr0 at pci0 dev 18 function 0 "VIA RhineII-2" rev 0x78: apic 2 int 23 (irq 11), address 00:30:1b:40:6a:1d ukphy0 at vr0 phy 1: Generic IEEE 802.3u media interface, rev. 10: OUI 0x004063, model 0x0032 pchb6 at pci0 dev 24 function 0 "AMD AMD64 0Fh HyperTransport" rev 0x00 pchb7 at pci0 dev 24 function 1 "AMD AMD64 0Fh Address Map" rev 0x00 pchb8 at pci0 dev 24 function 2 "AMD AMD64 0Fh DRAM Cfg" rev 0x00 kate0 at pci0 dev 24 function 3 "AMD AMD64 0Fh Misc Cfg" rev 0x00 usb1 at uhci0: USB revision 1.0 uhub1 at usb1 "VIA UHCI root hub" rev 1.00/1.00 addr 1 usb2 at uhci1: USB revision 1.0 uhub2 at usb2 "VIA UHCI root hub" rev 1.00/1.00 addr 1 usb3 at uhci2: USB revision 1.0 uhub3 at usb3 "VIA UHCI root hub" rev 1.00/1.00 addr 1 usb4 at uhci3: USB revision 1.0 uhub4 at usb4 "VIA UHCI root hub" rev 1.00/1.00 addr 1 isa0 at mainbus0 isadma0 at isa0 com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo com0: console pckbc0 at isa0 port 0x60/5 pckbd0 at pckbc0 (kbd slot) pckbc0: using irq 1 for kbd slot wskbd0 at pckbd0: console keyboard, using wsdisplay0 pms0 at pckbc0 (aux slot) pckbc0: using irq 12 for aux slot wsmouse0 at pms0 mux 0 pcppi0 at isa0 port 0x61 spkr0 at pcppi0 lpt0 at isa0 port 0x378/4 irq 7 it0 at isa0 port 0x2e/2: IT8705F rev 3, EC port 0x290 mtrr: Pentium Pro MTRR support umass0 at uhub0 port 2 configuration 1 interface 0 "Generic Mass Storage Device" rev 2.00/1.13 addr 2 umass0: using SCSI over Bulk-Only scsibus1 at umass0: 2 targets, initiator 0 sd0 at scsibus1 targ 1 lun 0: <Multi, Flash Reader, 1.00> SCSI0 0/direct removable sd0: 488MB, 512 bytes/sec, 1000448 sec total axe0 at uhub0 port 6 configuration 1 interface 0 "Linksys USB 2.0 10/100 Ethernet controller" rev 2.00/0.01 addr 3 axe0: AX88172, address 00:10:60:84:34:6b rlphy0 at axe0 phy 3: RTL8201L 10/100 PHY, rev. 1 softraid0 at root wd0(pciide0:0:0): timeout type: ata c_bcount: 512 c_skip: 0 wd0(pciide0:0:0): timeout type: ata c_bcount: 512 c_skip: 0 [halt sent] Stopped at Debugger+0x5: leave ddb> trace Debugger() at Debugger+0x5 internal_command() at internal_command+0x163 wskbd_translate() at wskbd_translate+0x83 wskbd_input() at wskbd_input+0x4e pckbd_input() at pckbd_input+0xa4 pckbcintr_internal() at pckbcintr_internal+0x91 Xintr_legacy1() at Xintr_legacy1+0xf0 --- interrupt --- Bad frame pointer: 0xffff80000b5a3f10 end trace frame: 0xffff80000b5a3f10, count: -7 cpu_idle_cycle+0x13: ddb> ps PID PPID PGRP UID S FLAGS WAIT COMMAND 11 0 0 0 3 0x100200 pftm pfpurge 10 0 0 0 3 0x100200 usbevt usb4 9 0 0 0 3 0x100200 usbevt usb3 8 0 0 0 3 0x100200 usbevt usb2 7 0 0 0 3 0x100200 usbevt usb1 6 0 0 0 3 0x100200 usbtsk usbtask 5 0 0 0 3 0x100200 usbevt usb0 4 0 0 0 3 0x100200 acpi0 acpi0 3 0 0 0 3 0x100200 bored syswq * 2 0 0 0 7 0x40100200 idle0 1 0 0 0 3 0 initexec swapper 0 -1 0 0 3 0x80200 biowait swapper