Hello:
There appears to be a problem when an svn checkout is on a samba mount
(server is RHEL5, client is Fedora 9). Subversion seems to try to
delete the same file twice, and then bails out when it fails. From the
strace:
open("pylib/.svn/tmp",
O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFDIR|0775, st_size=0, ...}) = 0
fcntl64(3, F_GETFD) = 0x1 (flags FD_CLOEXEC)
getdents64(3, /* 5 entries */, 16384) = 144
open("pylib/.svn/tmp/prop-base",
O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 4
fstat64(4, {st_mode=S_IFDIR|0775, st_size=0, ...}) = 0
getdents64(4, /* 2 entries */, 16384) = 48
getdents64(4, /* 0 entries */, 16384) = 0
close(4) = 0
rmdir("pylib/.svn/tmp/prop-base") = 0
open("pylib/.svn/tmp/props",
O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 4
fstat64(4, {st_mode=S_IFDIR|0775, st_size=0, ...}) = 0
getdents64(4, /* 2 entries */, 16384) = 48
getdents64(4, /* 0 entries */, 16384) = 0
close(4) = 0
rmdir("pylib/.svn/tmp/props") = 0
open("pylib/.svn/tmp/text-base",
O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 4
fstat64(4, {st_mode=S_IFDIR|0775, st_size=0, ...}) = 0
getdents64(4, /* 2 entries */, 16384) = 48
getdents64(4, /* 0 entries */, 16384) = 0
close(4) = 0
rmdir("pylib/.svn/tmp/text-base") = 0
getdents64(3, /* 0 entries */, 16384) = 0
lseek(3, 0, SEEK_SET) = 0
getdents64(3, /* 5 entries */, 16384) = 144
open("pylib/.svn/tmp/prop-base",
O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 4
fstat64(4, {st_mode=S_IFDIR|0775, st_size=0, ...}) = 0
getdents64(4, 0xb957cfd0, 16384) = -1 ENOENT (No such file or directory)
close(4) = 0
rmdir("pylib/.svn/tmp/prop-base") = -1 ENOENT (No such file or directory)
gettimeofday({1226688574, 416580}, NULL) = 0
select(0, NULL, NULL, NULL, {0, 683420}) = 0 (Timeout)
write(2, "svn: Can't remove 'pylib/.svn/tmp"..., 72) = 72
close(3) = 0
brk(0xb957e000) = 0xb957e000
exit_group(1) = ?
As you can see, there's two calls to rmdir("pylib/.svn/tmp/prop-base")
-- first one succeeds, the second one fails. This is probably the same
bug as seen in this thread:
http://www.nabble.com/SVN-repository-possible-race-condition-td19621832.html
This happens when I try to "svn switch" from trunk to a branch. The
same operation works when on local filesystem. I can see this
occurring on svn-1.5.2 and svn-1.5.4 (fedora 9 and fedora 10).
Please advise -- I can't use subversion in our testing environment at
the moment due to this issue. :(
Cheers,
--
Konstantin Ryabitsev
Montréal, Québec
Received on 2008-11-17 18:30:31 CET