From owner-freebsd-current@FreeBSD.ORG Sat Nov 8 23:18:01 2003 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 DFFD416A4CE for ; Sat, 8 Nov 2003 23:18:01 -0800 (PST) Received: from gw.catspoiler.org (217-ip-163.nccn.net [209.79.217.163]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3A86E43FCB for ; Sat, 8 Nov 2003 23:18:01 -0800 (PST) (envelope-from truckman@FreeBSD.org) Received: from FreeBSD.org (mousie.catspoiler.org [192.168.101.2]) by gw.catspoiler.org (8.12.9p2/8.12.9) with ESMTP id hA97HteF063107 for ; Sat, 8 Nov 2003 23:17:58 -0800 (PST) (envelope-from truckman@FreeBSD.org) Message-Id: <200311090717.hA97HteF063107@gw.catspoiler.org> Date: Sat, 8 Nov 2003 23:17:54 -0800 (PST) From: Don Lewis To: current@FreeBSD.org MIME-Version: 1.0 Content-Type: TEXT/plain; charset=us-ascii Subject: select + signal + truss => LOR 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: Sun, 09 Nov 2003 07:18:02 -0000 I don't believe I've seen any reports of this particular lock order reversal. I got it by pointing truss at syslogd. My kernel and world were built from a cvsup run slightly before Fri Nov 7 14:50:18 PST 2003. Sleeping on "stopevent" with the following non-sleepable locks held: exclusive sleep mutex sigacts r = 0 (0xc6bc0aa8) locked @ /usr/src/sys/kern/kern _condvar.c:289 lock order reversal 1st 0xc6bc0aa8 sigacts (sigacts) @ /usr/src/sys/kern/kern_condvar.c:289 2nd 0xc6bbabc4 process lock (process lock) @ /usr/src/sys/kern/kern_synch.c:309 Stack backtrace: backtrace(c08a4327,c6bbabc4,c08a0922,c08a0922,c08a1964) at backtrace+0x17 witness_lock(c6bbabc4,8,c08a1964,135,c08a05a9) at witness_lock+0x672 _mtx_lock_flags(c6bbabc4,0,c08a1964,135,ffffffff) at _mtx_lock_flags+0xba msleep(c6bbac98,c6bbabc4,5c,c08a4b24,0) at msleep+0x794 stopevent(c6bbab58,2,e,822,c096d440) at stopevent+0x85 issignal(c6bbbb40,2,c08a1463,bd,c6bbab58) at issignal+0x168 cursig(c6bbbb40,0,c089e483,121,0) at cursig+0xf0 cv_wait_sig(c0991f34,c0991f00,c08a492e,348,4) at cv_wait_sig+0x448 kern_select(c6bbbb40,7,8055060,0,0) at kern_select+0x526 select(c6bbbb40,e5f26d10,c08bea62,3ee,5) at select+0x66 syscall(2f,2f,2f,8,1) at syscall+0x2c0 Xint0x80_syscall() at Xint0x80_syscall+0x1d --- syscall (93), eip = 0x480d03ff, esp = 0xbfbff79c, ebp = 0xbfbffd98 --- Sleeping on "stopevent" with the following non-sleepable locks held: exclusive sleep mutex sigacts r = 0 (0xc6bc0aa8) locked @ /usr/src/sys/kern/subr _trap.c:260 Sleeping on "stopevent" with the following non-sleepable locks held: exclusive sleep mutex sigacts r = 0 (0xc6bc0aa8) locked @ /usr/src/sys/kern/subr _trap.c:260