Re: Series of witness warnings from PCM

From: Don Lewis <truckman_at_FreeBSD.org>
Date: Sun, 18 Apr 2004 22:27:04 -0700 (PDT)
On 31 Mar, Robert Watson wrote:
> 
> I loaded up my XFree86 4.3 / KDE 3.2.1 workstation with WITNESS today to
> test some network locking changes, and got the attached set of warnings. 
> Not sure if they're well-trodden ground, but my source is pretty
> up-to-date, and the branch has no local changes in pcm. 
> 
> Robert N M Watson             FreeBSD Core Team, TrustedBSD Projects
> robert_at_fledge.watson.org      Senior Research Scientist, McAfee Research
> 
> ...
> pcm0: <CS423x> at port 0x220-0x22f,0x388-0x38b,0x534-0x537 irq 5 drq 0,1 on isa0
> pcm0: [GIANT-LOCKED]
> ...
> malloc() of "256" with the following non-sleepable locks held:
> exclusive sleep mutex pcm0 (sound cdev) r = 0 (0xc446ac00) locked _at_ /local0/rwatson/rwatson_netperf/sys/dev/sound/pcm/dsp.c:215
> Stack backtrace:
> backtrace(1,c080a8a0,c1045c00,2,dcbf28b8) at backtrace+0x12
> witness_warn(5,0,c07cc264,c077a3cd) at witness_warn+0x196
> uma_zalloc_arg(c1045c00,0,2) at uma_zalloc_arg+0x85
> malloc(100,c080a8a0,2,c4473480,c05f5316) at malloc+0xb7
> sndbuf_resize(c447b000,2,80,c4469990,dcbf2950) at sndbuf_resize+0x80
> msschan_setblocksize(c4469990,c4472d94,80,c4472d94,80) at msschan_setblocksize+0x18
> chn_setblocksize(c4473480,400,0,c4472d00,c4472d94) at chn_setblocksize+0x36f
> chn_tryspeed(c4473480,1f40,c4472d94,0,c4473480) at chn_tryspeed+0x149
> chn_tryformat(c4473480,1,0,c4473480,1f40) at chn_tryformat+0xaf
> chn_setformat(c4473480,1,0,0,c4473480) at chn_setformat+0x15
> chn_reset(c4473480,1,0,1,c4474000) at chn_reset+0xd4
> dsp_open(c4479200,6,2000,c458ae70,c4a62000) at dsp_open+0x21f
> spec_open(dcbf2a6c,dcbf2b28,c0635938,dcbf2a6c,80) at spec_open+0x2a2
> spec_vnoperate(dcbf2a6c) at spec_vnoperate+0x13
> vn_open_cred(dcbf2be4,dcbf2ce4,0,c4a62000,9) at vn_open_cred+0x3c0
> vn_open(dcbf2be4,dcbf2ce4,0,9,c086f900) at vn_open+0x1e
> kern_open(c458ae70,808c0fc,0,6,0) at kern_open+0xd8
> open(c458ae70,dcbf2d14,3,26,200292) at open+0x18
> syscall(2f,2f,2f,8080000,0) at syscall+0x217
> Xint0x80_syscall() at Xint0x80_syscall+0x1d
> --- syscall (5), eip = 0x286f72f3, esp = 0xbfbfe21c, ebp = 0xbfbfe248 ---

I'm aware of this problem, but haven't had any time to devote to fixing
it.

> lock order reversal
>  1st 0xc446b140 pcm0 (sound softc) _at_ /local0/rwatson/rwatson_netperf/sys/dev/sound/isa/mss.c:179
>  2nd 0xc446a800 pcm0:play:0 (pcm play channel) _at_ /local0/rwatson/rwatson_netperf/sys/dev/sound/pcm/channel.c:503
> Stack backtrace:
> backtrace(0,ffffffff,c0938e28,c0938d60,c080c13c) at backtrace+0x12
> witness_checkorder(c446a800,9,c0a6395b,1f7) at witness_checkorder+0x593
> _mtx_lock_flags(c446a800,0,c0a6395b,1f7,c4472d00) at _mtx_lock_flags+0x67
> chn_intr(c4473480,1097fd20,c446adc0,c197cb00,c197fd20) at chn_intr+0x1b
> mss_intr(c4472d00) at mss_intr+0x7d
> ithread_loop(c197cb00,d743ed48,c197cb00,c05ce64c,0) at ithread_loop+0x11c
> fork_exit(c05ce64c,c197cb00,d743ed48) at fork_exit+0xa8
> fork_trampoline() at fork_trampoline+0x8
> --- trap 0x1, eip = 0, esp = 0xd743ed7c, ebp = 0 ---

I think this one is driver specific.
Received on Mon Apr 19 2004 - 07:40:28 UTC

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