Re: LOR on AMD64

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Mon, 22 Aug 2005 15:49:22 -0400
On Saturday 20 August 2005 08:56 am, Bjoern A. Zeeb wrote:
> On Tue, 16 Aug 2005, Filippo Natali wrote:
> > I have the same problem described here:
> >
> > http://lists.freebsd.org/pipermail/freebsd-current/2005-June/051157.html
> >
> > but on my machine I obtain the attached LOR instead of a panic, and the
> > CPU runs at 100%.
> >
> > lock order reversal
> >  1st 0xffffff003d684600 pcm0 (sound cdev) _at_
> > /usr/src/sys/modules/sound/sound/../../../dev/sound/pcm/dsp.c:214 2nd
> > 0xffffffff8081e860 Giant (Giant) _at_ /usr/src/sys/kern/kern_synch.c:236
> > KDB: stack backtrace:
> > witness_checkorder() at witness_checkorder+0x4ba
> > _mtx_lock_flags() at _mtx_lock_flags+0x4a
> > msleep() at msleep+0x28a
> > kmem_malloc() at kmem_malloc+0x22f
> > uma_large_malloc() at uma_large_malloc+0x45
> > malloc() at malloc+0x12b
> > sndbuf_remalloc() at sndbuf_remalloc+0x97
> > chn_setblocksize() at chn_setblocksize+0x1d0
> > chn_tryspeed() at chn_tryspeed+0x13b
> > chn_tryformat() at chn_tryformat+0xe7
> > chn_setformat() at chn_setformat+0x20
> > chn_reset() at chn_reset+0xdb
> > dsp_open() at dsp_open+0x20a
> > devfs_open() at devfs_open+0x256
> > VOP_OPEN_APV() at VOP_OPEN_APV+0x74
> > vn_open_cred() at vn_open_cred+0x38c
> > kern_open() at kern_open+0xfd
> > open() at open+0x25
> > syscall() at syscall+0x4b2
> > Xfast_syscall() at Xfast_syscall+0xa8
> > --- syscall (5, FreeBSD ELF64, open), rip = 0x801ad87fc, rsp =
> > 0x7fffffffa748, rbp = 0x1 ---
> >
> > %uname -a
> > FreeBSD ulby.hq.netwing.it 6.0-BETA2 FreeBSD 6.0-BETA2 #0: Fri Aug 12
> > 10:52:32 CEST 2005    
> > root_at_ulby.hq.netwing.it:/usr/obj/usr/src/sys/GENERIC  amd64
>
> I added the LOR as #129
> 	http://sources.zabbadoz.net/freebsd/lor.html#129

I think the real problem here is that the pcm0 (sound cdev) mutex was held 
across a call to malloc() and that malloc() happened to block.

-- 
John Baldwin <jhb_at_FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org
Received on Mon Aug 22 2005 - 17:48:41 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:41 UTC