[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
cvs 1.11.2 hangs with xinetd 2.3.4
From: |
Zach Bagnall |
Subject: |
cvs 1.11.2 hangs with xinetd 2.3.4 |
Date: |
25 Apr 2002 11:24:50 +1200 |
Using pserver, commands appear to complete successfully, but the
connection hangs at the exit point.
I've been using cvs 1.11.1p1 with xinetd 2.3.3 perfectly until now. The
problem appeared when I upgraded to 1.11.2. I haven't touched the xinetd
config:
service cvspserver
{
socket_type = stream
protocol = tcp
wait = no
user = cvsuser
server = /usr/local/bin/cvs
server_args = -f --allow-root=/home/cvsroot pserver
disable = no
}
I upgraded to xinetd 2.3.4 but that didn't solve the problem. Other
xinetd services are working fine.
Someone suggested I strace the cvs process and use lsof to see what it
is accessing.
The strace output is attached. The blank line near the bottom shows
where it is hanging. When I pressed ^C on the client side, it resumed.
Here is the lsof output at the problem point. It appears to be locking
on a read from the socket.
$ sudo /tmp/lsof | grep -i cvs
xinetd 2199 root 9u IPv4 1198383 TCP
*:cvspserver (LISTEN)
strace 2399 cvsuser cwd DIR 3,5 4096 2 /
strace 2399 cvsuser rtd DIR 3,5 4096 2 /
strace 2399 cvsuser txt REG 3,5 175463 98275
/usr/local/bin/strace
strace 2399 cvsuser mem REG 3,5 424492 290313
/lib/ld-2.2.4.so
strace 2399 cvsuser mem REG 3,5 5006920 290312
/lib/libc-2.2.4.so
strace 2399 cvsuser 0u IPv4 1200226 TCP
bouncer:cvspserver->gecko:32777 (ESTABLISHED)
strace 2399 cvsuser 1u IPv4 1200226 TCP
bouncer:cvspserver->gecko:32777 (ESTABLISHED)
strace 2399 cvsuser 2u IPv4 1200226 TCP
bouncer:cvspserver->gecko:32777 (ESTABLISHED)
strace 2399 cvsuser 3r FIFO 0,6 1198377 pipe
strace 2399 cvsuser 4w FIFO 0,6 1198377 pipe
strace 2399 cvsuser 5w REG 3,5 10474 241943
/tmp/strace.out
cvs 2400 cvsuser cwd DIR 3,5 4096 98553
/tmp/cvs-serv2400
cvs 2400 cvsuser rtd DIR 3,5 4096 2 /
cvs 2400 cvsuser txt REG 3,5 1571028 98342
/usr/local/bin/cvs
cvs 2400 cvsuser mem REG 3,5 424492 290313
/lib/ld-2.2.4.so
cvs 2400 cvsuser mem REG 3,5 73338 290319
/lib/libcrypt-2.2.4.so
cvs 2400 cvsuser mem REG 3,5 5006920 290312
/lib/libc-2.2.4.so
cvs 2400 cvsuser mem REG 3,5 233130 290324
/lib/libnss_files-2.2.4.so
cvs 2400 cvsuser 0u IPv4 1200226 TCP
bouncer:cvspserver->gecko:32777 (ESTABLISHED)
cvs 2400 cvsuser 1u IPv4 1200226 TCP
bouncer:cvspserver->gecko:32777 (ESTABLISHED)
cvs 2400 cvsuser 2u IPv4 1200226 TCP
bouncer:cvspserver->gecko:32777 (ESTABLISHED)
cvs 2400 cvsuser 3r FIFO 0,6 1198377 pipe
cvs 2400 cvsuser 4w FIFO 0,6 1198377 pipe
This is what it looks like from the client side:
$ cvs version
Client: Concurrent Versions System (CVS) 1.11.1p1 (client/server)
Server: Concurrent Versions System (CVS) 1.11.2 (client/server)
(hangs here)
^C
cvs [version aborted]: received interrupt signal
$
The problem exists regardless of the cvs command I use. These examples
where for "cvs version". cvs works perfectly if run locally on the
server, so it seems to be a xinetd/pserver problem.
Zach.
strace.txt
Description: Text document
signature.asc
Description: This is a digitally signed message part
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- cvs 1.11.2 hangs with xinetd 2.3.4,
Zach Bagnall <=