Re: snd_uaudio: Fatal trap 12: page fault while in kernel mode

From: Hans Petter Selasky <hselasky_at_c2i.net>
Date: Sat, 15 Aug 2009 18:21:32 +0200
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:
>
> fk_at_r500 /usr/crash $kgdb /boot/kernel/kernel.symbols vmcore.0
> GNU gdb 6.1.1 [FreeBSD]
> Copyright 2004 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you
> are welcome to change it and/or distribute copies of it under certain
> conditions. Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for details.
> This GDB was configured as "amd64-marcel-freebsd"...
>
> Unread portion of the kernel message buffer:
>
> cpuid = 0; apic id = 00
> fault virtual address   = 0x20
> fault code              = supervisor read data, page not present
> instruction pointer     = 0x20:0xffffffff803f31c1
> stack pointer           = 0x28:0xffffff803a393440
> frame pointer           = 0x28:0xffffff803a393460
> code segment            = base 0x0, limit 0xfffff, type 0x1b
>                         = DPL 0, pres 1, long 1, def32 0, gran 1
> processor eflags        = resume, IOPL = 0
> current process         = 36 (usbus4)
> panic: from debugger
> cpuid = 0
> Uptime: 2m12s
> Dumping 1992 MB (5 chunks)
>   chunk 0: 1MB (155 pages) ... ok
>   chunk 1: 1990MB (509345 pages) 1974 1958 1942 1926 1910 1894 [...]... ok
>   chunk 2: 2MB (273 pages) ... ok
>   chunk 3: 1MB (184 pages)
>
> Reading symbols from /boot/kernel/zfs.ko...Reading symbols from
> /boot/kernel/zfs.ko.symbols...done. done.
> [...]
> done.
> Loaded symbols for /boot/kernel/snd_uaudio.ko
> #0  doadump () at pcpu.h:223
> 223     pcpu.h: No such file or directory.
>         in pcpu.h
> (kgdb) where
> #0  doadump () at pcpu.h:223
> #1  0xffffffff803bb25d in boot (howto=260) at
> /usr/src/sys/kern/kern_shutdown.c:419 #2  0xffffffff803bb64c in panic
> (fmt=Variable "fmt" is not available. ) at
> /usr/src/sys/kern/kern_shutdown.c:575
> #3  0xffffffff801eddf7 in db_panic (addr=Variable "addr" is not available.
> ) at /usr/src/sys/ddb/db_command.c:478
> #4  0xffffffff801ee201 in db_command (last_cmdp=0xffffffff8081d240,
> cmd_table=Variable "cmd_table" is not available. ) at
> /usr/src/sys/ddb/db_command.c:445
> #5  0xffffffff801ee450 in db_command_loop () at
> /usr/src/sys/ddb/db_command.c:498 #6  0xffffffff801f03a9 in db_trap
> (type=Variable "type" is not available. ) at /usr/src/sys/ddb/db_main.c:229
> #7  0xffffffff803e6935 in kdb_trap (type=12, code=0, tf=0xffffff803a393390)
> at /usr/src/sys/kern/subr_kdb.c:534 #8  0xffffffff805ac48d in trap_fatal
> (frame=0xffffff803a393390, eva=Variable "eva" is not available. ) at
> /usr/src/sys/amd64/amd64/trap.c:847
> #9  0xffffffff805ad04e in trap (frame=0xffffff803a393390) 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=0x0, queue=0) at
> /usr/src/sys/kern/subr_turnstile.c:831 #12 0xffffffff803aee70 in
> _mtx_unlock_sleep (m=0xffffffff81e37120, opts=Variable "opts" is not
> available. ) at /usr/src/sys/kern/kern_mutex.c:677
> #13 0xffffffff80331d4f in usbd_do_request_flags (udev=0xffffff003fcfe000,
> mtx=0xffffffff81e37120, req=0xffffff803a393550, data=0xffffff803a393560,
> flags=0, actlen=0x0, timeout=5000) at
> /usr/src/sys/dev/usb/usb_request.c:312
> #14 0xffffffff824272e2 in uaudio_mixer_get (udev=Variable "udev" is not
> available. ) at
> /usr/src/sys/modules/sound/driver/uaudio/../../../../dev/sound/usb/uaudio.c
>:2961 #15 0xffffffff8242741a in uaudio_mixer_add_ctl (sc=0xffffff003f3c3000,
> mc=0xffffff803a3938a0) at
> /usr/src/sys/modules/sound/driver/uaudio/../../../../dev/sound/usb/uaudio.c
>:1604 #16 0xffffffff82429165 in uaudio_attach (dev=0xffffff003f723400) at
> /usr/src/sys/modules/sound/driver/uaudio/../../../../dev/sound/usb/uaudio.c
>:1944 #17 0xffffffff803e1569 in device_attach (dev=0xffffff003f723400) at
> device_if.h:178 #18 0xffffffff80326941 in usb_probe_and_attach_sub
> (udev=0xffffff003fcfe000, uaa=0xffffff803a393ae0) at
> /usr/src/sys/dev/usb/usb_device.c:1146 #19 0xffffffff80326dfd in
> usb_probe_and_attach (udev=0xffffff003fcfe000, iface_index=Variable
> "iface_index" is not available. ) at /usr/src/sys/dev/usb/usb_device.c:1305
> #20 0xffffffff8032f7ca in uhub_explore (udev=0xffffff000380a000) at
> /usr/src/sys/dev/usb/usb_hub.c:238 #21 0xffffffff8031be61 in
> usb_bus_explore (pm=Variable "pm" is not available. ) at
> /usr/src/sys/dev/usb/controller/usb_controller.c:235
> #22 0xffffffff803319f0 in usb_process (arg=Variable "arg" is not available.
> ) at /usr/src/sys/dev/usb/usb_process.c:161
> #23 0xffffffff80398182 in fork_exit (callout=0xffffffff80331930
> <usb_process>, arg=0xffffff80002dee88, frame=0xffffff803a393c80) at
> /usr/src/sys/kern/kern_fork.c:838 #24 0xffffffff805948ce in fork_trampoline
> () at /usr/src/sys/amd64/amd64/exception.S:561 #25 0x0000000000000000 in ??
> ()
> #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_at_r500.local:/usr/obj/usr/src/sys/ZOEY  amd64 but also happens with a
> slightly older kernel on i386.
>
> Fabian


Hi,

This issue should have been solved, but it looks like not committed to 8-
current yet.

Try fetching latest uaudio.c from USB P4:

http://perforce.freebsd.org/chv.cgi?CH=167030
http://perforce.freebsd.org/chv.cgi?CH=167032

--HPS
Received on Sat Aug 15 2009 - 14:21:27 UTC

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