On Thu, Feb 9, 2012 at 11:49 AM, Daniel Shahaf <danielsh_at_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_at_1239696 and fails with
^/subversion/branches/1.7.x_at_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_at_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
Received on 2012-02-09 19:23:47 CET