LOR in sound subsystem

From: Gordon Tetlow <gordont_at_gnf.org>
Date: Mon, 11 Aug 2003 14:19:29 -0700
From yesterday's build, 2 different LORs:

acquiring duplicate lock of same type: "pcm channel"
 1st pcm0:record:0 _at_ /local/usr.src/sys/dev/sound/pcm/sound.c:191
 2nd pcm0:play:0 _at_ /local/usr.src/sys/dev/sound/pcm/sound.c:191
Stack backtrace:
backtrace(c052152d,c620a054,c0716750,bf,246) at backtrace+0x17
witness_lock(c621fb00,8,c0716750,bf,c620a000) at witness_lock+0x671
_mtx_lock_flags(c621fb00,0,c0716750,bf,3) at _mtx_lock_flags+0xb2
pcm_chnalloc(c6211000,1,1c8e,ffffffff,8) at pcm_chnalloc+0x49
dsp_open(c05de290,7,2000,c6912000,c69cab80) at dsp_open+0x14f
spec_open(e6f4ba5c,e6f4bb18,c03827e8,e6f4ba5c,c05e52a0) at spec_open+0x28b
spec_vnoperate(e6f4ba5c,c05e52a0,c05e6010,180,c6912000) at spec_vnoperate+0x18
vn_open_cred(e6f4bbc4,e6f4bcc4,0,c69cab80,6) at vn_open_cred+0x528
vn_open(e6f4bbc4,e6f4bcc4,0,6,c0573924) at vn_open+0x30
kern_open(c6912000,c649bc00,1,7,0) at kern_open+0x13a
linux_open(c6912000,e6f4bd14,c053a57e,3ee,3) at linux_open+0x11e
syscall(2f,2f,2f,0,bfbff290) at syscall+0x253
Xint0x80_syscall() at Xint0x80_syscall+0x1d
--- syscall (5), eip = 0x283716b4, esp = 0xbfbff258, ebp = 0xbfbff2b8 ---

lock order reversal
 1st 0xc621fec0 pcm0 (sound softc) _at_ /local/usr.src/sys/dev/sound/pci/cmi.c:520
 2nd 0xc621fb00 pcm0:play:0 (pcm channel) _at_ /local/usr.src/sys/dev/sound/pcm/cha
nnel.c:440
Stack backtrace:
backtrace(c05215e4,c621fb00,c620a054,c07161f3,c0716271) at backtrace+0x17
witness_lock(c621fb00,8,c0716271,1b8,c620a000) at witness_lock+0x671
_mtx_lock_flags(c621fb00,0,c0716271,1b8,800000c1) at _mtx_lock_flags+0xb2
chn_intr(c620a000,c,10000,208,c621fdc0) at chn_intr+0x2f
cmi_intr(c620a400,0,c051c223,215,c61cb3c8) at cmi_intr+0xa0
ithread_loop(c61cfd80,df0ebd48,c051c07d,30e,c61cfd80) at ithread_loop+0x164
fork_exit(c030d9a0,c61cfd80,df0ebd48) at fork_exit+0xc0
fork_trampoline() at fork_trampoline+0x8
--- trap 0x1, eip = 0, esp = 0xdf0ebd7c, ebp = 0 ---

FWIW, I'm using cmi (obviously) and I have the following in my
/etc/sysctl.conf:

hw.snd.pcm0.vchans=4
hw.snd.maxautovchans=4

Hope it helps.

-gordon

Received on Mon Aug 11 2003 - 12:19:31 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:18 UTC