Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 21 Feb 2009 18:08:38 +0200
From:      Kostik Belousov <kostikbel@gmail.com>
To:        Alexander Motin <mav@freebsd.org>
Cc:        Christoph Mallon <christoph.mallon@gmx.de>, FreeBSD-Current <freebsd-current@freebsd.org>
Subject:   Re: Fatal trap 30: reserved (unknown) fault
Message-ID:  <20090221160838.GB41617@deviant.kiev.zoral.com.ua>
In-Reply-To: <49A023C6.5070401@FreeBSD.org>
References:  <49A00130.9070105@FreeBSD.org> <49A02152.8050209@gmx.de> <49A023C6.5070401@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--JyUo+2rKuw1VKSUr
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

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=
=20
> >>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=20
> >>example, snd_hda, which always worked fine before, or during ata=20
> >>channel detach/attach which also causes device destruction/creation.=20
> >>Backtrace of this state shows nothing interesting, for example idling=
=20
> >>in acpi_cpu_c1() or just DELAY().
> >>
> >>Does anybody knows, for whom is this fault "reserved" and what does it=
=20
> >>mean?
> >
> >Intel:
> >  20-31 -- Intel reserved. Do not use.
> >
> >This exception really should not happen. Maybe int 0x30 is executed, but=
=20
> >this should not be the case either.
>=20
> I have hit somewhere on web that traps may share vectors with interrupts=
=20
> and this may cause problems. Can't it be some mishandled IRQ? What will=
=20
> 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.

--JyUo+2rKuw1VKSUr
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (FreeBSD)

iEYEARECAAYFAkmgJwYACgkQC3+MBN1Mb4hMjwCg82qlHKbNrjxkASw2bfm8ZUFH
dRoAnjapQR9YvcZjInpdKxO8bj7wt3EI
=4lZc
-----END PGP SIGNATURE-----

--JyUo+2rKuw1VKSUr--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090221160838.GB41617>