_mtx_lock_sleep: recursed on non-recursive mutex pcm0 (envy24)

Stefan Ehmann shoesoft at gmx.net
Sat Oct 18 08:44:52 UTC 2008


I think this problem occurs in some cases if multiple playback channels are 
active at the same time. Note that I don't use vchans but the playback 
channels provided by envy24.

$ uname -a
FreeBSD taxman.pepperland 7.1-PRERELEASE FreeBSD 7.1-PRERELEASE #64: Fri Oct 
17 11:04:45 CEST 2008     stefan at taxman.pepperland:/usr/obj/usr/src/sys/TAXMAN  

Here's the backtrace:

Unread portion of the kernel message buffer:
panic: _mtx_lock_sleep: recursed on non-recursive mutex pcm0 @ 

#0  doadump () at pcpu.h:196
	in pcpu.h
(kgdb) bt
#0  doadump () at pcpu.h:196
#1  0xc045acf9 in db_fncall (dummy1=1, dummy2=0, dummy3=-1064525632, 
dummy4=0xe475aa28 "\200¨3Ä") at /usr/src/sys/ddb/db_command.c:516
#2  0xc045b27c in db_command (last_cmdp=0xc0844ad4, cmd_table=0x0, dopager=1) 
at /usr/src/sys/ddb/db_command.c:413
#3  0xc045b38a in db_command_loop () at /usr/src/sys/ddb/db_command.c:466
#4  0xc045cb7d in db_trap (type=3, code=0) at /usr/src/sys/ddb/db_main.c:228
#5  0xc05865f6 in kdb_trap (type=3, code=0, tf=0xe475abd0) at 
#6  0xc079572f in trap (frame=0xe475abd0) at /usr/src/sys/i386/i386/trap.c:688
#7  0xc077b9db in calltrap () at /usr/src/sys/i386/i386/exception.s:159
#8  0xc058677a in kdb_enter_why (why=0xc07d2a12 "panic", msg=0xc07d2a12 
"panic") at cpufunc.h:60
#9  0xc055b7e6 in panic (fmt=0xc07d1776 "_mtx_lock_sleep: recursed on non-
recursive mutex %s @ %s:%d\n") at /usr/src/sys/kern/kern_shutdown.c:557
#10 0xc054ec7a in _mtx_lock_sleep (m=0xc442ecc0, tid=3292586544, opts=0, 
line=2044) at /usr/src/sys/kern/kern_mutex.c:314
#11 0xc054eecf in _mtx_lock_flags (m=0xc442ecc0, opts=0, file=0xc09a4d64 
line=2044) at /usr/src/sys/kern/kern_mutex.c:186
#12 0xc09a3140 in envy24_intr (p=0xc4442800) at 
#13 0xc053c775 in ithread_loop (arg=0xc44445e0) at 
#14 0xc0539b08 in fork_exit (callout=0xc053c5b0 <ithread_loop>, 
arg=0xc44445e0, frame=0xe475ad38) at /usr/src/sys/kern/kern_fork.c:804
#15 0xc077ba50 in fork_trampoline () at /usr/src/sys/i386/i386/exception.s:264

More information about the freebsd-multimedia mailing list