From owner-freebsd-current@FreeBSD.ORG Mon May 12 14:54:42 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 CA26337B401; Mon, 12 May 2003 14:54:42 -0700 (PDT) Received: from gw.catspoiler.org (217-ip-163.nccn.net [209.79.217.163]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1874243FBD; Mon, 12 May 2003 14:54:42 -0700 (PDT) (envelope-from truckman@FreeBSD.org) Received: from FreeBSD.org (mousie.catspoiler.org [192.168.101.2]) by gw.catspoiler.org (8.12.9/8.12.9) with ESMTP id h4CLsXM7048693; Mon, 12 May 2003 14:54:37 -0700 (PDT) (envelope-from truckman@FreeBSD.org) Message-Id: <200305122154.h4CLsXM7048693@gw.catspoiler.org> Date: Mon, 12 May 2003 14:54:33 -0700 (PDT) From: Don Lewis To: rwatson@FreeBSD.org In-Reply-To: MIME-Version: 1.0 Content-Type: TEXT/plain; charset=us-ascii cc: alfred@FreeBSD.org cc: current@FreeBSD.org Subject: Re: rpc.lockd spinning; much breakage 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: Mon, 12 May 2003 21:54:43 -0000 On 12 May, Robert Watson wrote: >> Why not attach the process in gdb and step through the code to find the >> loop? > > Well, I guess the problem is I'm not familiar with the NFS lock manager > protocol, and what I'm looking for more is debugging advice: is the best > approach to attach to the client or server rpc.lockd? I had a lot of > trouble getting ethereal to work well for debugging NLM stuff as it tended > to crash. :-) Things are somewhat complicated by the fact that once you > lose the rpc.lockd on a client, lots of programs begin to hang and stack > up... Since the server spins in the absence of traffic, I'd look there first. It should reject any corrupt requests, and if it loops forever when it gets a request, whether corrupt or legal, it must have a bug (think DoS). If it loops on a legal request, then the clients will all get hosed, whether or not they are working correctly. If it's an illegal request that is causing the server to loop, you may be able to gather some more information about what's wrong with the request.