[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: Johnathan Gifford <jgifford_at_wernervas.com>
Date: 2007-08-01 19:58:05 CEST

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.
>>
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Wed Aug 1 19:57:08 2007

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