Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 May 2003 14:54:33 -0700 (PDT)
From:      Don Lewis <truckman@FreeBSD.org>
To:        rwatson@FreeBSD.org
Cc:        current@FreeBSD.org
Subject:   Re: rpc.lockd spinning; much breakage
Message-ID:  <200305122154.h4CLsXM7048693@gw.catspoiler.org>
In-Reply-To: <Pine.NEB.3.96L.1030512165906.76804Q-100000@fledge.watson.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200305122154.h4CLsXM7048693>