Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Nov 2005 21:41:01 +0200
From:      Ion-Mihai Tetcu <itetcu@people.tecnik93.com>
To:        freebsd-multimedia@freebsd.org, stable@freebsd.org
Subject:   [backtrace] (snd_solo) mtx_lock_sleep: recursed on non-recursive mutex
Message-ID:  <20051130214101.05e5d0b0@it.buh.tecnik93.com>

next in thread | raw e-mail | index | archive | help
Hi,


In my quest to find an other sound card that works with skype, I
salvaged an ESS Solo-1 (ES1938S H209). Trying to play anything through
it results from "pcm channel dead" to hard freezes and ,the last time I
got the panic bellow. Any chance to make it work or should I keep
searching ?


FreeBSD it.buh.tecnik93.com 6.0-STABLE FreeBSD 6.0-STABLE #4: Wed Nov 16 15=
:38:12 EET 2005

Unread portion of the kernel message buffer:
panic: _mtx_lock_sleep: recursed on non-recursive mutex pcm0 @ /usr/src/sys=
/modules/sound/sound/../../../dev/sound/pcm/sound.c:381

KDB: stack backtrace:
panic(c066692c,c2e194b0,c07eac3f,17d,c2e1f4c0) at panic+0x13a
_mtx_lock_sleep(c2e1f4c0,c2d08000,0,c07eac3f,17d) at _mtx_lock_sleep+0x131
_mtx_lock_flags(c2e1f4c0,0,c07eac3f,17d,0) at _mtx_lock_flags+0xae
pcm_chn_create(c2d99200,c26b1d80,c07eeac4,2,c26b1d80) at pcm_chn_create+0xb5
vchan_create(c26b1d80,8,c07eac3f,bf,3cb) at vchan_create+0x79
pcm_chnalloc(c2d99200,1,3cb,ffffffff,0) at pcm_chnalloc+0x10c
dsp_open(c2737e00,6,2000,c2d08000,0) at dsp_open+0x20b
giant_open(c2737e00,6,2000,c2d08000,c2737e00) at giant_open+0x4f
devfs_open(ef80ba50,ef80bd04,6) at devfs_open+0x251
VOP_OPEN_APV(c0690540,ef80ba50,c0670b57,ef80ba60,0) at VOP_OPEN_APV+0x73
vn_open_cred(ef80bbc0,ef80bcc0,0,c2d2cb00,3) at vn_open_cred+0x359
vn_open(ef80bbc0,ef80bcc0,0,3,c0679b06) at vn_open+0x33
kern_open(c2d08000,280b99f6,0,6,0) at kern_open+0xd4
open(c2d08000,ef80bd04,c,418,3) at open+0x36
syscall(3b,3b,3b,1021,280b99f6) at syscall+0x13d
Xint0x80_syscall() at Xint0x80_syscall+0x1f
--- syscall (5, FreeBSD ELF32, open), eip =3D 0x2819a3f7, esp =3D 0xbfbfe9e=
c, ebp =3D 0xbfbfea18 ---
KDB: enter: panic
Dumping 1023 MB (2 chunks)
  chunk 0: 1MB (159 pages) ... ok
  chunk 1: 1023MB (261872 pages) 1007 991 975 959 943 927 911 895 879 863 8=
47 831 815 799 783 767 751 735 719 703 687 671 655 639 623 607 591 575 559 =
543 527 511 495 479 463 447 431 415 399 383 367 351 335 319 303 287 271 255=
 239 223 207 191 175 159 143 127 111 95 79 63 47 31 15

#0  doadump () at pcpu.h:165
165     pcpu.h: No such file or directory.
        in pcpu.h
(kgdb) bt
#0  doadump () at pcpu.h:165
#1  0xc04444d7 in db_fncall (dummy1=3D-276777220, dummy2=3D0, dummy3=3D16, =
dummy4=3D0xef80b6f4 "=D0=DDa=C0\237tf=C0\017=F6g=C0")
    at /usr/src/sys/ddb/db_command.c:492
#2  0xc0444970 in db_command_loop () at /usr/src/sys/ddb/db_command.c:350
#3  0xc0446794 in db_trap (type=3D3, code=3D0) at /usr/src/sys/ddb/db_main.=
c:221
#4  0xc04f4312 in kdb_trap (type=3D0, code=3D0, tf=3D0xef80b828) at /usr/sr=
c/sys/kern/subr_kdb.c:473
#5  0xc0632697 in trap (frame=3D
      {tf_fs =3D 8, tf_es =3D 40, tf_ds =3D 40, tf_edi =3D 256, tf_esi =3D =
1, tf_ebp =3D -276776848, tf_isp =3D -276776876, tf_ebx =3D 1, tf_edx =3D 0=
, tf_ecx =3D -1066685504, tf_eax =3D 18, tf_trapno =3D 3, tf_err =3D 0, tf_=
eip =3D -1068548478, tf_cs =3D 32, tf_eflags =3D 646, tf_esp =3D -106701900=
2, tf_ss =3D -1067027503}) at /usr/src/sys/i386/i386/trap.c:591
#6  0xc06201ca in calltrap () at /usr/src/sys/i386/i386/exception.s:139
#7  0xc04f3e82 in kdb_enter (msg=3D0x12 <Address 0x12 out of bounds>) at cp=
ufunc.h:60
#8  0xc04d785c in panic (fmt=3D0x1 <Address 0x1 out of bounds>) at /usr/src=
/sys/kern/kern_shutdown.c:539
#9  0xc04ce231 in _mtx_lock_sleep (m=3D0xc2e1f4c0, tid=3D3268444160, opts=
=3D0, file=3D0x0, line=3D0) at /usr/src/sys/kern/kern_mutex.c:490
#10 0xc04ce2ee in _mtx_lock_flags (m=3D0xc2e1f4c0, opts=3D8,
    file=3D0xc07eac3f "/usr/src/sys/modules/sound/sound/../../../dev/sound/=
pcm/sound.c", line=3D381) at /usr/src/sys/kern/kern_mutex.c:276
#11 0xc07e7425 in ?? ()
#12 0xc2e1f4c0 in ?? ()
.........
---Type <return> to continue, or q <return> to quit---q
Quit
(kgdb) l *0xc04ce2ee
0xc04ce2ee is in _mtx_lock_flags (/usr/src/sys/kern/kern_mutex.c:279).
274             WITNESS_CHECKORDER(&m->mtx_object, opts | LOP_NEWORDER | LO=
P_EXCLUSIVE,
275                 file, line);
276             _get_sleep_lock(m, curthread, opts, file, line);
277             LOCK_LOG_LOCK("LOCK", &m->mtx_object, opts, m->mtx_recurse,=
 file,
278                 line);
279             WITNESS_LOCK(&m->mtx_object, opts | LOP_EXCLUSIVE, file, li=
ne);
280     #ifdef MUTEX_PROFILING
281             /* don't reset the timer when/if recursing */
282             if (m->mtx_acqtime =3D=3D 0) {
283                     m->mtx_filename =3D file;


Thanks,

--=20
IOnut - Unregistered ;) FreeBSD "user"
  "Intellectual Property" is   nowhere near as valuable   as "Intellect"

BOFH excuse #379:
We've picked COBOL as the language of choice





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