On Thu, Feb 9, 2012 at 11:49 AM, Daniel Shahaf <danie...@elego.de> wrote: > Johan Corveleyn wrote on Thu, Feb 09, 2012 at 02:33:25 +0100: >> Having another look at this failure ... >> >> So far, we know (anyone, correct me if I'm wrong): >> >> - 'svnrdump load' in this test fails with: "svnrdump: E140001: >> Unrecognized record type in stream". It seems the dumpfile contents of >> the file D/H/psi is split incorrectly (property content is dumped >> early, and text delta later). >> >> - It only happens on Windows.
I tried running svnrdump_tests.py 43 again and it passed as before when running the test against an Apache server already running as a service): C:\SVN\src-branch-1.7.x>win-tests.py -d -c --test=svnrdump#43 --url http://localhost --http-library serf Testing Debug configuration on remote repository http://localhost. Running tests in svnrdump_tests.py [1/1]......................success Summary of test results: 1 test PASSED WARNING: no failures, but 'C:\SVN\src-branch-1.7.x\Debug\dav-fails.log' exists from a previous run. However, if I let the test suite start up httpd, then I *do* consistently see the same failure: C:\SVN\src-branch-1.7.x>win-tests.py -d --http-library serf --httpd-dir C:\Apache22 --httpd-port 7829 -u http://127.0.0.1:7829 -c --test=svnrdump#43 Adding password for user jrandom Adding password for user jconstant Starting httpd as daemon ['httpd.exe', '-f', 'C:\\SVN\\src-branch-1.7.x\\Debug\\subversion\\tests\\cmdline\\httpd\\httpd.conf'] Testing Debug configuration on remote repository http://127.0.0.1:7829. Running tests in svnrdump_tests.py [1/1]......................FAILURE At least one test FAILED, checking C:\SVN\src-branch-1.7.x\Debug\dav-tests.log FAIL: svnrdump_tests.py 43: don't drop mergeinfo revs in incremental svnrdump Summary of test results: 1 test FAILED Stopping httpd.exe >> - It only happens with ra_serf (both 1.7.x. and trunk) talking to >> mod_dav_svn from 1.7.x@>=1239697 (i.e. after backport of r1237720 and >> r1239596 (stuff in mod_dav_svn/liveprops.c) from trunk). I confirmed what Johan observed: svnrdump test #43 passes with ^/subversion/branches/1.7.x@1239696 and fails with ^/subversion/branches/1.7.x@1239697. Starting with r1239696 I remerged 1237720 and the test passes. Only when I merged r1239596 did it fail. > There was IRC discussion about this: > http://colabti.org/irclogger/irclogger_log/svn-dev?date=2012-02-09 (~4pm) > > It is suggested there that setting libsvn_ra_serf/update.c:MAX_NR_OF_CONNS > to "2" will prevent ra_serf from driving multiple window handlers > concurrently and thus avoid the bug. (Presumably by causing the file to > finish on the right side of the errant close_directory() call.) I just tried MAX_NR_OF_CONNS=2 with ^/subversion/branches/1.7.x@1242422 and the test still fails: C:\SVN\src-branch-1.7.x>win-tests.py -d --http-library serf --httpd-dir C:\Apache22 --httpd-daemon --httpd-port 7829 -u http://127.0.0.1:7829 -c --test=svnrdump #43 --log-to-stdout Adding password for user jrandom Adding password for user jconstant Starting httpd as daemon ['httpd.exe', '-f', 'C:\\SVN\\src-branch-1.7.x\\Debug\\subversion\\tests\\cmdline\\httpd\\httpd.conf'] Testing Debug configuration on remote repository http://127.0.0.1:7829. START: svnrdump_tests.py . <SNIP> . CMD: C:\SVN\src-branch-1.7.x\Debug\subversion\svnrdump\svnrdump.exe load http://127.0.0.1:7829/svn-test-work/repositories/svnrdump_tests-43 --config-dir C:\SVN\ src-branch-1.7.x\Debug\subversion\tests\cmdline\svn-test-work\local_tmp\config --password rayjandom --no-auth-cache --username jrandom exited with 1 <TIME = 0.246000> ..\..\..\subversion\svnrdump\svnrdump.c:460: (apr_err=140001) ..\..\..\subversion\libsvn_repos\load.c:542: (apr_err=140001) svnrdump: E140001: Unrecognized record type in stream Unexpected output EXPECTED STDERR: ACTUAL STDERR: ..\..\..\subversion\svnrdump\svnrdump.c:460: (apr_err=140001) ..\..\..\subversion\libsvn_repos\load.c:542: (apr_err=140001) svnrdump: E140001: Unrecognized record type in stream DIFF STDERR: --- EXPECTED STDERR +++ ACTUAL STDERR @@ -1,0 +1,3 @@ +..\..\..\subversion\svnrdump\svnrdump.c:460: (apr_err=140001) +..\..\..\subversion\libsvn_repos\load.c:542: (apr_err=140001) +svnrdump: E140001: Unrecognized record type in stream CWD: C:\SVN\src-branch-1.7.x\Debug\subversion\tests\cmdline EXCEPTION: SVNLineUnequal Traceback (most recent call last): File "C:\SVN\src-branch-1.7.x\subversion\tests\cmdline\svntest\main.py", line 1316, in run rc = self.pred.run(sandbox) File "C:\SVN\src-branch-1.7.x\subversion\tests\cmdline\svntest\testcase.py", line 176, in run return self.func(sandbox) File "C:\SVN\src-branch-1.7.x\subversion\tests\cmdline\svnrdump_tests.py", line 545, in dont_drop_valid_mergeinfo_during_incremental_svnrdump_loads [], 0, 'load', sbox.repo_url) File "C:\SVN\src-branch-1.7.x\subversion\tests\cmdline\svntest\actions.py", line 358, in run_and_verify_svnrdump expected_stdout, expected_stderr) File "C:\SVN\src-branch-1.7.x\subversion\tests\cmdline\svntest\verify.py", line 388, in verify_outputs compare_and_display_lines(message, label, expected, actual, raisable) File "C:\SVN\src-branch-1.7.x\subversion\tests\cmdline\svntest\verify.py", line 361, in compare_and_display_lines raise raisable SVNLineUnequal FAIL: svnrdump_tests.py 43: don't drop mergeinfo revs in incremental svnrdump END: svnrdump_tests.py ELAPSED: svnrdump_tests.py 0:00:07.300000 Stopping httpd.exe C:\SVN\src-branch-1.7.x> Paul >> - If 1.7.x is rolled back to before r1239697, the problem does not occur. >> >> - The problem does not occur with mod_dav_svn from trunk, not even >> when rolled back to (before or after) r1237720 or r1239596. >> >> - So far, it has been reproduced by the buildbot svn-slik-w2k3-x64-ra, >> by Stephen Butler, and by my own (32bit) WinXP box. Paul Burba doesn't >> see the failure with his Windows build (debug and release). >> >> >> I'm trying some more experiments. If anyone else has any ideas, shoot ... >> >> -- >> Johan