Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 15 Aug 2009 19:00:36 +0200
From:      Fabian Keil <freebsd-listen@fabiankeil.de>
To:        Hans Petter Selasky <hselasky@c2i.net>
Cc:        freebsd-current@freebsd.org, alfred@freebsd.org
Subject:   Re: snd_uaudio: Fatal trap 12: page fault while in kernel mode
Message-ID:  <20090815190036.79ea2f73@r500.local>
In-Reply-To: <200908151821.33881.hselasky@c2i.net>
References:  <20090815174339.6317be31@r500.local> <200908151821.33881.hselasky@c2i.net>

next in thread | previous in thread | raw e-mail | index | archive | help
--Sig_/ii6/M/P9bx7VDM/8vQP+aKt
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

Hans Petter Selasky <hselasky@c2i.net> wrote:

> On Saturday 15 August 2009 17:43:39 Fabian Keil wrote:
> > I reproducible get the following panic less than a second after
> > inserting a Turtle Beach AudioAdvantage stick with the snd_uaudio
> > module loaded:

> > cpuid =3D 0; apic id =3D 00
> > fault virtual address   =3D 0x20
> > fault code              =3D supervisor read data, page not present
> > instruction pointer     =3D 0x20:0xffffffff803f31c1
> > stack pointer           =3D 0x28:0xffffff803a393440
> > frame pointer           =3D 0x28:0xffffff803a393460
> > code segment            =3D base 0x0, limit 0xfffff, type 0x1b
> >                         =3D DPL 0, pres 1, long 1, def32 0, gran 1
> > processor eflags        =3D resume, IOPL =3D 0
> > current process         =3D 36 (usbus4)
> > panic: from debugger
> > cpuid =3D 0
> > Uptime: 2m12s

> > #9  0xffffffff805ad04e in trap (frame=3D0xffffff803a393390) at
> > /usr/src/sys/amd64/amd64/trap.c:345 #10 0xffffffff805943f3 in calltrap =
()
> > at /usr/src/sys/amd64/amd64/exception.S:224 #11 0xffffffff803f31c1 in
> > turnstile_broadcast (ts=3D0x0, queue=3D0) at
> > /usr/src/sys/kern/subr_turnstile.c:831 #12 0xffffffff803aee70 in
> > _mtx_unlock_sleep (m=3D0xffffffff81e37120, opts=3DVariable "opts" is not
> > available. ) at /usr/src/sys/kern/kern_mutex.c:677
> > #13 0xffffffff80331d4f in usbd_do_request_flags (udev=3D0xffffff003fcfe=
000,
> > mtx=3D0xffffffff81e37120, req=3D0xffffff803a393550, data=3D0xffffff803a=
393560,
> > flags=3D0, actlen=3D0x0, timeout=3D5000) at
> > /usr/src/sys/dev/usb/usb_request.c:312
> > #14 0xffffffff824272e2 in uaudio_mixer_get (udev=3DVariable "udev" is n=
ot
> > available. ) at
> > /usr/src/sys/modules/sound/driver/uaudio/../../../../dev/sound/usb/uaud=
io.c
> >:2961 #15 0xffffffff8242741a in uaudio_mixer_add_ctl (sc=3D0xffffff003f3=
c3000,
> > mc=3D0xffffff803a3938a0) at
> > /usr/src/sys/modules/sound/driver/uaudio/../../../../dev/sound/usb/uaud=
io.c
> >:1604 #16 0xffffffff82429165 in uaudio_attach (dev=3D0xffffff003f723400)=
 at
> > /usr/src/sys/modules/sound/driver/uaudio/../../../../dev/sound/usb/uaud=
io.c
> >:1944 #17 0xffffffff803e1569 in device_attach (dev=3D0xffffff003f723400)=
 at
> > device_if.h:178 #18 0xffffffff80326941 in usb_probe_and_attach_sub
> > (udev=3D0xffffff003fcfe000, uaa=3D0xffffff803a393ae0) at
> > /usr/src/sys/dev/usb/usb_device.c:1146 #19 0xffffffff80326dfd in
> > usb_probe_and_attach (udev=3D0xffffff003fcfe000, iface_index=3DVariable
> > "iface_index" is not available. ) at /usr/src/sys/dev/usb/usb_device.c:=
1305
> > #20 0xffffffff8032f7ca in uhub_explore (udev=3D0xffffff000380a000) at
> > /usr/src/sys/dev/usb/usb_hub.c:238 #21 0xffffffff8031be61 in
> > usb_bus_explore (pm=3DVariable "pm" is not available. ) at
> > /usr/src/sys/dev/usb/controller/usb_controller.c:235
> > #22 0xffffffff803319f0 in usb_process (arg=3DVariable "arg" is not avai=
lable.
> > ) at /usr/src/sys/dev/usb/usb_process.c:161
> > #23 0xffffffff80398182 in fork_exit (callout=3D0xffffffff80331930
> > <usb_process>, arg=3D0xffffff80002dee88, frame=3D0xffffff803a393c80) at
> > /usr/src/sys/kern/kern_fork.c:838 #24 0xffffffff805948ce in fork_trampo=
line
> > () at /usr/src/sys/amd64/amd64/exception.S:561 #25 0x0000000000000000 i=
n ??
> > ()
> > #26 0x0000000000000000 in ?? ()
> > #27 0x0000000000000001 in ?? ()
> > #28 0x0000000000000000 in ?? ()
> >
> > This is on:
> > FreeBSD 8.0-BETA2 #3: Fri Aug 14 15:19:08 CEST 2009
> > fk@r500.local:/usr/obj/usr/src/sys/ZOEY  amd64 but also happens with a
> > slightly older kernel on i386.

> This issue should have been solved, but it looks like not committed to 8-
> current yet.
>=20
> Try fetching latest uaudio.c from USB P4:
>=20
> http://perforce.freebsd.org/chv.cgi?CH=3D167030
> http://perforce.freebsd.org/chv.cgi?CH=3D167032

Applying these changes indeed solved the problem and the stick is working n=
ow.

Thanks a lot.

Fabian

--Sig_/ii6/M/P9bx7VDM/8vQP+aKt
Content-Type: application/pgp-signature; name=signature.asc
Content-Disposition: attachment; filename=signature.asc

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.12 (FreeBSD)

iEYEARECAAYFAkqG6boACgkQBYqIVf93VJ097QCgmzqRJiV+UW+TqecN4higAt2e
y14An1R93DHQl8dBIEQBT5oDdaW79Lbp
=7Cm2
-----END PGP SIGNATURE-----

--Sig_/ii6/M/P9bx7VDM/8vQP+aKt--



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