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