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>