Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 106984

Summary: CVS commit hangs at select function call
Product: Gentoo Linux Reporter: Antony Potter <tone>
Component: [OLD] LibraryAssignee: Maintainers for cvs, and cvs related tools (the version control system) [OBSOLETE] <cvs-utils+obsolete>
Status: RESOLVED FIXED    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Antony Potter 2005-09-23 05:06:35 UTC
Hi,
I'm using the portage build of CVS version 1.12.12.
When I run cvs commit to commit a file to the server, the command just hangs.
It doesn't seem to matter which file, or which server I try the command with,
the result is the same.

cvs login, checkout etc all work OK.

Using strace to try and debug the command I've found it hangs when it reaches
the select function call.  This is the relevant block from the strace command..

open("baportal.jsp", O_RDONLY)          = 5
read(5, "<%@ page language=\"java\" %>\n<%@ "..., 3348) = 3348
read(5, "", 0)                          = 0
close(5)                                = 0
access("CVS/Entries.Log", F_OK)         = -1 ENOENT (No such file or directory)
write(3, "Argument -m\nArgument Test\nArgume"..., 3538) = 3538
munmap(0x2aaaaaac2000, 4096)            = 0
fcntl(4, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
select(5, [4], NULL, NULL, NULL 

I'm not sure whether this is a CVS thing, or an OS type thing, but hope you can
help.

Thanks in advance,

Antony Potter

Reproducible: Always
Steps to Reproduce:
1. emerged the cvs distribution.
2. checked out a cvs module
3. edit one of the checked out files
4. ran cvs commit -m "comment" file

Actual Results:  
The command hangs.

Expected Results:  
Successful commit to cvs repository.
Comment 1 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2005-09-23 09:05:31 UTC
I'd suggest compile with debug flags, and running cvs under gdb to see some 
more useful output.

CFLAGS='-ggdb3 -O1 -save-temps' FEATURES='nostrip keepwork' emerge cvs

and then run cvs under gdb.
Comment 2 Antony Potter 2005-09-23 11:28:28 UTC
Hi,

thanks for your help.  I think I've solved the problem though.  I was connecting
to the CVS repository over a VPN.  The VPN link was also giving me problems when
transfering large files from one network to the other.  I found that by reducing
the MTU on the interface the transfer problem went away.  This also seemed to
solve my CVS problem, and I'm now able to commit to the repository.  Not sure
why I could check out files over the network, but not commit them back.  It's
beyond me...

Thanks again.

Antony