subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Justin Georgeson <JGeorge...@lgc.com>
Subject RE: corrupt revision, "Reading one svndiff window read beyond the end of the representation"
Date Tue, 03 Aug 2010 00:24:15 GMT
It doesn't come with the CollabNet precompiled binaries (even the -extras package) so I grabbed
a copy from http://svn.apache.org/viewvc/subversion/trunk/contrib/server-side/fsfsverify.py?view=log.
I'm on a RH4.6 with python 2.4.4. With no options it exits with

Traceback (most recent call last):
  File "/opt/CollabNet_Subversion/sbin/fsfsverify.py", line 1120, in ?
    for noderev in strategy:
  File "/opt/CollabNet_Subversion/sbin/fsfsverify.py", line 839, in _nodeWalker
    for x in self._nodeWalker():
  File "/opt/CollabNet_Subversion/sbin/fsfsverify.py", line 839, in _nodeWalker
    for x in self._nodeWalker():
  File "/opt/CollabNet_Subversion/sbin/fsfsverify.py", line 839, in _nodeWalker
    for x in self._nodeWalker():
  File "/opt/CollabNet_Subversion/sbin/fsfsverify.py", line 839, in _nodeWalker
    for x in self._nodeWalker():
  File "/opt/CollabNet_Subversion/sbin/fsfsverify.py", line 839, in _nodeWalker
    for x in self._nodeWalker():
  File "/opt/CollabNet_Subversion/sbin/fsfsverify.py", line 839, in _nodeWalker
    for x in self._nodeWalker():
  File "/opt/CollabNet_Subversion/sbin/fsfsverify.py", line 839, in _nodeWalker
    for x in self._nodeWalker():
  File "/opt/CollabNet_Subversion/sbin/fsfsverify.py", line 839, in _nodeWalker
    for x in self._nodeWalker():
  File "/opt/CollabNet_Subversion/sbin/fsfsverify.py", line 839, in _nodeWalker
    for x in self._nodeWalker():
  File "/opt/CollabNet_Subversion/sbin/fsfsverify.py", line 832, in _nodeWalker
    noderev = NodeRev(self.f, self.currentRev)
  File "/opt/CollabNet_Subversion/sbin/fsfsverify.py", line 678, in __init__
    (rev, offset, length, size, digest) = value.split(' ')
ValueError: too many values to unpack
[svnadmin@hourdcm1 ~]$

________________________________
From: Mark Phippard [markphip@gmail.com]
Sent: Monday, August 02, 2010 5:47 PM
To: Justin Georgeson
Cc: users@subversion.apache.org
Subject: Re: corrupt revision, "Reading one svndiff window read beyond the end of the representation"

Have you tried fsfsverify.py?

Sent from my iPhone

On Aug 2, 2010, at 6:39 PM, Justin Georgeson <JGeorgeson@lgc.com<mailto:JGeorgeson@lgc.com>>
wrote:

I have a repo with >39k revisions. Last week, r39245 was committed, a merge of a single
file from trunk to branch. It is the HEAD revision of that file on that branch. Turns out
this revision is corrupt

[svnadmin@hourdcm3 ~]$ svnadmin verify -r 39245 /repos/prowess
svnadmin: Reading one svndiff window read beyond the end of the representation

I've searched from r30000 to HEAD in this repo and that's the only rev that fails the verify.
All our backup copies have the same issue too. I'm wondering what our options for recovery
are. Some suggestions we have come up with internally are:

1. Developer still has sandbox which reports the parent folder as updated, so have him 'svn
cat' the previous version and commit that, then re-commit the changes from the corrupt revision
2. 'svn rm' the file from the server and re-add it (losing ancestry)
3. Some combination of svndump up to that revision, import to new repo, redo that merge in
new repo, overwrite the revision file with new one
4. delete revision file (seems like bad idea)
5. svn dump up to corrupt revision and everything after bad revision, merge dumps, create
new repo, redo merge

Is there something else we missed? Which of these seems like the safest/easiest?

________________________________
This e-mail, including any attached files, may contain confidential and privileged information
for the sole use of the intended recipient. Any review, use, distribution, or disclosure by
others is strictly prohibited. If you are not the intended recipient (or authorized to receive
information for the intended recipient), please contact the sender by reply e-mail and delete
all copies of this message.

Mime
View raw message