[cvsnt] Cvslockd won't run on

David Somers dsomers at omz13.com
Tue Dec 12 22:18:42 GMT 2006


Cryer, Phil C. (STL) - cont wrote:

> -----Original Message-----
> From: cvsnt-bounces at cvsnt.org [mailto:cvsnt-bounces at cvsnt.org] On Behalf
> Of David Somers
> 
> Cryer, Phil C. (STL) - cont wrote:
>> cvs at esi1p83d:/usr/local/bin>./cvslockd -d Could not open
>> /etc/cvsnt/PServer
> 
> I guess you are using linux.
> 
> No, Solaris 5.8

linux/solaris/whatever.... NOT windows is the important bit.

> 
> What version of cvsnt are you using?
> 
> cvs at esi1p83d:/export/home/cvs/pcryer>cvsnt -version
> 
> Concurrent Versions System (CVSNT) 2.5.03 (Scorpio) Build 2382
> (client/server)
> 
> Copyright (c) 1989-2001 Brian Berliner, david d `zoo' zuhn,
>                         Jeff Polk, and other authors
> CVSNT version (Jul  5 2006) Copyright (c) 1999-2005 Tony Hoyle and
> others
> see http://www.cvsnt.org
> 
>> Initialising socket...
>> Starting lock server on port 2402/tcp...
>> Socket bind failed: errno 126 on socket 3 (AF 26) - closing socket
>> Socket bind failed: errno 125 on socket 4 (AF 2) - closing socket
>> Couldn't bind listening socket... Address already in use
>> cvs at esi1p83d:/usr/local/bin>
>> 
>> So I restarted at cvslockd -p 2403 -- is there any issue with not
>> running it on the default?
> 
> Use netstat to see who has bound to the port (i.e. netstat -ap | grep
> 2402)... I've had the occasional instance of cvslockd crashing/locking
> and keeping the port bound... is that's the case, pkill is your friend.
> 
> Yep, I did that as soon as this came up, it shows a few things
> listening:
> 
>>netstat -a | grep 2402
>       *.2402               *.*                0      0 24576      0
> LISTEN
>       *.2402               *.*                0      0 24576      0
> LISTEN
>       *.2402                            *.*
> 0      0 24576      0 LISTEN

And what process has ID 24576 and, more importantly, who owns it.

If nobody else is running cvs/cvsnt/cvslockd, it could be a few zombie
processes... just kill them. IIRC this happened in 2.5.03... the 2.5.04
branch seems a bit better :-)

FWIW, if you are getting zombie cvslockd processes and you can't upgrade to
a newer version of cvsnt, set up a cron job to pkill any cvslockd processes
every 24 hours or so.

> The problem is, this is a shared Development box (yes, I proposed using
> a new/standalone box for a CVS box, but that didn't fly).

Good grief... a new box doesn't cost that much (and running your cvs system
on a non-dedicated server is just asking for trouble).

> This is a big 
> company I'm working for, and they just do not bend on many things, thus,
> the box is used by a ton of people, and it's a mess.

Ah, the joys of working for a one of those corps.

> For now I want to 
> see what I need to do to tell CVSNT to look for cvslockd running on
> 2403.

There's an option in /etc/cvsnt/PServer to specify the port (
LockServer=localhost:2402 ... specify the port appropriate)

> The other thing is they're going to do a reboot tonight (to test 
> someone elses' change) so perhaps whatever is running on that port won't
> be there tomorrow and we can switch back, but as the startup scripts are
> now set, it will come up on 2403 overnight.
> 
> Yes. (But its probably better to find why 2402 is in use, rather than
> working around the problem.)
> 
> I agree David, but again, big company and my last day is in a few weeks,
> so I'll be happy to be out of all of this 'red tape'.  Hopefully I can
> do everything the right way at my next position (or at least closer).

Fair enough.

-- 
David Somers
typographer/programmer/whatever


More information about the cvsnt mailing list