Date: Mon, 8 Aug 2005 02:20:11 -0700 (PDT) From: Don Lewis <truckman@FreeBSD.org> To: Alexander@Leidinger.net Cc: current@FreeBSD.org, multimedia@FreeBSD.org, antoine.brodin@laposte.net Subject: Re: LOR pcm0:play:0 / kernel environment Message-ID: <200508080920.j789KBhs094082@gw.catspoiler.org> In-Reply-To: <20050805135028.0rs1mdascgocok4w@netchild.homeip.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On 5 Aug, Alexander Leidinger wrote: > Antoine Brodin <antoine.brodin@laposte.net> wrote: > > CCing multimedia@, since there are the people which may be able to solve ths > issue. > >> I have a LOR that doesn't seem to be on the LOR page: >> >> lock order reversal >> 1st 0xc30b3b00 pcm0:play:0 (pcm play channel) @ >> /usr/src/sys/modules/sound/sound/../../../dev/sound/pcm/channel.c:1134 >> 2nd 0xc06a7900 kernel environment (kernel environment) @ >> /usr/src/sys/kern/subr_hints.c:117 >> KDB: stack backtrace: >> kdb_backtrace(c065a9a4,c06a7900,c0653c0b,c0653c0b,c0658e0a) at >> kdb_backtrace+0x2e >> witness_checkorder(c06a7900,1,c0658e0a,75,e62c9a04) at >> witness_checkorder+0x6c3 >> _sx_slock(c06a7900,c0658e0a,75,c0656022,18b) at _sx_slock+0x7e >> res_find(e62c9b44,0,c2ff42ec,e62c9b58,c0e74b0a) at res_find+0x1bd >> resource_find(e62c9b44,0,c2ff42ec,e62c9b58,c0e74b0a) at resource_find+0x67 >> resource_int_value(c2ff42ec,0,c0e74b0a,e62c9b70,c30c0100) at >> resource_int_value+0x6c >> vchan_create(c30c0100,0,c0e746b1,100,4) at vchan_create+0x32d >> sysctl_hw_snd_maxautovchans(c0e778e0,0,4,e62c9bfc,e62c9bfc) at >> sysctl_hw_snd_maxautovchans+0x207 >> sysctl_root(0,e62c9c6c,3,e62c9bfc,c3080320) at sysctl_root+0x14e >> userland_sysctl(c3080320,e62c9c6c,3,0,0) at userland_sysctl+0x122 >> __sysctl(c3080320,e62c9d04,18,422,6) at __sysctl+0xb7 >> syscall(3b,3b,3b,0,bfbfee10) at syscall+0x2a2 >> Xint0x80_syscall() at Xint0x80_syscall+0x1f >> --- syscall (202, FreeBSD ELF32, __sysctl), eip = 0x2812f17b, esp = >> 0xbfbfe55c, ebp = 0xbfbfe588 --- The last time I looked at the auto vchan code, I came to the conclusion that it needed to be re-written. It looked to me like there were some nasty-looking locking problems and that the vchans and unit numbers could get out of sync. I'd recommend manually setting the number of vchans with the hw.snd.pcm*.vchans sysctl knob.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200508080920.j789KBhs094082>