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

Re: svn verify checksum error -- can't dump

From: Max Bowsher <maxb_at_ukf.net>
Date: 2004-04-23 18:47:19 CEST

Eric Jonas wrote:
> Hello! I'm running svn 1.0.0 on a debian/testing x86 machine, and I have
> been running into errors when trying to dump my repository. Running svn
> verify I get:
> svn: Checksum mismatch on rep '1ok':
> expected: 401a4af07ce03b415eabfb44ace8b11d
> actual: 707192ea2ea542e06f21b81f5820a87f
> The scenario is as follows: I originally had my repository on an alpha,
> which had a dying scsi disk. I performed a successful dump, scp'd the
> file over to this new server, and did a load. No problems. The new
> server keeps the repository on a software raid-1 array, and has never
> reported any disk read problems.
> So, I have a dump file for revisions 0-519 from the original server that
> is fine, and I have made 43 revisions since then. My next thought was,
> take the original dump file, and try to combine it with a dump from the
> new server, for the new revisions. Alas,
> soma:/soma# svnadmin dump -r520:563 projects/soma/svn/ >
> backups/soma.2004.04.23.520-563.dump
> svn: Checksum mismatch on rep '2g5':
> expected: 39f42fd163ef3ac6aed59f2b2b6cc986
> actual: f716062d6b60709714eb3727707032ff
> So now I'm rather stuck, it seems. Is there any way to
> 1. figure out what caused this

No, not really. The particular way the data is corrupted might eliminate
some options though.

> 2. save those 43 revisions?

Yes (well, apart from the contents of the files represented by the corrupt
reps). But not simply.

Either: Modify the dumper to catch SVN_ERR_FS_CORRUPT errors and output some
kind of placeholder data instead.

Or: Examine the repository at the Berkeley DB level, work out which files
are damaged, then tweak the checksums, do a dump, and examine the corrupted
contents of those files.

If it is possible for you to provide me with a copy of your repository, then
create a Berkeley dump by doing:

cd yourrepos/db
for f in *s; do
    db_dump -k -p $f | bzip2 -9c > $f.bdbdump.bz2

and put the 8 .bdbdump.bz2 files on a web/ftp server, and I'll see what I
can do with it.


To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri Apr 23 18:48:24 2004

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.