From owner-freebsd-current@FreeBSD.ORG Wed Jun 1 07:16:48 2005 Return-Path: X-Original-To: freebsd-current@FreeBSD.org 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 7766216A41C; Wed, 1 Jun 2005 07:16:48 +0000 (GMT) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [204.156.12.53]) by mx1.FreeBSD.org (Postfix) with ESMTP id 21CF443D49; Wed, 1 Jun 2005 07:16:47 +0000 (GMT) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by cyrus.watson.org (Postfix) with ESMTP id 0A21946B46; Wed, 1 Jun 2005 03:16:47 -0400 (EDT) Date: Wed, 1 Jun 2005 08:17:29 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Jun Kuriyama In-Reply-To: <7msm02k4wd.wl%kuriyama@imgsrc.co.jp> Message-ID: <20050601081530.B24311@fledge.watson.org> References: <7msm02k4wd.wl%kuriyama@imgsrc.co.jp> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: jeff@FreeBSD.org, Current Subject: Re: Hang in NFS client operation 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: Wed, 01 Jun 2005 07:16:48 -0000 On Wed, 1 Jun 2005, Jun Kuriyama wrote: > Since 2005-04-09 (*), my (-current) box sometimes hang at NFS client > operation (usually CVS update from readonly NFS mounted repository. > Server is 5.3R). > > Is there something I can help debugging about this issue? While it sounds like you've found the culprit, with NFS hangs it's always worth sitting down with a packet sniffer and making sure the wire protocol looks good. Ethereal actually has quite a nice NFS RPC decoder. What you want to do is attach Ethereal to the interface and make sure that the last lookup RPC in the sequence gets a valid looking reply. This probably just means making sure there was a reply. Robert N M Watson > > ----- > db> ps > pid proc uid ppid pgrp flag stat wmesg wchan cmd > 7778 c3b73e00 103 7776 7767 0004000 [SLPQ nfsreq 0xc3d87e80][SLP] cvs > ... > db> trace 7778 > Tracing pid 7778 tid 100124 td 0xc3b6b300 > sched_switch(c3b6b300,0,1) at sched_switch+0x14f > mi_switch(1,0,c3b6b300,1,c3b6b300) at mi_switch+0x1ba > sleepq_switch(c3d87e80) at sleepq_switch+0x133 > sleepq_wait(c3d87e80,0,c3bc5298,0,c3d87e80) at sleepq_wait+0xb > msleep(c3d87e80,c0721a60,53,c06c28fc,0) at msleep+0x356 > nfs_reply(c3d87e80,0,f,0,c3b6b300) at nfs_reply+0x23c > nfs_request(c4d69aa0,c3eb1200,3,c3b6b300,c3bf0d80) at nfs_request+0x3c1 > nfs_lookup(ecf93bd8) at nfs_lookup+0x2d8 > VOP_LOOKUP_APV(c06f8ba0,ecf93bd8) at VOP_LOOKUP_APV+0x38 > lookup(ecf93c68,ecf93c14,0,c3b6b300,ecf93c90) at lookup+0x431 > namei(ecf93c68,c3bf0d80,c3dd8e00,80c3080,0) at namei+0x396 > kern_access(c3b6b300,80c3080,0,4,ecf93d30) at kern_access+0x6a > access(c3b6b300,ecf93d04,2,2d7,286) at access+0x15 > syscall(3b,bfbf003b,bfbf003b,80c3080,80de8c0) at syscall+0x2b3 > Xint0x80_syscall() at Xint0x80_syscall+0x1f > --- syscall (33, FreeBSD ELF32, access), eip = 0x282e6bc7, esp = 0xbfbfe47c, ebp = 0xbfbfe498 --- > > > ----- > (*) I tried to find actual commit by using binary search: > > >> Modified files: >> sys/kern vfs_lookup.c >> Log: >> - If we vrele() a dvp while the child is locked we can potentially >> deadlock >> when vrele() acquires the directory lock in the wrong order. Fix >> this >> via the following changes: >> ... > > > -- > Jun Kuriyama // IMG SRC, Inc. > // FreeBSD Project > _______________________________________________ > 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" >