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

Re: Commit failure: checksum mismatch

From: <kfogel_at_collab.net>
Date: 2003-10-02 19:56:02 CEST

james-tigris@jrv.org writes:
> SVN revision 7183 (~ 0.30.0), locally compiled, without local changes
> except debug code after the success return path in apr_file_rename ()
> in apr\file_io\win32\open.c (i.e., in the error path, not encountered
> in this test). Test system is Windows XP, all service packs, with P-4
> Hyper-thread enabled (pseudo dual processor). DB 4.0.14. Note that
> this was with a local file:// repository on a local USB2 disk.

Just a sanity check: "all service packs" includes the one mentioned
here?

   http://subversion.tigris.org/project_faq.html#windows-xp-server

(I know you've probably already been there, just pointing it out on
the unlikely chance that you missed it somehow...)

Also, Berkeley DB prior to 4.2 has been reported to interact badly
with real dual processor systems (sorry I don't have the thread handy,
but I think there are references to it on this list). I don't know
what a pseudo dual processor is -- pipelining on steroids? -- but can
you shut it off and try to reproduce with exactly one regular
processor?

Finally, a side note: I doubt very much this is related to the problem
mentioned in

   http://www.contactor.se/~dast/svn/archive-2003-10/0095.shtml

but hey, anything's worth looking into when all sensible leads have
failed.

-Karl

 
> Four instances of the script at the end were run: "commit.cmd X 100".
> Each script instance uses a separate local directory and separate
> directory repository. After each commit each of the 100 files is
> changed and the loop repeated.
>
> One runner error after 1,017 iterations:
>
> Sending x99
> Transmitting file data .c:\src\subversion\src\subversion\libsvn_client\commit.c:727: (apr_err=160004)
> svn: Filesystem is corrupt
> svn: Commit failed (details follow):
> c:\src\subversion\src\subversion\libsvn_fs\reps-strings.c:751: (apr_err=160004)
> svn: svn_fs__rep_contents: checksum mismatch on rep "8es7":
> expected: c2158c386b2587af8121f71cff2550ae
> actual: 07d36b3d270f5ab63eca812084d28d54
>
> The other runner error after 907 iterations. Note that the scripts
> stop after any instance encounters an error, so this error happened at
> about the same time as the above.
>
> Sending x99
> Transmitting file data ....................................................................................................c:\src\subversion\src\subversion\libsvn_client\commit.c:727: (apr_err=160004)
> svn: Filesystem is corrupt
> svn: Commit failed (details follow):
> c:\src\subversion\src\subversion\libsvn_fs\tree.c:2586: (apr_err=160004)
> svn: Commit succeeded; deltification failed
> c:\src\subversion\src\subversion\libsvn_fs\reps-strings.c:835: (apr_err=160004)
> svn: txn_body_read_rep: checksum mismatch on rep "8es6":
> expected: e7d4067aa21f61a7bbe951b5e52e5267
> actual: 07d36b3d270f5ab63eca812084d28d54
>
> The other two runners stopped at 1,014 and 910 iterations because the
> above runners stopped, not because of any error.
>
> The NT test script:
>
> F:\svn-test\d>if errorlevel 1 goto stop
> setlocal
> set FILES=%2
> rem set REPOS=http://127.0.0.1/svn/svn-test
> set REPOS=file:///svn-test/repos
> set COUNT=0
> set STOPPER=svn-stop
> set SVN=C:\src\subversion-debug\src\Debug\subversion\clients\cmdline\svn.exe
> set SVNADMIN=C:\src\subversion-debug\src\Debug\subversion\svnadmin\svnadmin.exe
>
> if not exist repos mkdir repos
> if not exist repos\db %SVNADMIN% create repos
>
> pause
>
> mkdir %1
> set I=1
> :mkfiles
> echo %COUNT% > %1\x%I%
> set /a I=%I% + 1
> if %I% leq %FILES% goto mkfiles
>
> %SVN% import -m - %1 %REPOS%/%1
> rm -rf %1
> %SVN% checkout %REPOS%/%1 %1
> cd %1
>
> :loop
> set /a COUNT=%COUNT% + 1
> title %1 commit %COUNT%
>
> set I=1
> :files
> if exist ..\%STOPPER% goto exit
> echo %COUNT% > x%I%
> set /a I=%I% + 1
> if %I% leq %FILES% goto files
>
> %SVN% commit -m -
> if errorlevel 1 goto stop
> if not exist ..\%STOPPER% goto loop
>
> :stop
> if exist ..\%STOPPER% goto exit
>
> echo > ..\%STOPPER%
>
> :exit
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: dev-help@subversion.tigris.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Oct 2 20:47:11 2003

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

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