Takács András wrote on Wed, Dec 01, 2010 at 08:16:56 +0100:
> > I suppose the next hint (unless someone has tips specific to arm) would
> > be to see the corrupt lines in the revision file --- can you share them?
> > You can patch or breakpoint in subversion/libsvn_fs_fs/fs_fs.c (that is
> > where the error is generated) to find what lines it complains about.
> 
> The problem is at this line in fs_fs.c:
> if ((str == NULL) || (strlen(str) != (APR_MD5_DIGESTSIZE * 2)))
> Here the length of str is 6, and APR_MD5_DIGESTSIZE*2 should be 32.
> 
> Sorry, but I don't know which is the revision file, I'm not too
> familiar with svn internals. (I'm just using it)
> Did you mean the entries file from the .svn directory? I pasted it below.
> 

No; the error is in the libsvn_fs libraries, which is roughly the
opposite end of the world relative to libsvn_wc's entries files...
(and I bet the error will reproduce even with 'svn mkdir URL', which
doesn't involve an entries file at all)

When the error occurs, fs_fs.c is reading a node-revision header from
some file; and that header is corrupt.  I asked you to look in *that*
file (it will be somewhere under /var/run/svn/db/) and see in what way
it is corrupted.  For example, what is the value of read_rep_offsets()'s
second parameter?

For reference, read_rep_offsets() --- the function where that error
occurs --- is the function that parses the "text:" line in the
following:

[[[
id: c-1.0.r1/998
type: file
count: 0
text: 1 106 44 32 8ac35a19435b31b928de300b32e930cd 
b3f85be4422626e7443b6ddcf60bb451dc7f0560 0-0/_e
cpath: /trunk/A/B/E/alpha
copyroot: 0 /
]]]

so the second parameter is expected to contain the "1 106 ... 0-0/_e" string.

> Thanks!
> 
> Regards,
> András

Reply via email to