[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: Bastian Ugimachi <bastian.ugimachi_at_googlemail.com>
Date: Thu, 21 Apr 2011 14:52:33 +0200

2011/4/21 Daniel Shahaf <danielsh_at_elego.de>

> Bastian Ugimachi wrote on Thu, Apr 21, 2011 at 14:17:00 +0200:
> > 2011/4/21 Daniel Shahaf <danielsh_at_elego.de>
> >
> > > >
> > > > 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.)
> > >
> >
> > OK, I performed "xxd -s 325 -l 488 2"
> >
> > 0000145: 7465 6d2e 6f75 742e 7072 696e 746c 6e28 tem.out.println(
> > 0000155: 2256 6965 7274 6572 2057 7572 6622 293b "Vierter Wurf");
> > 0000165: 0a09 0953 7973 7465 6d2e 6f75 742e 7072 ...System.out.pr
> > 0000175: 696e 746c 6e28 2246 c3bc 6e66 7465 7220 intln("F..nfter
> > 0000185: 5775 7266 2229 3b0a 0909 5379 7374 656d Wurf");...System
> > 0000195: 2e6f 7574 2e70 7269 6e74 6c6e 2822 5365 .out.println("Se
> >
> > You can imagine - this is just some Java code...
> > By the way... the source file is UTF8 encoded and where xxd says
> "F..nfter",
> > it should be "Fünfter" - I did some Special-Character-Testing here. Might
> > this be some problem?
> >
>
> No, that's okay: the bytes there (0xC3 0xB3) are one UTF-8 encoding of "ü".
>
> >
> > > 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
> > > ]]]
> > >
> >
> > The intersting thing is that the ID in my error message belongs does not
> > belong to the same representation as the part extracted by xxd around the
> > specified bytes...?!
>
> Well, it's corrupted. The correct representation might be somewhere
> nearby --- perhaps a few hundred bytes away (in either direction)?
>

Is there any chance to make this consistent again?
And where could this inconsistence possibly come from?

By the way, I just remarked, that "svnadmin verify ...-r x" is wrong ONLY
for x=2, not for x>=2 as I wrote before. So correcting this one should make
the repository be OK again, I guess?
Received on 2011-04-21 14:53:02 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.