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

Re: Reproducible checksum mismatch in 'svnadmin load'

From: Daniel Shahaf <danielsh_at_elego.de>
Date: Tue, 8 Mar 2011 21:34:48 +0200

Stefan Fuhrmann wrote on Tue, Mar 08, 2011 at 20:01:56 +0100:
> On 07.03.2011 21:47, Daniel Shahaf wrote:
> >svn-bisect says this started in r1078366.
> >
> Hm. I'm unable to reproduce the issue here (64 bit linux).
> What's more bogus is that the code changed in 1078366
> should not even get executed in your scenario.
>

I'll double-check whether that revnum is the correct one.

> Can you try the following patch:
>
> Index: subversion/libsvn_subr/cache-inprocess.c
> ===================================================================
> --- subversion/libsvn_subr/cache-inprocess.c (revision 1079481)
> +++ subversion/libsvn_subr/cache-inprocess.c (working copy)
> @@ -462,6 +462,7 @@
> move_page_to_front(cache, entry->page);
>
> *found = TRUE;
> + SVN_ERR_MALFUNCTION_NO_RETURN();
> err = func(value_p, entry->value, entry->size, baton, pool);
> return unlock_cache(cache, err);
> }
>
> This code should only get executed if you start svnadmin
> with an -M0 parameter.
>

Trying r1078479 with that patch doesn't trigger the assert.

> -- Stefan^2.
>
> >Daniel Shahaf wrote on Mon, Mar 07, 2011 at 19:33:48 +0200:
> >>I reproducibly run into a checksum mismatch error when dump|load'ing the
> >>svn-org mirror on svn-qavm.apache.org.
> >>
> >>Background: svn-qavm hosts a mirror of the public portion of svn-org.
> >>That mirror was created by svnsync 1.6.6. I dumped it (using
> >>svnadmin dump --deltas -q) and tried to load the dump locally, using an
> >>r1078479 build of $svnadmin, but ran into a checksum mismatch in r75:
> >>
> >>Reproduction:
> >>[[[
> >>% wget -qO- http://svn-qavm.apache.org/files/svn-org-deltas.dump> wgetted-dump
> >>% $svnadmin create wgetted
> >>% $svnadmin load -q wgetted< wgetted-dump
> >>subversion/libsvn_repos/load.c:603: (apr_err=160004)
> >>subversion/libsvn_repos/load.c:354: (apr_err=160004)
> >>subversion/libsvn_delta/svndiff.c:782: (apr_err=160004)
> >>subversion/libsvn_fs_fs/tree.c:2377: (apr_err=160004)
> >>subversion/libsvn_subr/checksum.c:418: (apr_err=160004)
> >>svnadmin: E160004: Filesystem is corrupt
> >>subversion/libsvn_subr/checksum.c:418: (apr_err=200014)
> >>svnadmin: E200014: Checksum mismatch while reading representation:
> >> expected: 98d196829815a448c6add83e96bfacfd
> >> actual: 5010ec0d2818bf780ffdcb12ef4d5bb6
> >>
> >>zsh: exit 1 $svnadmin load -q wgetted< wgetted-dump
> >>% $svnlook youngest wgetted
> >>74
> >>]]]
> >>
> >>For comparison, a recent 1.6.x build, and an installed r1071563M build,
> >>load the dumpfile without error. (The dumpfile goes up to r301.)
> >>
> >>Either the month-old svnadmin is ignoring the checksum mismatch, or the
> >>new one is falsely reporting it; which is the case?
> >>[[[
> >>% $svn log -vr75:74 http://svn-qavm.apache.org/repos/svn-org/
> >>------------------------------------------------------------------------
> >>r75 | kfogel | 2007-04-13 09:16:37 +0300 (Fri, 13 Apr 2007) | 16 lines
> >>Changed paths:
> >> D /trunk/documents/meeting-minutes
> >> A /trunk/documents/meetings (from /trunk/documents/meeting-minutes:73)
> >> R /trunk/documents/meetings/2006-10-05-board-meeting.txt (from /trunk/documents/meeting-minutes/2006-10-05-board-meeting.txt:74)
> >> R /trunk/documents/meetings/2007-03-12-board-meeting.txt (from /trunk/documents/meeting-minutes/2007-03-12-board-meeting.txt:74)
> >> R /trunk/documents/meetings/2007-03-17-board-meeting.txt (from /trunk/documents/meeting-minutes/2007-03-17-board-meeting.txt:74)
> >> R /trunk/documents/meetings/2007-03-17-members-meeting.txt (from /trunk/documents/meeting-minutes/2007-03-17-members-meeting.txt:74)
> >> R /trunk/documents/meetings/board-meeting-template.txt (from /trunk/documents/meeting-minutes/board-meeting-template.txt:74)
> >> R /trunk/documents/meetings/members-meeting-template.txt (from /trunk/documents/meeting-minutes/members-meeting-template.txt:74)
> >>
> >>Use the same templates for meeting agendas as well as for minutes.
> >>
> >>* documents/meeting-minutes/: Renamed to...
> >>
> >>* documents/meetings/: ...here.
> >>
> >>* documents/meetings/board-meeting-template.txt,
> >> documents/meetings/members-meeting-template.txt: Add section for
> >> agenda as well as minutes.
> >>
> >>* documents/meetings/2006-10-05-board-meeting.txt
> >> documents/meetings/2007-03-12-board-meeting.txt
> >> documents/meetings/2007-03-17-board-meeting.txt
> >> documents/meetings/2007-03-17-members-meeting.txt: Add note that
> >> these were written before the new format.
> >>
> >>------------------------------------------------------------------------
> >>r74 | kfogel | 2007-04-13 09:07:47 +0300 (Fri, 13 Apr 2007) | 3 lines
> >>Changed paths:
> >> M /trunk/documents/corporate-cla.txt
> >> M /trunk/documents/individual-cla.txt
> >>
> >>* documents/individual-cla.txt
> >> documents/corporate-cla.txt: Add a question about GPG-signing.
> >>
> >>------------------------------------------------------------------------
> >>]]]
> >
>
Received on 2011-03-08 20:37:33 CET

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