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

Re: "{svn | svnadmin}: Decompression of svndiff data failed" and "svn: Malformed representation header", "svn: Corrupt representation" messages

From: Daniel Shahaf <danielsh_at_elego.de>
Date: Thu, 21 Apr 2011 14:00:47 +0300

Bastian Ugimachi wrote on Thu, Apr 21, 2011 at 12:29:33 +0200:
> Strangely, "svnadmin recover /path/to/rep" successfully succeeds:
> svnadmin recover /path/to/rep
> Repository lock acquired.
> Please wait; recovering the repository may take some time...
> Recovery completed.
> The latest repos revision is 8.
>

'svnadmin recover' in FSFS recreates 'current', and maybe a few other
things, but it most definitely doesn't fix broken svndiff deltas. (How
would it do so? The filesystem may not have the redundant storage from
which to reconstruct them...)

>
> I furthermore integrated svn into my IDE (Eclipse Helios) and also tried a
> checkout of the project, of which revision 2 (the corrupt one) consisted.
> The process aborts, showing the following error:
> Get content for 'svn+ssh://server.fqdn.com/path/to/rep/ProjectName/.project'
> failed.
> svn: Malformed representation header
> svn: Corrupt representation '2 325 387 370 d66781ba03f9571d044bf8f257601485
> 0fd3590a02c19961e78d0ef76efa710d9d6ef194 1-2/_c'
>

That's the interesting part. It tells you that the representation
(either the full plaintext or a binary delta) which starts at byte 325
of the r2 revision file is corrupt. You can continue by looking at that
offset of that revision and see what bytes you find there. ('xxd -s 325
-l 488 /path/to/revs/0/2' for example.)

A representation header is either "PLAIN\n" or "DELTA\n" or "DELTA $some
$numeric $parameters\n". A representation terminates in the word
"ENDREP\n". The representation's length (excluding header and trailer)
should be 387 bytes. Details in the file subversion/libsvn_fs_fs/structure
in the source tree.

Here's an example:

[[[
DELTA
SVN[9 chars]This is the file 'iota'.
ENDREP

...

text: 1 605 37 25 2d18c5e57e84c5b8a5e9a6e13fa394dc 2c0aa9014a0cd07f01795a333d82485ef6d083e2 0-0/_14
]]]

Happy digging,

Daniel

> I guess that these errors are related to each, aren't they?
>
> It would be great if someone out there could help me out - there are not
> many revisions within the repo currently, but I need to report about the
> success of the test.
>
> Thank anyone for reading and helping!
> Bastian
Received on 2011-04-21 13:12:04 CEST

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.