NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/46361: Crash during close of uaudio device



>Number:         46361
>Category:       kern
>Synopsis:       Crash during close of uaudio device
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Apr 20 18:25:00 +0000 2012
>Originator:     Tom Ivar Helbekkmo
>Release:        NetBSD 6.99.4
>Organization:
>Environment:
System: NetBSD athene.hamartun.priv.no 6.99.4 NetBSD 6.99.4 (ATHENE) #45: Sat 
Apr 14 21:53:38 CEST 2012 
root%athene.hamartun.priv.no@localhost:/usr/obj/sys/arch/i386/compile.i386/ATHENE
 i386
Architecture: i386
Machine: i386
>Description:

I've been using this device to drive my speakers and headphones:

uaudio0 at uhub3 port 2 configuration 1 interface 0
uaudio0: Burr-Brown from TI USB Audio CODEC, rev 1.10/1.00, addr 2
uaudio0: audio rev 1.00
audio1 at uaudio0: full duplex, playback, capture, independent

It's actually a Behringer UCA222, an inexpensive USB "sound card".

After updating i386-current on my dual-processor i386 machine to a
version pulled with cvs on April 10th, it started crashing after
playing music through the device.  My previous update was probably
toward the end of March, but I am, unfortunately, not sure.

The crash seems to be a "mutex held during context switch" issue,
triggered during the closing of the uaudio device.  Here's what
happens when I press "q" to quit a running mplayer (typed in on
another machine while reading the screen of the one that crashed):

panic: kernel diagnostic assertion "ci->ci_mtx_count == -1" failed: file 
"/usr/src/sys/kern/kern_synch.c", line 688 mi_switch: cpu1: ci_mtx_count (0) != 
-1
fatal breakpoint trap in supervisor mode
trap type 1 code 0 eip c026aa94 cs 8 eflags 200286 cr2 84e8260 ilevel 7
Stopped in pid 18988.1 (mplayer) at     netbsd:breakpoint+0x4:  popl    %ebp
db{1}> bt
breakpoint(...
vpanic(...
mi_switch(...
sleepq_block(...
usb_delay_ms(...
uhci_device_isoc_close(...
usbd_close_pipe(...
uaudio_chan_close(...
uaudio_halt_out_dma(...
audio_clear(...
audio_ioctl(...
audioioctl(...
spec_ioctl(...
VOP_IOCTL(...
vn_ioctl(...
sys_ioctl(...
syscall(...

The same machine happily plays (and stops playing) music over its
built-in audio device:

hdaudio0 at pci0 dev 27 function 0: HD Audio Controller
hdaudio0: interrupting at ioapic0 pin 22
hdafg0 at hdaudio0: ADI AD1988A
hdafg0: DAC00 8ch: Speaker [Jack]
hdafg0: ADC01 2ch: CD [Built-In], Line In [Jack], Mic In [Jack]
hdafg0: DAC02 2ch: HP Out [Jack]
hdafg0: DIG04 2ch: SPDIF Out [Jack]
hdafg0: 8ch/2ch 8000Hz 11025Hz 16000Hz 22050Hz 32000Hz 44100Hz 48000Hz 88200Hz 
96000Hz 192000Hz PCM16 PCM20 PCM24 AC3
audio0 at hdafg0: full duplex, playback, capture, independent

>How-To-Repeat:

Attach a uaudio device (aka "USB sound card").  Play something through
it.  When the player terminates, closing the device, the system will crash.

>Fix:

None known.



Home | Main Index | Thread Index | Old Index