svn problem checking out test suite

I updated one of the powerpc64 lnt buildbot machines to a new OS release and the buildbot started failing every run when it tries to check out the test suite.

The checkout will run for a while then always fails like this:

/usr/bin/svn checkout --non-interactive --no-auth-cache --revision 323463 http://llvm.org/svn/llvm-project/test-suite/trunk@323463 test/test-suite
  in dir /home/buildbots/ppc64be-clang-lnt-test/clang-ppc64be-lnt (timeout 1200 secs)
...lots of files checked out...
svn: E000104: Error running context: Connection reset by peer

I stopped the bot from running for now because it was just failing every time.

I tried checking out the test suite by hand on the same machine with the same results. If I restart the checkout (or do an svn update) it will run a bit longer then fail. Eventually I figured out that 3 files were causing the problem:

MultiSource/Applications/ClamAV/inputs/rtf-test/Doc1.rtf
MultiSource/Applications/ClamAV/inputs/rtf-test/docCLAMexe.rtf
MultiSource/Applications/ClamAV/inputs/rtf-test/rtf1.rtf

I tried on other powerpc64 machines (various distros and BE/LE) and it works on all of them UNLESS they are using the latest version of svn, version 1.9.7 (r1800392). The latest svn version that worked on a powerpc64 machine was 1.9.5.

Hmmm. It also will fail on a mac running svn 1.9.4.

1.9.7 on a powerpc64 BE machine or on the mac with 1.9.4 always eventually gives the "Connection reset by peer" and 1.9.7 hangs on a powerpc64 LE machine.

Is there be something wrong with those 3 files? I am really hoping that svn isn't broken.

You likely have an http proxy in your network which is blocking RTF files in case they are viruses or something. You might try https, if you’re lucky it will bypass your proxy.

There are lots and lots of .rtf files and it is just these 3 and just on certain systems.

Not sure if this applies, but at least one antivirus engine thinks MultiSource/Applications/ClamAV/inputs/rtf-test/docCLAMexe.rtf is malicious.

https://www.hybrid-analysis.com/sample/bba4eab51c27a6ffbd86bf870048da1902cc7235a4de49cf30208906dac50f85?environmentId=100

It could be. I am not sure what is running upstream of the affected machines though it is odd that only those using late releases of svn are affected.

I did try using https for a by-hand checkout and that worked but I don't know how to change the buildbots to use https instead of http. I sent a note off to the person who runs the buildbot master.

Hi Bill,

I believe you just need to update the urls in the various .py files at http://llvm.org/svn/llvm-project/zorg/trunk/zorg/buildbot/builders/. After that, the buildmaster will need restarting. Hopefully all the bots support https, but it can be made optional if that’s not the case.

Looks like

         f.addStep(SVN(name='svn-test-suite',
                       mode='update', baseURL='http://llvm.org/svn/llvm-project/test-suite/',
                       defaultBranch='trunk',
                       workdir='test/test-suite'))

is what needs to be changed (in ClangBuilder.py).