rpc.lockd spinning; much breakage

Don Lewis truckman at FreeBSD.org
Mon May 12 14:54:43 PDT 2003


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.


More information about the freebsd-current mailing list