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

Re: "Can't read directory" - what is the way out?

From: Rick Jones <rick.jones2_at_hp.com>
Date: 2007-08-10 03:28:48 CEST

I've been messing around a bit, and it seems that I only get this error
when I commit "a lot" - or rather I don't seem to get the error when I
commit "a little"

for example, I have a repository at:


which just had one file in it called "foo." I could make a small one
liner change to foo and commit it without errors like those in the
previous message.

however, the commit of something more substantial or at least to a more
substantial repository - like something in my netperf2 repository -
would get that unable to read directory error. even if it was just a
one-liner change.

soooo, I cut the number of apache processes way back, attached to each
of them with strace and tried another netperf2 commit.

i then brought those traces to a working directory for sandbox, svn
added them, and tried to commit and lo and behold I get:

raj@tardy:~/sandbox_work$ svn commit -m "strace of apache for commit error"
Adding apache.16085
Adding apache.2736
Adding apache.2737
Adding apache.2739
Adding apache.2740
Transmitting file data .....svn: Commit failed (details follow):
svn: MERGE request failed on '/svn/sandbox/trunk'
svn: Can't read directory '/svn/sandbox/db/transactions/39-1.txn':
Partial results are valid but processing is incomplete

just like with netperf2. Of course the straces are there in the
repository. The one called spache.2739 appears to be very interesting -
it shows the code attempting to lstat the transaction directory about
100 or so lines/system calls after it was rmdir'ed:

1343:2739 unlink("/svn/netperf2/db/transactions/131-1.txn/node.1t.0") = 0
{st_dev=makedev(0, 0), st_ino=2051, st_mode=0, st_nlink=0,
st_uid=1356285, st_gid=127, st_blksize=4096, st_blocks=8,
st_size=141733920801, st_atime=0, st_mtime=0, st_ctime=0}) = 0
unlink("/svn/netperf2/db/transactions/131-1.txn/node.3.0.children") = 0
1348:2739 rmdir("/svn/netperf2/db/transactions/131-1.txn") = 0
1428:2739 lstat64("/svn/netperf2/db/transactions/131-1.txn",
0x419da908) = -1 ENOENT (No such file or directory)

i've no idea if that is "normal" but it does look suspicious. I'm
hoping someone can look at the system call trace(s) there in the sandbox
repos and tell me if that is indeed normal, or if it does indicate an
error on my part or a bug somewhere.



rick jones

To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri Aug 10 03:27:21 2007

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

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