Bug 142082

Summary: Fix the SVN issue on the WinCairo buildbot
Product: WebKit Reporter: Csaba Osztrogonác <ossy>
Component: New BugsAssignee: Alex Christensen <achristensen>
Status: RESOLVED FIXED    
Severity: Blocker CC: achristensen, bfulgham, ossy
Priority: P1    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   

Description Csaba Osztrogonác 2015-02-27 03:06:21 PST
The WinCairo bot started to fail again with the following error:
svn: E120106: ra_serf: The server sent a truncated HTTP response body.

First failing build:
https://build.webkit.org/builders/WinCairo%2064-Bit%20Release/builds/44298

It stucked in an infinte loop again:
- try to checkout the WebKit repository
- fail with this error
- rm -rf <repository>

I noticed this error when this bot was resurrected, and it happened again.
Comment 1 Brent Fulgham 2015-02-27 09:08:18 PST
Alex -- it looks like someone updated subversion to 1.8. I've found that this version fails (with this error); we have to stay with subversion 1.7.
Comment 2 Alex Christensen 2015-02-27 13:08:47 PST
I fixed it manually and left it with svn 1.8.  I could change the svn version if it becomes a common problem.  If it did svn cleanup instead of rm -rf, it would have fixed the problem itself.
Comment 3 Csaba Osztrogonác 2015-02-27 14:56:50 PST
(In reply to comment #2)
> I fixed it manually and left it with svn 1.8.  I could change the svn
> version if it becomes a common problem.  If it did svn cleanup instead of rm
> -rf, it would have fixed the problem itself.

rm -rf on SVN error is buildbot internal, unfortunately you can't change it
easily. But we used a workaround for it on Linux long time ago because of
internet connection issues. It should work on Windows too. The trick is an 
SVN wrapper script, which tries to run the original command first. If it 
fails, it calls svn cleanup and then retry the original command.

#!/bin/bash
SVN_BIN=/usr/bin/svn
if [ "x$1" != "xlog" -a "x$1" != "xinfo" ] ; then
    ($SVN_BIN $*) || ($SVN_BIN cleanup &>/dev/null && $SVN_BIN $*)
else
    $SVN_BIN $*
fi

Of course it isn't an ultimate solution, because what if the command
fails more than once. But it was unlikely, one cleanup was enough for
us in 99% of the cases.

One important thing: the original output must be the same, because
the buildbot parses it and doesn't like extra output generated by
cleanup or echoing some debug information. I can't remember exactly
why, but svn info and log didn't like this cleanup at all.
Comment 4 Alex Christensen 2015-02-27 15:01:58 PST
I'll just keep my eye on it.  If it becomes a problem, I'll install the old version of svn.
Comment 5 Csaba Osztrogonác 2015-02-27 15:19:51 PST
I know it isn't related to svn ... but now JSC tests started to fail 
again after 20 mins timeout without doing anything and binding tests
with the strange differences. Something is weird happening there.