bug-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CVS hanging


From: Thomas Maslen
Subject: Re: CVS hanging
Date: Wed, 28 Nov 2001 08:52:52 +1000

> I am running CVS 1.11.1 pserver.  Both client and server are Sparc 
> Solaris 7.  
> 
> One of my developers can't use CVS.  Every request hangs.  I got him 
> to re-login but it didn't seem to make a difference.  I, personally, 
> can access CVS with no problems.  We just moved some of our 
> directories (including the CVS executables) onto another (NFS-mounted) 
> drive.
> 
> A truss of the server gives:
> 
> door_call(3, 0xFFBEF678)        (sleeping...)

Offhand the only things that I can think of that use Doors are name-service
lookup functions, e.g. getpwnam(), getpwuid(), getspnam(), getgrnam(), 
getgrgid(), gethostbyname(), gethostbyaddr().

The Door call means that the name-service lookup function is delegating the
lookup to 'nscd', the name-service cache daemon.  This is a mixed blessing;
it works pretty well for files (/etc/passwd et al), NIS and NIS+, but in
older Solaris releases it doesn't work so well for DNS, because the libresolv
code was the horrible old Berkeleyoid BIND code that was pretty unfriendly
to multithreading.  This was fixed in Solaris 8 (i.e. libresolv not handles
multithreading intelligently), and the fix was ported back to some of the 
later releases of Solaris 7.

Alternatively, you can disable the nscd, either completely or per class of
information (e.g. use it for passwd and group but disable it for hosts).
See the man page for nscd.  Be warned that there are some interesting 
consequences to disabling it for hosts, e.g. if you run Netscape on that
box (the server) it may act up (not that Netscape doesn't act up anyway).

It would be good if you could figure out whether the offending lookup was
for passwd, group or hosts.  See below.

> Not too useful, I know.  Unfortunately, I can't attach to the server 
> until after the problem occurs.

You might also try /usr/proc/bin/pstack <process id>

Thomas Maslen
maslen@pobox.com



reply via email to

[Prev in Thread] Current Thread [Next in Thread]