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

Reply via email to