[cvsnt] CVS occasionally hangs with SSPI protocol
Mark Weaver
mark at npsl.co.uk
Tue Apr 29 19:45:08 BST 2003
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