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

Re: File Corruption Problem

From: J Kramer <kramer.newsreader_at_gmail.com>
Date: 2007-08-01 20:49:31 CEST

Hi Jonathan,

Thanks so much for your help I really appreciate it. I wrote a batch file
(yes this is Windows) to dump the revisions. I'm not sure that I'm doing it
correctly, though. I've tried doing it a couple of different ways. Here's
an error that I'm getting:

E:\SVN>svnadmin dump PATTRepository -r 111 --incremental 1>rep111
svnadmin: Can't set position pointer in file 'PATTRepository\db\revs\110':
An at
tempt was made to move the file pointer before the beginning of the file.

E:\SVN>svnadmin dump PATTRepository -r 111 --deltas 1>rep111
svnadmin: Can't read file 'PATTRepository\db\revs\110': End of file found

It looks like svnadmin dump is trying to read revision 110. Is there a way
to run it that won't? I thought that --deltas would?

John

On 8/1/07, Johnathan Gifford <jgifford@wernervas.com> wrote:
>
> When we encounter our issue like this last year, it was due to hardware
> failure that corrupt about 12 revisions and didn't find for about six
> months at which we were about 4000 revision beyond. Your 110 revision
> may not be the only revision that is bad. At this point, you really
> need to try identifying each revision that is bad. This will involve
> dumping incrementally every revision from 111 to HEAD.
>
> If your repository is FSFS, you can also inspect each revision in the
> repository in the db/revs directory of the repository. If all the
> content is garbage for the revision file instead of being laid out
> logically, this is a bad revision, but the dump will be more accurate if
> the revision is bad. We had a couple files that looked good, but
> wouldn't dump. We think the end of file indicator was missing and the
> dump didn't know how to handle that and then erred out.
>
> There are couple tools available for FSFS to inspect and possibly
> repair a revision that are available on the Internet as well. Just
> google for SVN FSFS and corruption and I think you'll find them.
>
> Do you have a support contract with someone like CollabNet? Many
> support providers have tools they've developed internally to deal with
> issues like this. I know CollabNet does and the fixed our revisions.
> If you have e-mails displaying the diffs for each revision committed,
> this will also help them reconstruct the revision.
>
> Johnathan
>
> >>> On Wed, Aug 1, 2007 at 12:34 PM, in message
> <99fe69350708011034k184ef64dm49e8170421e19a78@mail.gmail.com>, "J
> Kramer"
> <kramer.newsreader@gmail.com> wrote:
> > It did. I got the error:
> >
> > svnadmin: Can't set position pointer in file 'db\revs\110': An
> attempt was
> > made
> > to move the file pointer before the beginning of the file.
> >
> > I don't necessarily need to recover the deltas from that transaction.
> I
> > need to have a valid repository. Also, I need the current files to
> be
> > correctly stored in the repository. It is likely that most of that
> revision
> > has been subsumed by new commits anyway, but I don't know how to make
> the
> > repository whole again.
> >
> > Any help would be appreciated. In the mean time, I'm trying to get
> my hands
> > on those offsite backups which will (hopefully) contain the revision
> in
> > uncorrupted form.
> >
> > John
> >
> > On 8/1/07, Johnathan Gifford <jgifford@wernervas.com> wrote:
> >>
> >> Have you run 'svnadmin verify' on the repository yet? Did it fail
> at
> >> that same revision number?
> >>
> >> Johnathan
> >>
> >> >>> On Tue, Jul 31, 2007 at 6:41 PM, in message
> >> <99fe69350707311641x1c0f2b58nf46fbc687b7f40f1@mail.gmail.com>, "J
> >> Kramer"
> >> <kramer.newsreader@gmail.com> wrote:
> >> > Hi. First let me apologize to those of you who read the SVN
> Google
> >> > group. This question is posted there, but it looks like few
> people
> >> read
> >> > that group (and this is a crucial problem).
> >> >
> >> > I'm running SVN over Apache and having an issue. It seems that
> >> > an older revision file (110) is corrupt. We are on revision 998
> >> right
> >> > now and haven't had any problems before this. The on- site back
> ups
> >> > for this file are corrupt also (well, the files are okay, but
> empty,
> >> I
> >> > presume as a result of the original being corrupt). There are
> some
> >> > older off- site backups that might be able to be used to
> restore.
> >> >
> >> > My apache error log is as follows:
> >> >
> >> > [Tue Jul 31 14:12:43 2007] [error] [client 131.252.150.116]
> Unable
> >> to
> >> > PUT new contents for /svn/PATTRepository/!svn/wrk/f312b441-
> 4ca6-
> >> 1045-
> >> > bbac- 214dfd993366/PATT Development/trunk/PATT
> Libraries/Merged/SW,
> >> > GENERIC.LIX. [403, #0]
> >> > [Tue Jul 31 14:12:43 2007] [error] [client 131.252.150.116] Could
> >> not
> >> > prepare to write the file [500, #70014]
> >> > [Tue Jul 31 14:12:43 2007] [error] [client 131.252.150.116] Can't
> >> read
> >> > file 'E:\\SVN\\PATTRepository\\db\\revs\\110': End of file found
> >> > [500, #70014]
> >> > [Tue Jul 31 14:12:43 2007] [error] [client 131.252.150.116]
> Unable
> >> to
> >> > PUT new contents for /svn/PATTRepository/!svn/wrk/f312b441-
> 4ca6-
> >> 1045-
> >> > bbac- 214dfd993366/PATT Development/trunk/PATT
> Libraries/Merged/SW,
> >> > GENERIC.LIX. [403, #0]
> >> > [Tue Jul 31 14:12:43 2007] [error] [client 131.252.150.116] Could
> >> not
> >> > prepare to write the file [500, #160012]
> >> > [Tue Jul 31 14:12:43 2007] [error] [client 131.252.150.116]
> Cannot
> >> > write to the prototype revision file of transaction '998- 1'
> because
> >> a
> >> > previous representation is currently being written by this
> process
> >> > [500, #160012]
> >> >
> >> > Why am I just getting this error message now? I've committed
> this
> >> > file many times before this. Is it because I had to reinstall
> SVN
> >> > recently?
> >> >
> >> > Is there a way to fix this without recovering rev 110? I have all
> of
> >> the
> >> > new files in the repository.
> >>
> >>
>
>
Received on Wed Aug 1 20:48:11 2007

This is an archived mail posted to the Subversion Users mailing list.