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

Re: Windows svnsync test suite failures and a clue

From: Paul Burba <ptburba_at_gmail.com>
Date: Tue, 21 Dec 2010 17:56:23 -0500

On Thu, Dec 16, 2010 at 5:22 PM, Paul Burba <ptburba_at_gmail.com> wrote:
> On Tue, Nov 16, 2010 at 5:55 PM, Paul Burba <ptburba_at_gmail.com> wrote:
>> As some of you know I've recently had some strange failures with the
>> svnsync tests on both trunk and 1.6.x.  All the tests started failing
>> during setup when the stdout of svnsync init was lost, e.g.:
>>
>> [[[
>> C:\SVN\src-branch-1.6.x>run.python.test.DEBUG.bat svnsync 1 -v
>>
>> C:\SVN\src-branch-1.6.x>set TESTNAME=svnsync
>>
>> C:\SVN\src-branch-1.6.x>set CONFIG=Debug
>>
>> C:\SVN\src-branch-1.6.x>if not exist Debug\subversion\tests\cmdline
>> mkdir Debug\subversion\tests\cmdline
>>
>> C:\SVN\src-branch-1.6.x>pushd Debug\subversion\tests\cmdline
>>
>> C:\SVN\src-branch-1.6.x\Debug\subversion\tests\cmdline>python
>> C:\SVN\src-branch-1.6.x\\subversion\tests\cmdline\svnsync_tests.py 1
>> -v
>> CMD: svnadmin.exe create "svn-test-work\local_tmp\repos"
>> --bdb-txn-nosync <TIME = 0.049000>
>> CMD: svn.exe import -m "Log message for revision 1."
>> "svn-test-work\local_tmp\greekfiles"
>> "file:///C%3A/SVN/src-branch-1.6.x/Debug/subversion/tests/cmdline/svn-
>> test-work/local_tmp/repos" --config-dir
>> "C:\SVN\src-branch-1.6.x\Debug\subversion\tests\cmdline\svn-test-work\local_tmp\config"
>> --password rayjandom --no-auth-c
>> ache --username jrandom <TIME = 0.158000>
>> Adding         svn-test-work\local_tmp\greekfiles\A
>> Adding         svn-test-work\local_tmp\greekfiles\A\B
>> Adding         svn-test-work\local_tmp\greekfiles\A\B\lambda
>> Adding         svn-test-work\local_tmp\greekfiles\A\B\E
>> Adding         svn-test-work\local_tmp\greekfiles\A\B\E\alpha
>> Adding         svn-test-work\local_tmp\greekfiles\A\B\E\beta
>> Adding         svn-test-work\local_tmp\greekfiles\A\B\F
>> Adding         svn-test-work\local_tmp\greekfiles\A\mu
>> Adding         svn-test-work\local_tmp\greekfiles\A\C
>> Adding         svn-test-work\local_tmp\greekfiles\A\D
>> Adding         svn-test-work\local_tmp\greekfiles\A\D\gamma
>> Adding         svn-test-work\local_tmp\greekfiles\A\D\G
>> Adding         svn-test-work\local_tmp\greekfiles\A\D\G\pi
>> Adding         svn-test-work\local_tmp\greekfiles\A\D\G\rho
>> Adding         svn-test-work\local_tmp\greekfiles\A\D\G\tau
>> Adding         svn-test-work\local_tmp\greekfiles\A\D\H
>> Adding         svn-test-work\local_tmp\greekfiles\A\D\H\chi
>> Adding         svn-test-work\local_tmp\greekfiles\A\D\H\omega
>> Adding         svn-test-work\local_tmp\greekfiles\A\D\H\psi
>> Adding         svn-test-work\local_tmp\greekfiles\iota
>>
>> Committed revision 1.
>> CMD: svnadmin.exe create "svn-test-work\repositories\svnsync_tests-1"
>> --bdb-txn-nosync <TIME = 0.096000>
>> CMD: svnadmin.exe load --force-uuid --quiet
>> "svn-test-work\repositories\svnsync_tests-1" <TIME = 0.168000>
>> CMD: svnadmin.exe create
>> "svn-test-work\repositories\svnsync_tests-1-1" --bdb-txn-nosync <TIME
>> = 0.134000>
>> CMD: svnlook.exe uuid "svn-test-work\repositories\svnsync_tests-1"
>> <TIME = 0.026000>
>> 6ad9f820-0205-0410-94a2-c8cf366bb2b3
>> CMD: svnadmin.exe setuuid
>> "svn-test-work\repositories\svnsync_tests-1-1"
>> 6ad9f820-0205-0410-94a2-c8cf366bb2b3 <TIME = 0.048000>
>> CMD: svnsync.exe initialize
>> "file:///C%3A/SVN/src-branch-1.6.x/Debug/subversion/tests/cmdline/svn-test-work/repositories/svnsync_tests-1-1"
>> "file:///C%3A/SVN/sr
>> c-branch-1.6.x/Debug/subversion/tests/cmdline/svn-test-work/repositories/svnsync_tests-1"
>> --username jrandom --password rayjandom --config-dir "C:\SVN\src-branc
>> h-1.6.x\Debug\subversion\tests\cmdline\svn-test-work\local_tmp\config"
>> <TIME = 0.314000>
>> EXCEPTION: SVNUnexpectedStdout: []
>> Traceback (most recent call last):
>>  File "C:\SVN\src-branch-1.6.x\subversion\tests\cmdline\svntest\main.py",
>> line 1226, in run
>>    rc = self.pred.run(**kw)
>>  File "C:\SVN\src-branch-1.6.x\subversion\tests\cmdline\svntest\testcase.py",
>> line 121, in run
>>    return self.func(sandbox)
>>  File "C:\SVN\src-branch-1.6.x\\subversion\tests\cmdline\svnsync_tests.py",
>> line 193, in copy_and_modify
>>    run_test(sbox, "copy-and-modify.dump")
>>  File "C:\SVN\src-branch-1.6.x\\subversion\tests\cmdline\svnsync_tests.py",
>> line 157, in run_test
>>    run_init(dest_sbox.repo_url, repo_url)
>>  File "C:\SVN\src-branch-1.6.x\\subversion\tests\cmdline\svnsync_tests.py",
>> line 100, in run_init
>>    raise SVNUnexpectedStdout(output)
>> SVNUnexpectedStdout: []
>> FAIL:  svnsync_tests.py 1: copy and modify
>> ]]]
>>
>> When I first saw these failures on trunk a few weeks ago I didn't
>> think much of them, just figured they were due to some ongoing work.
>> Then the 1.6.x svnsync tests started failing.  I had tested 1.6.13
>> recently without problem, so I built the 1.6.13 tag and sure enough it
>> now failed.
>>
>> My first thought was a recently changed dependency, but I've been
>> using this setup for several months:
>>
>> PLATFORM:
>> ---------
>> MS Windows 7 Home Premium 6.1.7600 Build 7600
>> Intel Core i7 M 620 2.67GHz 4 GB RAM
>> Microsoft Visual Studio 2008 Version 9.0.30729.1 SP
>>
>>
>> DEPENDENCIES:
>> -------------
>> APR: 1.4.2
>> APR-UTIL: 1.3.9
>> Neon: 0.29.3
>> zlib: 1.2.3
>> OpenSSL: 0.9.8m
>> Apache: 2.2.15
>> BDB: 4.8.30
>> sqlite: 3.7.2
>> Python: ActivePython 2.6.5.14
>> Perl: 5.10.1
>> Ruby: ruby 1.8.7
>> java: 1.6.0_21
>> junit: 4.8.2
>> swig: 1.3.40
>> serf: 0.3.0
>>
>> The only thing that I can think of that *has* changed is that I
>> regularly run Windows Update.
>>
>> After trying to figure what was wrong and hitting a dead end, I
>> restored my machine to the state it was in when I ran the 1.6.13
>> tests.  I updated to the latest trunk and 1.6.x and everything worked
>> again.  Until today.  While testing some proposed backports to 1.6.x,
>> I started getting the svnsync test failures again.
>>
>> Cue despair :-P
>>
>> Then, on a lark, I tried to build 1.6.x with the --disable-shared
>> option.  The tests passed.  Because this problem seemed to come and go
>> I tired a clean rebuild with shared libs.  It failed.  3 times I tried
>> shared/static libs, each time the static lib build passed, the shared
>> lib build failed.
>>
>> Does anyone have any idea what could be the problem?  Obviously I'm
>> using --disable-shared for the time being, but would like to figure
>> out what is happening here.
>>
>> Thanks,
>>
>> Paul
>
> Returned to this problem this week, but got nowhere.
>
> I did learn one new thing:
>
> 1) When testing shared builds against Apache (ra_serf or ra_neon) the
> tests pass!  They still fail over ra_svn or ra_local.
>
> Not sure exactly what this tells us, but it seems relevant.
>
> Thinking this might be an OS bug I went in search of known problems
> with Windows 7.  I came across this promising hotfix
> (http://support.microsoft.com/kb/971163/EN-US), but it didn't help.
>
> I also tried upgrading Python from 2.6.5 to 2.7.1 and then building my
> own 2.7.1.  Nothing.
>
> I'm pretty close to putting this permanently on the back burner, so if
> anyone has any ideas, I'll be eternally thankful (I'm not ready to
> give out cash prizes yet, but I'm getting close :-)
>
> Paul

Problem solved, finally!

Using a second work-issued Win7 box to build Subversion, I experienced
the same svnsync and svnrdump test failures I saw on my primary dev
box. So I was able to replicate the problem, but was not closer to
solving it. I took a third box and did a clean install of the 8/6/09
release of Win 7 Pro x64 (because I was pretty sure a Windows Update
in the past 4 months was to blame, so I wanted to start with an OB
build prior to that).

I turned off auto updates during the install process and once up and
running, I tested the binaries I built on one of my "broken" Win7
boxes. The svnsync and svnrdump tests passed. Then I spent a long
boring slog building up this third box to be as similar as possible to
my two "broken" Win 7 boxes.

The most painful part was installing every Windows Update since 8/6/09
one at a time* (usually requiring a reboot) in an effort to find the
offending update. The slog paid off though, eventually I found the
problem update: The optional Windows Live Essentials** published
10/26/2010 (which is very roughly around the time I started noticing
test failures):

[[[
Windows Live Essentials 2011 (KB2434419)
Download size: 1.2 MB
You may need to restart your computer for this update to take effect.
Update type: Optional
Do more with Windows on your PC with free programs from Microsoft for
photos, movies, instant messaging, email, social networking, and more.
Get it all in one simple download.
          Windows Live Essentials includes Messenger, Photo Gallery,
Mail, Movie Maker, Writer, Family Safety, and Windows Live Mesh, plus
Bing Bar, Messenger Companion, Microsoft Outlook Hotmail Connector,
Microsoft Outlook Social Connector Provider for Windows Live
Messenger, and Microsoft Silverlight.
          Installing this update will replace your Windows Live
Toolbar with Bing Bar.
More information:
http://explore.live.com/windows-live-essentials
http://explore.live.com/microsoft-service-agreement
http://privacy.microsoft.com/
http://explore.live.com/windows-live-2011-system-requirements
Help and Support:
http://explore.live.com/windows-live-essentials-help-center
]]]

This hardly seems an obvious culprit, but after uninstalling it on
both my problematic boxes, all the svnsync and svnrdump tests passed.

Being somewhat incredulous that this was the problem, I reinstalled
WLE2011 and sure enough the tests failed again. After uninstalling,
the tests again worked.

So WLE2011 is the problem. Why is it a problem? I don't know, and
since I don't really require these apps, I'm not going to spend any
more time at the moment trying to figure it out...I'm retiring from
the "mysterious Windows failure game" for the rest of 2010 ;-)

Paul

* I did group some together that I thought couldn't possibly be the
culprit (a potentially bad plan seeing what was ultimately to blame!)

** WLE2001 is actually 7 different products: Messenger, Photo Gallery
and Movie Maker, Windows Live Mesh, Messenger Companion, Mail, Writer,
and Family Safety.
Received on 2010-12-21 23:57:01 CET

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.