You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Daniel Shahaf <d....@daniel.shahaf.name> on 2011/05/18 12:18:54 UTC

Re: fsverify.py unable to fix invalid svndiff header

Stefan Sperling wrote on Wed, May 18, 2011 at 12:12:48 +0200:
> On Wed, May 18, 2011 at 10:53:13AM +0200, Daniel Shahaf wrote:
> > What came out of this thread?  Is this one of the known corruption kinds?
> 
> It doesn't seem to be known.
> It could be a flipped bits on the hard drive for all we know.
> 
> > Is this is a case of a data block being written partially in one place
> > and fully in another, or a case of a corrupt or truncated data block?
> 
> Steinar shared the bad revision file privately.
> Philip Martin and myself spent a few hours at the Apache Retreat looking
> at the file but we got nowhere.
> 
> There doesn't seem to be a duplicated block. The revision file itself seems
> to be fine, expect that one of the lengths of the bad rev doesn't seem to

Huh?  Are you referring to the two 'length' attributes in the text: and
data: attributes of a node-revision?  In what way is it wrong?

> make sense. The bad representation we extracted from the file fails to
> decompress with zlib (which is what fsfsverify reported).
> 
> We could get the revision to verify fine by referring the node revision
> to a different representation but that is cheating and might break
> subseuent revs.
> 
> Steinar, I'm sorry we can't help quickly here. At the moment I have no time
> to look at this further. I hope you have a good backup you can restore from.

Re: fsverify.py unable to fix invalid svndiff header

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Stefan Sperling wrote on Wed, May 18, 2011 at 12:29:41 +0200:
> On Wed, May 18, 2011 at 12:18:54PM +0200, Daniel Shahaf wrote:
> > > There doesn't seem to be a duplicated block. The revision file itself seems
> > > to be fine, expect that one of the lengths of the bad rev doesn't seem to
> > 
> > Huh?  Are you referring to the two 'length' attributes in the text: and
> > data: attributes of a node-revision?  In what way is it wrong?
> 
> I don't remember exactly.
> I'll need a bit of time to dig into the file again before I can give a
> precise answer.

Okay.

Julian and I's discussion today raised improper memory accesses as one
potential cause --- and it could easily account for bogus rep-size (and
rep-expanded-size) issues as well.

[There was also a suggestion to get whoever can reproduce corruptions to
run mod_dav_svn under valgrind :-).]


Re: fsverify.py unable to fix invalid svndiff header

Posted by Stefan Sperling <st...@elego.de>.
On Wed, May 18, 2011 at 12:18:54PM +0200, Daniel Shahaf wrote:
> > There doesn't seem to be a duplicated block. The revision file itself seems
> > to be fine, expect that one of the lengths of the bad rev doesn't seem to
> 
> Huh?  Are you referring to the two 'length' attributes in the text: and
> data: attributes of a node-revision?  In what way is it wrong?

I don't remember exactly.
I'll need a bit of time to dig into the file again before I can give a
precise answer.

Re: fsverify.py unable to fix invalid svndiff header

Posted by Stefan Sperling <st...@elego.de>.
On Wed, May 18, 2011 at 12:18:54PM +0200, Daniel Shahaf wrote:
> > There doesn't seem to be a duplicated block. The revision file itself seems
> > to be fine, expect that one of the lengths of the bad rev doesn't seem to
> 
> Huh?  Are you referring to the two 'length' attributes in the text: and
> data: attributes of a node-revision?  In what way is it wrong?

I don't remember exactly.
I'll need a bit of time to dig into the file again before I can give a
precise answer.