2010/12/3 Philip Martin <philip.martin_at_wandisco.com>:
> Takács András <wakoond_at_gmail.com> writes:
>
>> / # svn mkdir file:///var/svn/testrepo/xxx -m "aaa"
>> fs_fs: [LINE 2082] calling svn_fs_fs__read_noderev
>> fs_fs: [LINE 2140] calling read_rep_offsets '0 0 4 4
>> 2d2977d1c96f487abe4a1e202dd03b4e'
>> read_rep_offsets: [LINE 1947] '0 0 4 4 2d2977d1c96f487abe4a1e202dd03b4e'
>> read_rep_offsets: [LINE 1956] '0'
>> read_rep_offsets: [LINE 1973] '0'
>> read_rep_offsets: [LINE 1984] '4'
>> read_rep_offsets: [LINE 1995] '4'
>> read_rep_offsets: [LINE 2009] '2d2977d1c96f487abe4a1e202dd03b4e'
>> apr_file_open: '/var/svn/testrepo/db/transactions/0-0.txn/node.0.0'
>> Call svn_fsfs__write_noderev in svn_fs_fs__put_node_revision [LINE 2390]
>> svn_fsfs__write_noderev HEADER_TEXT
>> rev 0
>> offs 4618626049922564096
>> size 4
>> exp size 4
>> md5 2d2977d1c96f487abe4a1e202dd03b4e
>> svn_fsfs__write_noderev HEADER_TEXT OK
>
> So here the file should contain the line
>
> text: 0 0 4 4 2d2977d1c96f487abe4a1e202dd03b4e
This line is in /var/svn/testrepo/db/revs/0/0 file.
It is parsed correctly.
>
>> fs_fs: [LINE 2082] calling svn_fs_fs__read_noderev
>> fs_fs: [LINE 2140] calling read_rep_offsets '0 4 4 531704 (null)'
>> read_rep_offsets: [LINE 1947] '0 4 4 531704 (null)'
>
> but here when you read the file you get the wrong data. Is the file
> corrupt or does the problem occur svn_fs_fs__read_noderev?
I don't know the internal mechanism of subversion, so I don't know
what is this second text representation.
I guess it is generated for the committing (next) revision.
The issue coming (I think) from this function: svn_fsfs__write_noderev
which is called from svn_fs_fs__put_node_revision
>
>> read_rep_offsets: [LINE 1956] '0'
>> read_rep_offsets: [LINE 1973] '4'
>> read_rep_offsets: [LINE 1984] '4'
>> read_rep_offsets: [LINE 1995] '531704'
>> subversion/libsvn_fs_fs/fs_fs.c:2239: (apr_err=160004)
>> svn: Corrupt node-revision '0.0.t0-0'
>> subversion/libsvn_fs_fs/fs_fs.c:2006: (apr_err=160004)
>> svn: Malformed text representation offset line in node-rev
>> read_rep_offsets: apr_strtok #4 last_string '' string '0' str '(null)'
>> strlen(str) 6 (APR_MD5_DIGESTS
>> IZE*2) 32 revision 0 offset 4 size 0 expsize 4
>
> --
> Philip
>
Received on 2010-12-03 11:06:22 CET