From owner-freebsd-current@FreeBSD.ORG Thu Aug 27 11:02:47 2009 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7C5AF106568F for ; Thu, 27 Aug 2009 11:02:47 +0000 (UTC) (envelope-from pluknet@gmail.com) Received: from mail-fx0-f210.google.com (mail-fx0-f210.google.com [209.85.220.210]) by mx1.freebsd.org (Postfix) with ESMTP id 15E808FC1C for ; Thu, 27 Aug 2009 11:02:46 +0000 (UTC) Received: by fxm6 with SMTP id 6so808629fxm.43 for ; Thu, 27 Aug 2009 04:02:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type:content-transfer-encoding; bh=Nwq3wbaYZrYfHNkEoosN81FCjAjvMaq7PjbDXMCZ1f0=; b=Eso2Ax8YDofyuZNybDHySdDoD/rl6x2px3m/qYqT/RDlHCLOyfTnl8J8imrV+cVt8Z 7VpTTUisaHYOKL/muHJtyYRtJSupleV8xVGCFbk2MLFbbJaUOPjxiaqnQziUlJQz7Ovg jC/jisxJd9KsDNVKHquQmRAXFUe2nmLks6UYM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding; b=jmDmzyEOlJ3AXx/pn0ftW2x4Jd4bBw8ih1OZVL3ETRv+M9gZYRE0CG9nU0ANzLPoTE a0N6KsgRykvlvbawAOnLo6nm4xv55tld1uHrSNU7h5hiqK2YE3Hns8i9fNSS6z6B5xk+ OR/3JdZOH3gqzx06FUmLRJTiV5r1W1ubEyFDg= MIME-Version: 1.0 Received: by 10.204.7.88 with SMTP id c24mr3353174bkc.176.1251370966046; Thu, 27 Aug 2009 04:02:46 -0700 (PDT) Date: Thu, 27 Aug 2009 15:02:46 +0400 Message-ID: From: pluknet To: FreeBSD Current Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: LOR: so_snd_sx vs bufwait X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 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: Thu, 27 Aug 2009 11:02:47 -0000 Hi. This is a FreeBSD 9.0-CURRENT i386. The LOR was caught via stress2 suite. I guess sblock() (uipc_sockbuf.c:148 here) was called from sosend_generic() (which is at line uipc_socket.c:1436). lock order reversal: 1st 0xc836d5f4 so_snd_sx (so_snd_sx) @ /usr/src/sys/kern/uipc_sockbuf.c:148 2nd 0xd98e80dc bufwait (bufwait) @ /usr/src/sys/vm/vm_pager.c:311 KDB: stack backtrace: db_trace_self_wrapper(c07fd8ea,e88376a8,c060a145,c05fac1b,c08008bf,...) at db_tr ace_self_wrapper+0x26 kdb_backtrace(c05fac1b,c08008bf,c58ea8a8,c58e6ef8,e8837704,...) at kdb_backtrace +0x29 _witness_debugger(c08008bf,d98e80dc,c0806261,c58e6ef8,c081a6b1,...) at _witness_ debugger+0x25 witness_checkorder(d98e80dc,9,c081a6b1,137,0,...) at witness_checkorder+0x839 __lockmgr_args(d98e80dc,80000,0,0,0,...) at __lockmgr_args+0x7b7 initpbuf(c0a046c0,0,c081a6b1,162,2,...) at initpbuf+0xe0 getpbuf(c0a03f10,0,c0817667,47d,c07f8d78,...) at getpbuf+0x12f swap_pager_getpages(c65f5000,e8837914,2,1,e8837998,...) at swap_pager_getpages+0 x201 vm_fault(c64d1e80,28229000,1,0,28229090,...) at vm_fault+0xf7f trap_pfault(5,0,c0824a58,c0609eeb,c7885aa0,...) at trap_pfault+0xf9 trap(e8837a90) at trap+0x473 calltrap() at calltrap+0x6 --- trap 0xc, eip = 0xc079f412, esp = 0xe8837ad0, ebp = 0xe8837b08 --- generic_copyin(c83c7018,10,e8837c58,1,0,...) at generic_copyin+0x32 m_uiotombuf(e8837c58,2,37a0,0,0,...) at m_uiotombuf+0xf6 sosend_generic(c836d4d4,0,e8837c58,0,0,...) at sosend_generic+0x432 sosend(c836d4d4,0,e8837c58,0,0,...) at sosend+0x3f soo_write(c643d7e0,e8837c58,c5e62700,0,c716c480,...) at soo_write+0x63 dofilewrite(e8837c58,ffffffff,ffffffff,0,c643d7e0,...) at dofilewrite+0x95 kern_writev(c716c480,3,e8837c58,e8837c78,1,...) at kern_writev+0x58 write(c716c480,e8837cf8,c,e8837cc8,c0846190,...) at write+0x4f syscall(e8837d38) at syscall+0x2b4 Xint0x80_syscall() at Xint0x80_syscall+0x20 --- syscall (4, FreeBSD ELF32, write), eip = 0x2818d2c3, esp = 0xbfbfe8bc, ebp = 0xbfbfe908 --- -- wbr, pluknet