[cvsnt] CVSNT client hangs when using compression with 1.11.2 UNIX pserve r

Elliot Murphy elliot.murphy at veritas.com
Mon Oct 7 21:25:23 BST 2002


Hello,
 
I am seeing a problem where the CVSNT client blocks at buf_shutdown when
connected to a UNIX pserver. I initially started seeing this problem when
one of the CVS servers that I connect to upgraded to CVS 1.11.2. I have seen
this with a number of different versions of the CVSNT client, and have
verified that it does not happen with the 1.11.2 Win32 client that is
available from www.cvshome.org <http://www.cvshome.org> . In order to get
more information about what is happening, I checked out the latest cvsnt
source a couple of hours ago and built a debug version of the client.
 
I am running the command:
cvs -z 3 version
 
The output is this:
Client: Concurrent Versions System (CVSNT) 1.11.1.4 Alpha 2 (Nightly Build
Debug Build 61) (client/server)
Server: Concurrent Versions System (CVS) 1.11.2 (client/server)
 
At this point the client is in get_responses_and_close(). The call to
buf_shutdown(to_server) appears to go through just fine, and then the call
to buf_shutdown(from_server) blocks. I have traced into
buf_shutdown(from_server), and it is blocking in a recv() call. The call
stack looks like this:
 
   <mailto:wsock32.dll!_recv at 16> wsock32.dll!_recv at 16()  
  pserver_protocol.dll!tcp_read_raw(void * data=0x00af0000, int
length=0x00001000)  Line 205 + 0x19 C
  pserver_protocol.dll!pserver_read_data(const protocol_interface *
protocol=0x1001a550, void * data=0x00af0000, int length=0x00001000)  Line
278 + 0x10 C
  cvs.exe!client_buffer_input(void * closure=0x003a78a0, char *
data=0x00af0000, int need=0x00000001, int size=0x00001000, int *
got=0x0012f3f0)  Line 567 + 0x18 C
  cvs.exe!buf_read_line(buffer * buf=0x003a78e0, char * * line=0x0012f554,
int * lenp=0x0012f548)  Line 818 + 0x1d C
  cvs.exe!read_line(char * * resultp=0x0012f65c)  Line 640 + 0x14 C
  cvs.exe!get_server_responses()  Line 3240 + 0x9 C
  cvs.exe!start_server(int verify_only=0x00000000)  Line 3627 + 0x5 C
  cvs.exe!cvsguiglue_main(int argc=0x00000001, char * * argv=0x003a635c)
Line 1126 + 0x7 C
  cvs.exe!main(int argc=0x00000003, char * * argv=0x003a6040)  Line 222 +
0x2a C

The problem only happens when I use compression, which is consistent with
the comments near buf_shutdown(). I have no control over the CVS server that
I am connecting to, and I doubt the sysadmin there will be very sympathetic
to me since the "plain" 1.11.2 cvs client does not exhibit this behavior.
 
Any ideas about what might be causing this problem? I'm happy to debug
further if more information would be helpful.
 
thanks,
-elliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.cvsnt.org/pipermail/cvsnt/attachments/20021007/d9b43707/attachment.htm 


More information about the cvsnt mailing list