[cvsnt] CVS occasionally hangs with SSPI protocol

Mark Weaver mark at npsl.co.uk
Tue Apr 29 19:45:08 BST 2003


Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.


Typically when doing "cvs add *", sample output:

[c:\cvs\3rdparty\fop\build\site\images]cvs add *
cvs add: warning: directory CVS specified in argument
cvs add: but CVS uses CVS for its own purposes; skipping CVS directory
cvs server: cannot add special file `CVS'; skipping
cvs server: scheduling file `document.jpg' for addition
cvs server: scheduling file `EmbeddingExampleFO2PDF.png' for addition
cvs server: scheduling file `EmbeddingExampleObj2PDF.png' for addition
cvs server: scheduling file `EmbeddingExampleObj2XML.png' for addition
cvs server: scheduling file `EmbeddingExampleXML2FO.png' for addition
cvs server: scheduling file `EmbeddingExampleXML2PDF.png' for addition
cvs server: scheduling file `group-logo.gif' for addition
cvs server: scheduling file `layout.jpg' for addition
cvs server: scheduling file `logo.jpg' for addition
cvs server: scheduling file `track.png' for addition
cvs server: use 'cvs commit' to add these files permanently

Then cvs hangs.  I'm having trouble debugging this, but this has been a
consistent issue with cvsnt 1.11.something, 2.0.1, 2.0.2, 2.0.3.  I've built
a debug client, and AFAICT it is getting stuck here (sorry if this gets a
bit mangled):

NTDLL.DLL!77f88e73()
msafd.dll!_WSPRecv at 36()  + 0x6104
ws2_32.dll!_WSARecv at 28()  + 0x6c
wsock32.dll!_recv at 16()  + 0x31
sspi_protocol.dll!tcp_read(void * data=0x00e80d7b, int length=645)  Line 228
+ 0x19	C
sspi_protocol.dll!sspi_read_data(const protocol_interface *
protocol=0x1001c678, void * data=0x00e80d7b, int length=645)  Line 266 + 0xd
C
cvs.exe!client_buffer_input(void * closure=0x00946440, char *
data=0x00e80d7b, int need=1, int size=645, int * got=0x0012f240)  Line 577 +
0x18	C
cvs.exe!buf_read_line(buffer * buf=0x00946470, char * * line=0x0012f3a4, int
* lenp=0x0012f398)  Line 818 + 0x1d	C
cvs.exe!read_line(char * * resultp=0x0012f4ac)  Line 652 + 0x14	C
cvs.exe!get_server_responses()  Line 3222 + 0x9	C
cvs.exe!get_responses_and_close()  Line 3335 + 0x5	C
cvs.exe!add()  Line 288 + 0x5	C
cvs.exe!cvsguiglue_main(int argc=2, char * * argv=0x00947148)  Line 1189 +
0x10	C
cvs.exe!main(int argc=3, char * * argv=0x00943018)  Line 253 + 0x2a	C
cvs.exe!mainCRTStartup()  Line 400 + 0x11	C
KERNEL32.DLL!_BaseProcessStart at 4()  + 0x3d

i.e. it is waiting for the server to send something back.  The connection
remains established, and the server seems uninterested in responding
further.  At a push, I could go and install a debugger on the server and see
where that is getting stuck, but before I do, does anyone have any clue as
to why this would happen?

btw, killing the process "resolves" the problem -- the files/directories
have been correctly added, it's just that the hang is rather irritating.

Thanks,

Mark



More information about the cvsnt mailing list
Download the latest CVSNT, TortosieCVS, WinCVS etc. for Windows 8 etc.
@CVSNT on Twitter   CVSNT on Facebook