From owner-freebsd-current@FreeBSD.ORG Fri Aug 13 15:23:07 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7EAAB16A4F6; Fri, 13 Aug 2004 15:23:07 +0000 (GMT) Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by mx1.FreeBSD.org (Postfix) with ESMTP id 354E043D41; Fri, 13 Aug 2004 15:23:07 +0000 (GMT) (envelope-from robert@fledge.watson.org) Received: from fledge.watson.org (localhost [127.0.0.1]) by fledge.watson.org (8.12.11/8.12.11) with ESMTP id i7DFLPXK087214; Fri, 13 Aug 2004 11:21:25 -0400 (EDT) (envelope-from robert@fledge.watson.org) Received: from localhost (robert@localhost)i7DFLPqs087211; Fri, 13 Aug 2004 11:21:25 -0400 (EDT) (envelope-from robert@fledge.watson.org) Date: Fri, 13 Aug 2004 11:21:25 -0400 (EDT) From: Robert Watson X-Sender: robert@fledge.watson.org To: Martin Blapp In-Reply-To: <20040813163308.R31181@cvs.imp.ch> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: freebsd-current@freebsd.org cc: des@freebsd.org Subject: Re: LOR in pseudofs X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Aug 2004 15:23:07 -0000 On Fri, 13 Aug 2004, Martin Blapp wrote: > lock order reversal > 1st 0xc0903e40 pseudofs_vncache (pseudofs_vncache) @ > /usr/src/sys/fs/pseudofs/pseudofs_vncache.c:226 > 2nd 0xc0908260 Giant (Giant) @ /usr/src/sys/kern/kern_synch.c:249 This is another symptom of the same previous problem. After sleeping, waiting on a lock, the thread will now re-acquire Giant and discover it's already holding a mutex and get a lock order reversal. DES CC'd again :-). Robert N M Watson FreeBSD Core Team, TrustedBSD Projects robert@fledge.watson.org Principal Research Scientist, McAfee Research > KDB: stack backtrace: > kdb_backtrace(c085002d,c0908260,c084d1f1,c084d1f1,c084dea8) at > kdb_backtrace+0x2f > witness_checkorder(c0908260,9,c084dea8,f9,c0908220) at witness_checkorder+0x5d9 > _mtx_lock_flags(c0908260,0,c084dea8,f9,0) at _mtx_lock_flags+0x32 > msleep(c469cc08,c09087bc,50,c084928d,0) at msleep+0x457 > acquiredrain(c469cc04,1000040,c084c33b,e7,c3f7a160) at acquiredrain+0x9c > lockmgr(c469cc04,10007,c469cb58,c3f7a160,e5143ba0) at lockmgr+0x4d2 > vop_stdlock(e5143bf8,e5143c14,c068ce26,e5143bf8,1) at vop_stdlock+0x2c > vop_defaultop(e5143bf8,1,c062ccaf,c090f400,8) at vop_defaultop+0x18 > vclean(c469cb58,8,c3f7a160,c469cb58,c3f7a160) at vclean+0x50 > vgonel(c469cb58,c3f7a160,c0853c09,a43,0) at vgonel+0x5f > vgone(c469cb58,0,c0849739,e2,c35dc5a0) at vgone+0x42 > pfs_exit(0,c3f7da68,c084b8ec,cc,c0908260) at pfs_exit+0x74 > exit1(c3f7a160,0,e5143d40,c07e88eb,c3f7a160) at exit1+0x2ed > exit1(c3f7a160,e5143d14,4,c0851129,1) at exit1 > syscall(2f,2f,2f,bfbfe508,bfbfe468) at syscall+0x275 > Xint0x80_syscall() at Xint0x80_syscall+0x1f > --- syscall (1, FreeBSD ELF32, sys_exit), eip = 0x832d7c7, esp = 0xbfbfe434, ebp > = 0xbfbfe440 --- > KDB: enter: witness_checkorder > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" >