From owner-freebsd-stable@FreeBSD.ORG Thu Oct 19 14:54:31 2006 Return-Path: X-Original-To: stable@freebsd.org Delivered-To: freebsd-stable@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7277016A500 for ; Thu, 19 Oct 2006 14:54:31 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4D33043D46 for ; Thu, 19 Oct 2006 14:54:27 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.6/8.13.6) with ESMTP id k9JErWND066690; Thu, 19 Oct 2006 10:54:21 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: Kostik Belousov Date: Thu, 19 Oct 2006 10:44:30 -0400 User-Agent: KMail/1.9.1 References: <17718.20457.799395.602805@gromit.timing.com> <20061019100442.GN55428@deviant.kiev.zoral.com.ua> In-Reply-To: <20061019100442.GN55428@deviant.kiev.zoral.com.ua> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200610191044.30768.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Thu, 19 Oct 2006 10:54:21 -0400 (EDT) X-Virus-Scanned: ClamAV 0.88.3/2050/Thu Oct 19 03:58:33 2006 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: stable@freebsd.org, John E Hein Subject: Re: locked vnode / nfs... requires kill -9 in ddb X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Oct 2006 14:54:31 -0000 On Thursday 19 October 2006 06:04, Kostik Belousov wrote: > On Wed, Oct 18, 2006 at 10:01:45AM -0600, John E Hein wrote: > > 6.2-PRERELEASE from 20061016 RELENG_6 sources. > > Locked vnodes > > > > 0xc6b7bdd0: tag nfs, type VDIR > > usecount 2, writecount 0, refcount 8 mountedhere 0 > > flags (VV_ROOT) > > v_object 0xc9d84108 ref 0 pages 0 > > lock type nfs: EXCL (count 1) by thread 0xc8adac00 (pid 50746) with 5 pending > > fileid 8 fsid 0x300ff06 > > > > 50746 50000 49999 600 T+ sh > > . > > . > > db>db> trace 50746 > > Tracing pid 50746 tid 100231 td 0xc8adac00 > > sched_switch(c8adac00,0,2) at 0xc05ce0cb = sched_switch+0x173 > > mi_switch(2,0) at 0xc05c2b0a = mi_switch+0x1ba > > thread_suspend_check(1,c079e04c,c8adac00,c9206b80,1,...) at 0xc05c722d = thread_suspend_check+0x191 > > sleepq_catch_signals(c9206b80) at 0xc05db93f = sleepq_catch_signals+0x103 > > sleepq_wait_sig(c9206b80) at 0xc05dbd96 = sleepq_wait_sig+0xe > > msleep(c9206b80,c08a6a40,153,c0813379,0) at 0xc05c2652 = msleep+0x25a > > nfs_reply(c9206b80,0,c8adac00,4,c7ea7100,...) at 0xc06c33ac = nfs_reply+0x244 > > nfs_request(c6b7bdd0,c6ae2d00,1,c8adac00,c7815280,e8f3488c,e8f34890,e8f34894,c8adac00,e8f348a0) at 0xc06c40a5 = nfs_request+0x3c1 > > nfs_getattr(e8f348dc) at 0xc06c912b = nfs_getattr+0x11f > > VOP_GETATTR_APV(c086c700,e8f348dc) at 0xc07b260c = VOP_GETATTR_APV+0x38 > > nfsspec_access(e8f34a8c,c6bf7c94,0,e8f349a4,c060ca26,...) at 0xc06cebf1 = nfsspec_access+0x85 > > nfs_access(e8f34a8c) at 0xc06c8b7a = nfs_access+0x122 > > VOP_ACCESS_APV(c086c700,e8f34a8c) at 0xc07b25b0 = VOP_ACCESS_APV+0x38 > > nfs_lookup(e8f34b18) at 0xc06c96ff = nfs_lookup+0xd3 > > VOP_LOOKUP_APV(c086c700,e8f34b18) at 0xc07b22f7 = VOP_LOOKUP_APV+0x43 > > lookup(e8f34c00) at 0xc060ee79 = lookup+0x4c1 > > namei(e8f34c00) at 0xc060e71a = namei+0x39a > > kern_stat(c8adac00,806712c,0,e8f34c74) at 0xc061d3cd = kern_stat+0x35 > > stat(c8adac00,e8f34d04) at 0xc061d37b = stat+0x1b > > syscall(3b,3b,3b,1,80670ec,...) at 0xc07a9363 = syscall+0x2bf > > Xint0x80_syscall() at 0xc079456f = Xint0x80_syscall+0x1f > > --- syscall (188, FreeBSD ELF32, stat), eip = 0x28196477, esp = 0xbfbfdc1c, ebp = 0xbfbfdcb8 --- > > db> kill 9 50746 > > db> c > > The nfs_reply is sleeping with the PCATCH set. The question is why SIGTSTP > does not cause msleep to return with EINTR. The problem is in thread_suspend_check(), not the sleepq code. -- John Baldwin