Re: Fatal trap 30: reserved (unknown) fault

From: Kostik Belousov <kostikbel_at_gmail.com>
Date: Sat, 21 Feb 2009 18:08:38 +0200
On Sat, Feb 21, 2009 at 05:54:46PM +0200, Alexander Motin wrote:
> Christoph Mallon wrote:
> >Alexander Motin schrieb:
> >>About month ago after one of my amd64 8-CURRENT upgrade I have started 
> >>to see crashes with very strange message:
> >>Fatal trap 30: reserved (unknown) fault while in kernel mode
> >>
> >>Crash usually happens during some driver loading or unloading, for 
> >>example, snd_hda, which always worked fine before, or during ata 
> >>channel detach/attach which also causes device destruction/creation. 
> >>Backtrace of this state shows nothing interesting, for example idling 
> >>in acpi_cpu_c1() or just DELAY().
> >>
> >>Does anybody knows, for whom is this fault "reserved" and what does it 
> >>mean?
> >
> >Intel:
> >  20-31 -- Intel reserved. Do not use.
> >
> >This exception really should not happen. Maybe int 0x30 is executed, but 
> >this should not be the case either.
> 
> I have hit somewhere on web that traps may share vectors with interrupts 
> and this may cause problems. Can't it be some mishandled IRQ? What will 
> happen if some IRQ arrive after driver detach? How it will be handled?

30 is not CPU trap number, this is a freebsd trap number; see
i386/include/trap.h.

Actually, this is a crack from r187880. Trap 30 is reported when interrupt
is delivered for a vector that has no (non-default) handler installed.
Read apic_disable_vector() that sets irq handler for unhandled vector
to rsvd.

Received on Sat Feb 21 2009 - 15:08:44 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:42 UTC