[cvsnt] CVS reported error: cannot rename file (Not AV problem)

Michael Wojcik Michael.Wojcik at microfocus.com
Fri Dec 1 15:28:38 GMT 2006


> From: cvsnt-bounces at cvsnt.org 
> [mailto:cvsnt-bounces at cvsnt.org] On Behalf Of Harrison, Andy
> Sent: Friday, 01 December, 2006 08:32
>  
> I've recently migrated our CVS server to a new machine, and since then
> several users have been reporting errors along the following lines:
>  
> T [...]
> T MyDir/File.cpp
> Unable to rename file /MyRepo/MyDir/,File.h, to /MyRepo/MyDir/File.h,v
> for 1 second, still trying...
> Unable to rename file /MyRepo/MyDir/,File.h, to /MyRepo/MyDir/File.h,v
> for 2 seconds, still trying...
> [...]
> Unable to rename file /MyRepo/MyDir/,File.h, to /MyRepo/MyDir/File.h,v
> for 9 seconds, still trying...
> Unable to rename file /MyRepo/MyDir/,File.h, to /MyRepo/MyDir/File.h,v
> for 10 seconds, giving up...
> cvs [server aborted]: cannot rename file /MyRepo/MyDir/,File.h, to
> /MyRepo/MyDir/File.h,v: Permission denied
>  
> ***** CVS exited normally with code 1 *****
> 
> So, given that it's not AV, what else could be causing the above?

Well, incorrect Windows ACLs on the files could.  I'd check to see what
account the CVS server is running under (probably LOCAL_SYSTEM[*]), and
then check the effective ACLs on one of your problem files and the
directory that contains it.

If you're not comfortable working with Windows filesystem ACLs from the
command line, you can use Explorer to determine the effective
permissions that a user has for a given filesystem object:

1. Select the object (file, directory, etc) and view its properties.
2. Select the "Security" tab.
3. Click Advanced.
4. Select the "Effective Permissions" tab.
5. Click Select.
6. Enter the name of the user you want to check (eg "system" for
LOCAL_SYSTEM) and click "Check Names".  (You can also use "Advanced" to
search for security principals.)
7. Click OK.
8. If any of the boxes aren't checked, then it could be an ACL problem.

In your example above, I'd suggest checking permissions on MyDir, on
File.h,v (the actual archive), and on ,File.h, (the temporary file) if
it exists.


[*] An aside: it appears that the CVSNT service gets installed as
LOCAL_SYSTEM with "Interact with desktop".  I can't see any reason why
it should have Iteract permission, which is a security hole.  Does
anyone know why it has Interact?


> Server PC:  Win XP Pro ver2002 SP2, P4 3.2GHz, 1GB RAM, 70GB available
> on HDD

Note that if you have significant CVS traffic, you'd probably get
considerably better performance and responsiveness from a server version
of Windows (preferably 2003 Server).  Non-server versions of Windows
have deliberately crippled TCP/IP stacks (eg very shallow listen
queues), to make them unsuitable as general server platforms.

-- 
Michael Wojcik
Principal Software Systems Developer, Micro Focus


More information about the cvsnt mailing list