[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

broken lock test

From: Brieuc Jeunhomme <bbp_at_via.ecp.fr>
Date: Fri, 28 Nov 2008 17:41:33 +0100

Hi,

I have found something that looks to me like a bug, although I don't
know how I came to this situation. I have more detail about the problem
if needed, I can fill a bug report with all of it if it's confirmed it
is a bug.

I am the only one using the svn repository, on a remote server
(svn+ssh://...). I am using 1.5.4. The symptoms are the following: I
try to do an update, svn complains about a lock and suggests a cleanup.
I perform a cleanup, and try to update again, without any success.

% svn update

Fetching external item into 'specs'
svn: Working copy 'specs' locked
svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for
details)
% ./build-subversion-1.5.4/bin/svn cleanup
% ./build-subversion-1.5.4/bin/svn update

Fetching external item into 'specs'
svn: Working copy 'specs' locked
svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for
details)

I am not that familiar with the svn unlock command, however, I have done
a couple of tests with strace and some scripts to process the strace
results, and, if I do strace svn update and remove all the irrelevant
garbage, I can see that the following happens during the svn update
execution:

open("specs/.svn/lock", O_WRONLY|O_CREAT|O_EXCL|O_LARGEFILE, 0666) = 3
close(3) = 0
open("specs/.svn/lock", O_WRONLY|O_CREAT|O_EXCL|O_LARGEFILE, 0666) = -1
EEXIST (File exists)
write(2, "svn: run \'svn cleanup\' to remove locks (type \'svn help
cleanup\' for details)\n", 77) = 77
unlink("specs/.svn/lock") = 0

So, svn creates specs/.svn/lock, then, tries to create it again, fails
because it already exists, complains about it, deletes it, and exits.
This is the reason why I am pretty sure it is a bug: it complains about
the existence of a file it just created.

-- 
BBP
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-11-28 22:04:52 CET

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.