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

RE: Problem accessing repository in latest revision

From: Marc Haesen <marc.haesen_at_telindus.com>
Date: 2003-01-10 10:38:51 CET

Thanks,
Dumping and loading solved the problem.

Marc

-----Original Message-----
From: B. W. Fitzpatrick [mailto:fitz@red-bean.com]
Sent: Friday, January 10, 2003 08:49 AM
To: Marc Haesen
Cc: dev@subversion.tigris.org
Subject: Re: Problem accessing repository in latest revision

Marc Haesen <marc.haesen@telindus.com> writes:
>
> When I try to access my repository using the latest revision a get the
> following error:
> svn: Filesystem is corrupt
> svn: svn_fs__rep_contents: checksum mismatch on rep "0":
> expected: d4 1d 8c d9 8f 00 b2 04 e9 80 09 98 ec f8 42 7e
> actual: ef fd 2c 5b 6f 40 c0 54 96 ad 82 98 80 93 ec 13
>
> I don't have this problem when I use revision 4304 of the sources.
> When updating to the latest revision, should I convert my repository?

There was a period--from revision 4282 to 4297--where we had some
buggy checksumming code in the repository, and it looks like you
committed to your repository using that codebase. Here's the relevant
email (and the cure for your problem--unfortunately, it's going to
require a dump and a load):

--------------------8-<-------cut-here---------8-<-----------------------
    Date: Wed, 8 Jan 2003 16:06:28 -0600 (CST)
    Message-Id: <200301082206.h08M6SP65936@newton.ch.collab.net>
    From: Karl Fogel <kfogel@newton.ch.collab.net>
    To: dev@subversion.tigris.org
    Subject: do not upgrade repository past rev 4282

    People who have upgraded their repository code since revision 4282
    probably have spurious checksums in their repositories now. Sorry,
    folks -- I didn't detect the lossage before, because I made a typo in
    svn_fs__rep_undeltify() which allowed 'make check' to pass (see the
    correction below).

    The problem was: when a representation was created, it was initialized
    with the checksum for the empty string (which is correct, as far as it
    goes). But checksums are not yet kept up-to-date as reps acquire
    data, so it became invalid the first time the rep was changed -- and
    the code failed to detect this, because of the missing 'return' in
    svn_fs__rep_undeltify().

    I committed a fix for this just now, in revision 4297. The fix is to
    (temporarily) store a checksum of all zeros for new reps. This is the
    magical "always succeed" checksum in the filesystem code, so it's
    functionally equivalent to not having a checksum there at all, which
    is fine until the checksum updating is finished.

    I hope the number of people affected by this is minimal. If you're
    one of the unfortunates, you'll start getting checksum mismatch errors
    when you access certain files. The solution is to dump your
    repository using the old svnadmin, and load with the new one. Very
    sorry for the inconvenience; please post to dev if this solution
    doesn't work, or if you have other problems.
--------------------8-<-------cut-here---------8-<-----------------------

-Fitz

--
Brian W. Fitzpatrick    <fitz_at_red-bean.com>   http://www.red-bean.com/fitz/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Jan 10 10:39:36 2003

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