[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Hung CVS server processes
From: |
Dan Peterson |
Subject: |
Re: Hung CVS server processes |
Date: |
Thu, 19 Sep 2002 17:08:59 -0700 (Pacific Daylight Time) |
On Thu, 19 Sep 2002 address@hidden wrote:
> Dan Peterson writes:
> >
> > Why doesn't either the CVS server process or the TCP connection timeout?
>
> Good question. The CVS server uses the KEEPALIVE socket option, if
> available, to detect broken connections. KEEPALIVE tells the system to
> periodically ping the other side of an idle connection and break the
> connection if it fails to get a response in a reasonable amount of time.
> The fact that your connections are still in the ESTABLISHED state
> implies that this isn't working on your system -- many systems take a
> number of hours to detect a broken connection, but not 20 days. As of
> CVS 1.11.1, CVS will syslog any errors it receives setting KEEPALIVE, so
> check your syslog.
Well, I do see several errors (84 over a 3.5 month period) related to
KEEPALIVE:
... error setting KEEPALIVE: Invalid argument
But the interesting thing is, none of the current list of 15 procs older
than 24 hours logged one of these KEEPALIVE message. At least I assume I
should see the same process id in /var/adm/messages as the current "hung"
process?
What does "Invalid argument" in the context of setsockopt mean anyway?
The Solaris man page for setsockopt doesn't even show that EINVAL is a
valid error response.
> If there aren't any errors, that implies that your system is accepting
> the option but ignoring it, which is extremely unfriendly, to say the
> least. You may want to check with some Solaris experts to see if
> there's some kind of option to enable it.