Date: Mon, 9 Feb 2009 19:40:19 +0100 From: "Paul B. Mahol" <onemda@gmail.com> To: John Baldwin <jhb@freebsd.org> Cc: Bruce Cran <bruce@cran.org.uk>, freebsd-current@freebsd.org, Hans Petter Selasky <hselasky@c2i.net> Subject: Re: "Fatal trap" when unloading usb2_controller_ehci Message-ID: <3a142e750902091040l522ab605i13d0d5a56c292a6c@mail.gmail.com> In-Reply-To: <200902091144.03748.jhb@freebsd.org> References: <20090208001656.48a1a14d@gluon> <200902081026.22618.hselasky@c2i.net> <200902091144.03748.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2/9/09, John Baldwin <jhb@freebsd.org> wrote: > On Sunday 08 February 2009 4:26:20 am Hans Petter Selasky wrote: >> Hi, >> >> I don't think this is a USB problem. I rather think it has something to do >> >> with the IRQ handler. On my box the EHCI IRQ is shared with the IRQ of the >> >> graphics adapter, and when I unload the EHCI driver under X11 a couple of >> times X11 freezes. This does not happen on the console. > > Perhaps try reverting Jeff's per-CPU IDT changes to see if it is related to > that? It seems that the IDT handler was torn down, but that an APIC IRQ > wasn't masked or some such. I'm reporting similar problem with drm+X11+intel when zaping Xorg on SMP enabled kernel (core2 CPU) Panic happens in something like acpi_ec handler. I share John's opinion about *recent* per CPU IDT changes being source of problem. >> --HPS >> >> On Sunday 08 February 2009, Bruce Cran wrote: >> > 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. >> >> >> _______________________________________________ >> freebsd-current@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-current >> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" >> > > > > -- > John Baldwin > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" > -- Paul
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3a142e750902091040l522ab605i13d0d5a56c292a6c>