bug-cvs
[Top][All Lists]
Advanced

[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.

Attachment: strace.txt
Description: Text document

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

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