ACPI issue in 7-current ?

Khetan Gajjar khetan at os.org.za
Wed Aug 10 15:41:52 GMT 2005


Hi.

I've been running a 6-current box which I upgraded recently to 7.
At the same time, I disabled WITNESS and INVARIANTS in the kernel.
I've noticed the machine doing some very weird things ever since.

All daemons appear to be listening and responsive, but no data gets
submitted back. eg. I connect to port 22, get the ssh banner, and
then nothing else. If I ssh into the system and issue a command
like uptime, I get a response back, but if I try an interactive
session, it fails. No core dumps, and the machine needs to be cold
rebooted, at which point it functions happily for a random time
period (shortest 8 hours, longest 1 week), and then symptoms re-occur.

I have three other machines running this very flavour of 7-current
(all cvsupped at the same time from the same cvsup server), and
they are behaving. Those are both Intel boards and processors though.

I re-enabled WITNESS and INVARIANTS, and see this in the dmesg,
which points to some kind of ACPI / AMD interaction issue.

Copyright (c) 1992-2005 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 7.0-CURRENT #3: Wed Aug 10 17:23:36 SAST 2005
     khetan at citadel.os.org.za:/usr/src/sys/i386/compile/CITADEL5
WARNING: WITNESS option enabled, expect reduced performance.
WARNING: debug.mpsafenet forced to 0 as ipsec requires Giant
WARNING: MPSAFE network stack disabled, expect reduced performance.
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: AMD Athlon(tm) XP 2500+ (1826.31-MHz 686-class CPU)
   Origin = "AuthenticAMD"  Id = 0x6a0  Stepping = 0
   Features=0x383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PA
T,PSE36,MMX,FXSR,SSE>
   AMD Features=0xc0400800<SYSCALL,MMX+,3DNow+,3DNow>
real memory  = 520028160 (495 MB)
avail memory = 499404800 (476 MB)
npx0: [FAST]
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <KM266P AWRDACPI> on motherboard
acpi0: Power Button (fixed)
pci_link0: <ACPI PCI Link LNKA> on acpi0
pci_link1: <ACPI PCI Link LNKB> irq 10 on acpi0
pci_link2: <ACPI PCI Link LNKC> on acpi0
pci_link3: <ACPI PCI Link LNKD> on acpi0
pci_link4: <ACPI PCI Link LNKE> on acpi0
pci_link5: <ACPI PCI Link LNKF> on acpi0
pci_link6: <ACPI PCI Link LNK0> on acpi0
pci_link7: <ACPI PCI Link LNK1> on acpi0
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0
cpu0: <ACPI CPU> on acpi0
acpi_button0: <Power Button> on acpi0
acpi_button1: <Sleep Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
agp0: <VIA 8235/8237 (Apollo KM400/KM400A) host to PCI bridge> mem 0xe7000000-0x
e73fffff at device 0.0 on pci0
pcib1: <PCI-PCI bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <display, VGA> at device 0.0 (no driver attached)
fxp0: <Intel 82550 Pro/100 Ethernet> port 0xd000-0xd03f mem 0xe7420000-0xe7420ff
f,0xe7400000-0xe741ffff irq 10 at device 8.0 on pci0
miibus0: <MII bus> on fxp0
inphy0: <i82555 10/100 media interface> on miibus0
inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp0: Ethernet address: 00:0e:0c:6b:ea:46
fxp0: [GIANT-LOCKED]
isab0: <PCI-ISA bridge> at device 17.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 8235 UDMA133 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,
0xe000-0xe00f at device 17.1 on pci0
ata0: <ATA channel 0> on atapci0
ata1: <ATA channel 1> on atapci0
acpi_tz0: <Thermal Zone> on acpi0
malloc(M_WAITOK) of "PROC", forcing M_NOWAIT with the following non-sleepable lo
cks held:
exclusive sleep mutex ACPI thermal zone r = 0 (0xc0859d20) locked @ /usr/src/sys
/modules/acpi/acpi/../../../dev/acpica/acpi_thermal.c:1023
KDB: stack backtrace:
kdb_backtrace(1,c1a406d4,c1042000,0,c0c20ba0) at kdb_backtrace+0x29
witness_warn(5,0,c06ae269,c06938e6,c1a406d4) at witness_warn+0x18e
uma_zalloc_arg(c1042000,0,2) at uma_zalloc_arg+0x41
fork1(c06fb400,60034,0,c0c20bf4) at fork1+0x106
kthread_create(c08453bc,c1a40600,c1a406d4,40000,0) at kthread_create+0x3d
acpi_tz_cooling_thread_start(c1a40600,307a74,c0858558,c197e7e0,c1a68100) at acpi
_tz_cooling_thread_start+0x66
acpi_tz_attach(c1a68100) at acpi_tz_attach+0x408
device_attach(c1a68100,c1a68400,c1a68100,c1a3f180,0) at device_attach+0x58
device_probe_and_attach(c1a68100) at device_probe_and_attach+0xe0
bus_generic_attach(c1a3f200,1,c0c20cd8,c083c2bc,c1a3f200) at bus_generic_attach+
0x16
acpi_probe_children(c1a3f200,404f398,c1a3f200,c1a3f200,0) at acpi_probe_children
+0x2f
acpi_attach(c1a3f200) at acpi_attach+0x514
device_attach(c1a3f200,c0857960,c1a3f200,c19bf080,0) at device_attach+0x58
device_probe_and_attach(c1a3f200) at device_probe_and_attach+0xe0
bus_generic_attach(c19bf080,c19bf080,c19bf080,c0c20d40,c0511070) at bus_generic_
attach+0x16
nexus_attach(c19bf080) at nexus_attach+0x13
device_attach(c19bf080,c197185c,c19bf080,c06e6ff0,c28000) at device_attach+0x58
device_probe_and_attach(c19bf080) at device_probe_and_attach+0xe0
root_bus_configure(c0c20d88,c04d4aea,0,c1ec00,c1e000) at root_bus_configure+0x16
configure(0,c1ec00,c1e000,0,c0432d95) at configure+0x9
mi_startup() at mi_startup+0x96
begin() at begin+0x2c
lock order reversal
  1st 0xc0859d20 ACPI thermal zone (ACPI thermal zone) @ /usr/src/sys/modules/acp
i/acpi/../../../dev/acpica/acpi_thermal.c:1023
  2nd 0xc06fd440 proctree (proctree) @ kern/kern_fork.c:277
KDB: stack backtrace:
kdb_backtrace(0,ffffffff,c0712138,c0712f98,c06d59ac) at kdb_backtrace+0x29
witness_checkorder(c06fd440,1,c069187b,115) at witness_checkorder+0x564
_sx_slock(c06fd440,c0691872,115,c1a3a3c0,c1a3a274,0,0,0) at _sx_slock+0x50
fork1(c06fb400,60034,0,c0c20bf4) at fork1+0x135
kthread_create(c08453bc,c1a40600,c1a406d4,40000,0) at kthread_create+0x3d
acpi_tz_cooling_thread_start(c1a40600,307a74,c0858558,c197e7e0,c1a68100) at acpi
_tz_cooling_thread_start+0x66
acpi_tz_attach(c1a68100) at acpi_tz_attach+0x408
device_attach(c1a68100,c1a68400,c1a68100,c1a3f180,0) at device_attach+0x58
device_probe_and_attach(c1a68100) at device_probe_and_attach+0xe0
bus_generic_attach(c1a3f200,1,c0c20cd8,c083c2bc,c1a3f200) at bus_generic_attach+
0x16
acpi_probe_children(c1a3f200,404f398,c1a3f200,c1a3f200,0) at acpi_probe_children
+0x2f
acpi_attach(c1a3f200) at acpi_attach+0x514
device_attach(c1a3f200,c0857960,c1a3f200,c19bf080,0) at device_attach+0x58
device_probe_and_attach(c1a3f200) at device_probe_and_attach+0xe0
bus_generic_attach(c19bf080,c19bf080,c19bf080,c0c20d40,c0511070) at bus_generic_
attach+0x16
nexus_attach(c19bf080) at nexus_attach+0x13
device_attach(c19bf080,c197185c,c19bf080,c06e6ff0,c28000) at device_attach+0x58
device_probe_and_attach(c19bf080) at device_probe_and_attach+0xe0
root_bus_configure(c0c20d88,c04d4aea,0,c1ec00,c1e000) at root_bus_configure+0x16
configure(0,c1ec00,c1e000,0,c0432d95) at configure+0x9
mi_startup() at mi_startup+0x96
begin() at begin+0x2c
malloc(M_WAITOK) of "4096", forcing M_NOWAIT with the following non-sleepable lo
cks held:
exclusive sleep mutex ACPI thermal zone r = 0 (0xc0859d20) locked @ /usr/src/sys
/modules/acpi/acpi/../../../dev/acpica/acpi_thermal.c:1023
KDB: stack backtrace:
kdb_backtrace(1,ad0,c104ab40,8,c0c20b70) at kdb_backtrace+0x29
witness_warn(5,0,c06ae269,c0692706,ad0) at witness_warn+0x18e
uma_zalloc_arg(c104ab40,0,102) at uma_zalloc_arg+0x41
malloc(acc,c06d47c0,102,24,c0c20bdc) at malloc+0xae
sigacts_alloc(c0c20bf4,c051e423,1,0,c051ddf8) at sigacts_alloc+0x18
fork1(c06fb400,60034,0,c0c20bf4) at fork1+0x48d
kthread_create(c08453bc,c1a40600,c1a406d4,40000,0) at kthread_create+0x3d
acpi_tz_cooling_thread_start(c1a40600,307a74,c0858558,c197e7e0,c1a68100) at acpi
_tz_cooling_thread_start+0x66
acpi_tz_attach(c1a68100) at acpi_tz_attach+0x408
device_attach(c1a68100,c1a68400,c1a68100,c1a3f180,0) at device_attach+0x58
device_probe_and_attach(c1a68100) at device_probe_and_attach+0xe0
bus_generic_attach(c1a3f200,1,c0c20cd8,c083c2bc,c1a3f200) at bus_generic_attach+
0x16
acpi_probe_children(c1a3f200,404f398,c1a3f200,c1a3f200,0) at acpi_probe_children
+0x2f
acpi_attach(c1a3f200) at acpi_attach+0x514
device_attach(c1a3f200,c0857960,c1a3f200,c19bf080,0) at device_attach+0x58
device_probe_and_attach(c1a3f200) at device_probe_and_attach+0xe0
bus_generic_attach(c19bf080,c19bf080,c19bf080,c0c20d40,c0511070) at bus_generic_
attach+0x16
nexus_attach(c19bf080) at nexus_attach+0x13
device_attach(c19bf080,c197185c,c19bf080,c06e6ff0,c28000) at device_attach+0x58
device_probe_and_attach(c19bf080) at device_probe_and_attach+0xe0
root_bus_configure(c0c20d88,c04d4aea,0,c1ec00,c1e000) at root_bus_configure+0x16
configure(0,c1ec00,c1e000,0,c0432d95) at configure+0x9
mi_startup() at mi_startup+0x96
begin() at begin+0x2c
malloc(M_WAITOK) of "256", forcing M_NOWAIT with the following non-sleepable loc
ks held:
exclusive sleep mutex ACPI thermal zone r = 0 (0xc0859d20) locked @ /usr/src/sys
/modules/acpi/acpi/../../../dev/acpica/acpi_thermal.c:1023
KDB: stack backtrace:
kdb_backtrace(1,d0,c104a3c0,4,c0c20b38) at kdb_backtrace+0x29
witness_warn(5,0,c06ae269,c0698bee,d0) at witness_warn+0x18e
uma_zalloc_arg(c104a3c0,0,102) at uma_zalloc_arg+0x41
malloc(cc,c06d1600,102,c04f44ec,24) at malloc+0xae
fdinit(c1985400,c1a42aa8,c0694670,0,0) at fdinit+0x20
fdcopy(c1985400,c0c20bf4,c051e423,1,c1a42000) at fdcopy+0x20
fork1(c06fb400,60034,0,c0c20bf4) at fork1+0x4c6
kthread_create(c08453bc,c1a40600,c1a406d4,40000,0) at kthread_create+0x3d
acpi_tz_cooling_thread_start(c1a40600,307a74,c0858558,c197e7e0,c1a68100) at acpi
_tz_cooling_thread_start+0x66
acpi_tz_attach(c1a68100) at acpi_tz_attach+0x408
device_attach(c1a68100,c1a68400,c1a68100,c1a3f180,0) at device_attach+0x58
device_probe_and_attach(c1a68100) at device_probe_and_attach+0xe0
bus_generic_attach(c1a3f200,1,c0c20cd8,c083c2bc,c1a3f200) at bus_generic_attach+
0x16
acpi_probe_children(c1a3f200,404f398,c1a3f200,c1a3f200,0) at acpi_probe_children
+0x2f
acpi_attach(c1a3f200) at acpi_attach+0x514
device_attach(c1a3f200,c0857960,c1a3f200,c19bf080,0) at device_attach+0x58
device_probe_and_attach(c1a3f200) at device_probe_and_attach+0xe0
bus_generic_attach(c19bf080,c19bf080,c19bf080,c0c20d40,c0511070) at bus_generic_
attach+0x16
nexus_attach(c19bf080) at nexus_attach+0x13
device_attach(c19bf080,c197185c,c19bf080,c06e6ff0,c28000) at device_attach+0x58
device_probe_and_attach(c19bf080) at device_probe_and_attach+0xe0
root_bus_configure(c0c20d88,c04d4aea,0,c1ec00,c1e000) at root_bus_configure+0x16
configure(0,c1ec00,c1e000,0,c0432d95) at configure+0x9
mi_startup() at mi_startup+0x96
begin() at begin+0x2c
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
pmtimer0 on isa0
orm0: <ISA Option ROM> at iomem 0xc8000-0xc97ff pnpid ORM0000 on isa0
ppc0: parallel port not found.
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0: configured irq 4 not in bitmap of probed irqs 0
sio0: port may not be enabled
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 8250 or not responding
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounter "TSC" frequency 1826313667 Hz quality 800
Timecounters tick every 1.000 msec
IPsec: Initialized Security Association Processing.
ipfw2 (+ipv6) initialized, divert loadable, rule-based forwarding disabled, defa
ult to deny, logging unlimited
ad0: DMA limited to UDMA33, device found non-ATA66 cable
ad0: 39266MB <HDS722540VLAT20 V31OA6EA> at ata0-master UDMA33
ad0: DMA limited to UDMA33, device found non-ATA66 cable
ad0: 39266MB <HDS722540VLAT20 V31OA6EA> at ata0-master UDMA33
ad2: 39266MB <HDS722540VLAT20 V31OA6EA> at ata1-master UDMA100
ATA PseudoRAID loaded
Trying to mount root from ufs:/dev/ad0s1a
WARNING: /usr was not properly dismounted
WARNING: /var was not properly dismounted
WARNING: /var/tmp was not properly dismounted
fxp0: Microcode loaded, int_delay: 1000 usec  bundle_max: 6
fxp0: Microcode loaded, int_delay: 1000 usec  bundle_max: 6
fxp0: Microcode loaded, int_delay: 1000 usec  bundle_max: 6
fxp0: Microcode loaded, int_delay: 1000 usec  bundle_max: 6
fxp0: Microcode loaded, int_delay: 1000 usec  bundle_max: 6
fxp0: Microcode loaded, int_delay: 1000 usec  bundle_max: 6
Accounting enabled

The kernel config looks like
machine		i386
cpu		I586_CPU
cpu		I686_CPU
ident		CITADEL

makeoptions	DEBUG=-g

options 	SCHED_ULE		# ULE scheduler
options 	INET			# InterNETworking
options 	INET6			# IPv6 communications protocols
options 	FFS			# Berkeley Fast Filesystem
options 	SOFTUPDATES		# Enable FFS soft updates support
options 	UFS_ACL			# Support for access control lists
options 	UFS_DIRHASH		# Improve performance on big directories
options 	PROCFS			# Process filesystem (requires PSEUDOFS)
options 	PSEUDOFS		# Pseudo-filesystem framework
options 	GEOM_GPT		# GUID Partition Tables.
options 	COMPAT_43		# Compatible with BSD 4.3 [KEEP THIS!]
options 	COMPAT_FREEBSD4		# Compatible with FreeBSD4
options 	SCSI_DELAY=15000	# Delay (in ms) before probing SCSI
options 	KTRACE			# ktrace(1) support
options 	SYSVSHM			# SYSV-style shared memory
options 	SYSVMSG			# SYSV-style message queues
options 	SYSVSEM			# SYSV-style semaphores
options 	_KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
options 	ADAPTIVE_GIANT		# Giant mutex is adaptive.

options		SMP
device		apic		# I/O APIC

# Bus support.  Do not remove isa, even if you have no isa slots
device		isa
device		pci

# Floppy drives
device		fdc

# ATA and ATAPI devices
device		ata
device		atadisk		# ATA disk drives
device		ataraid		# ATA RAID drives
device		atapicd		# ATAPI CDROM drives
device		atapifd		# ATAPI floppy drives
device		atapist		# ATAPI tape drives
options 	ATA_STATIC_ID	# Static device numbering

# SCSI peripherals
device		scbus		# SCSI bus (required for SCSI)
device		ch		# SCSI media changers
device		da		# Direct Access (disks)
device		sa		# Sequential Access (tape etc)
device		cd		# CD
device		pass		# Passthrough device (direct SCSI access)
device		ses		# SCSI Environmental Services (and SAF-TE)

# atkbdc0 controls both the keyboard and the PS/2 mouse
device		atkbdc		# AT keyboard controller
device		atkbd		# AT keyboard
device		psm		# PS/2 mouse

device		vga		# VGA video card driver

device		splash		# Splash screen and screen saver support

# syscons is the default console driver, resembling an SCO console
device		sc

device		agp		# support several AGP chipsets

# Floating point support - do not disable.
device		npx

# Add suspend/resume support for the i8254.
device		pmtimer

# Serial (COM) ports
device		sio		# 8250, 16[45]50 based serial ports

# Parallel port
device		ppc
device		ppbus		# Parallel port bus (required)
device		lpt		# Printer
device		plip		# TCP/IP over parallel
device		ppi		# Parallel port interface device
#device		vpo		# Requires scbus and da


# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device		miibus		# MII bus support
device		fxp		# Intel EtherExpress PRO/100B (82557, 82558)

# Pseudo devices.
device		loop		# Network loopback
device		mem		# Memory and kernel memory devices
device		io		# I/O device
device		random		# Entropy device
device		ether		# Ethernet support
device		sl		# Kernel SLIP
device		ppp		# Kernel PPP
device		tun		# Packet tunnel.
device		pty		# Pseudo-ttys (telnet etc)
device		md		# Memory "disks"
device		gif		# IPv6 and IPv4 tunneling
device		faith		# IPv6-to-IPv4 relaying (translation)

# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
device		bpf		# Berkeley packet filter
device		snp		# Snoop device

# USB support
device		uhci		# UHCI PCI->USB interface
device		ohci		# OHCI PCI->USB interface
device		usb		# USB Bus (required)
#device		udbp		# USB Double Bulk Pipe devices
device		ugen		# Generic
device		uhid		# "Human Interface Devices"
device		ukbd		# Keyboard
device		ulpt		# Printer
device		umass		# Disks/Mass storage - Requires scbus and da
device		ums		# Mouse
device		urio		# Diamond Rio 500 MP3 player
device		uscanner	# Scanners
# USB Ethernet, requires mii
device		aue		# ADMtek USB Ethernet
device		axe		# ASIX Electronics USB Ethernet
device		cue		# CATC USB Ethernet
device		kue		# Kawasaki LSI USB Ethernet
device		rue		# RealTek RTL8150 USB Ethernet

# FireWire support
device		firewire	# FireWire bus code
device		sbp		# SCSI over FireWire (Requires scbus and da)
device		fwe		# Ethernet over FireWire (non-standard!)

options         QUOTA
options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPDIVERT
options         DUMMYNET
options		IPSEC
options		IPSEC_ESP
options		IPSEC_DEBUG
# Debugging for use in -current
options         KDB
options         DDB
options         GDB
options         INVARIANTS
options         INVARIANT_SUPPORT
options         WITNESS
options         WITNESS_SKIPSPIN
# This allows you to actually store this configuration file into
# the kernel binary itself, where it may be later read by saying:
#    strings -n 3 /kernel | sed -n 's/^___//p' > MYKERNEL
#
options		INCLUDE_CONFIG_FILE     # Include this file in kernel

Any assistance would be greatly appreciated. Thanks!

Khetan Gajjar.
--
khetan at os.org.za
+27 82 885 4047


More information about the freebsd-current mailing list