"Fatal trap" when unloading usb2_controller_ehci

Bruce Cran bruce at cran.org.uk
Sat Feb 7 16:17:05 PST 2009


Unloading usb2_controller_ehci is crashing FreeBSD on -CURRENT
from a few days ago, resulting in a "Fatal trap" that isn't immediately
fatal but ends up knocking out the rest of the system.

Shortly after issuing a kldunload, the kernel drops into DDB with:

Fatal trap 30: reserved (unknown) fault while in kernel mode
cpuid = 0; apic id = 00
instruction pointer = 0x8 : 0xffffffff804bc646
stack pointer       = 0x10: 0xfffffffe40023b70
frame pointer       = 0x10: 0xfffffffe40023b80
code segment        = base 0x0, limit 0xfffff, type 0x1b
processor eflags    = interrupt enabled, IOPL = 0
current process     = 11 (idle : cpu0)
[thread pid 11 tid 100004]
Stopped at acpi_cpu_c1+0x6 : leave

A backtrace just shows that the idle task was running at the time of
the trap.  Attempting to continue results in a load of "calcru: runtime
went backwards" messages followed by the ATA driver dying with:

WARNING - SETFEATURES SET TRANSFER MODE taskqueue timeout - completing
request directly

Then follows similar messages about SET_MULTI, ENABLE RCACHE,
ENABLE_WCACHE and WRITE_DMA48 etc.

-- 
Bruce Cran


More information about the freebsd-current mailing list