Date: Sat, 8 Nov 2003 23:17:54 -0800 (PST) From: Don Lewis <truckman@FreeBSD.org> To: current@FreeBSD.org Subject: select + signal + truss => LOR Message-ID: <200311090717.hA97HteF063107@gw.catspoiler.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200311090717.hA97HteF063107>