Date: Wed, 20 Feb 2002 23:32:38 -0500 (EST) From: John Baldwin <jhb@FreeBSD.org> To: Alfred Perlstein <bright@mu.org> Cc: FreeBSD-SMP@FreeBSD.Org, Bob Van Valzah <Bob@BGPBook.Com> Subject: Re: Lock order reversal Message-ID: <XFMail.020220233238.jhb@FreeBSD.org> In-Reply-To: <20020220224600.GK12136@elvis.mu.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 20-Feb-02 Alfred Perlstein wrote: > * John Baldwin <jhb@FreeBSD.org> [020220 14:31] wrote: >> >> On 17-Feb-02 Bob Van Valzah wrote: >> > Sorry if this isn't the right place to report this. Maybe I should >> > sendpr this kind of >> > thing? Sorry, I don't know the protocol. >> > >> > I shutdown my laptop (running -CURRENT as of Tuesday afternoon) and saw >> > this: >> > >> > syncing disks.. 6 5 4 3 2 2 1 1 >> > done >> > lock order reversal >> > 1st 0xc03a9d40 allproc @ /usr/src/sys/kernvfs_syscalls.c:452 >> > 2nd 0xc2880234 filedesc structure @ /usr/src/sys/kern/vfs_syscalls.c:457 >> > Uptime: 1d14h10m48s >> > /dev/vmmon: Module vmmon: unloaded >> > >> > The operating system has halted. >> > Please press any key to reboot. >> >> Yes, this one is a bit tough to fix. It will probably involve some changes >> to >> selwakeup() and possibly struct selinfo as well. The pfind() in selwakeup() >> is >> what ends up being the root cause here. > > Where is selwakeup being called with a filedesc held? It's not that direct. :) It's more like filedesc is sometimes held when a bpf lock is acquired, and the allproc lock is acquired by pfind in selwakeup when bpf is held sometimes. So it's not a direct lock order relationship. My preferred solution is to remove the pfind from selwakeup if possible, but that isn't entirely trivial to do. > -Alfred -- John Baldwin <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.020220233238.jhb>