Boost Testing :
Subject: Re: [Boost-testing] [EXTERNAL] GCC runners failing (and stopping)
From: Belcourt, Kenneth (kbelco_at_[hidden])
Date: 2014-07-02 22:14:16
On Jul 2, 2014, at 7:55 PM, Tom Kent <lists_at_[hidden]>
> Both of my linux-development runners (teeks99-03, teeks99-04) are locking up during their runs.
> Here's the end of the output:
> ...updated 432 targets...
> # Starting tests ("/home/tomkent/teeks99-03/a/tools_bb/src/engine/bin.linuxx86_64/bjam" "-sBOOST_BUILD_PATH=/home/tomkent/teeks99-03/a:/home/tomkent/teeks99-03/a/tools_bb/src" "-sBOOST_ROOT=/home/tomkent/teeks99-03/a/boost_root" "--boost=/home/tomkent/teeks99-03/a/boost_root" "--boost-build=/home/tomkent/teeks99-03/a/tools_bb/src" "--debug-configuration" -l300 toolset=gcc-4.4 -d2 preserve-test-targets=off --dump-tests -j2 -m64 "--build-dir=/home/tomkent/teeks99-03/a/results" >>"/home/tomkent/teeks99-03/a/results/bjam.log" 2>&1)...
> # Running Boost.Build tests
> # Using bjam binary in '/home/tomkent/teeks99-03/a/tools_bb/src/engine/bin.linuxx86_64'
> # Getting test case results out of "/home/tomkent/teeks99-03/a/results/bjam.log"...
> boost_root: /home/tomkent/teeks99-03/a/boost_root
> locate_root: /home/tomkent/teeks99-03/a/results
> *****Warning - missing test path: boost-test(RUN) "timer/inspect" ["always_show_run_output"] :
> (Usually occurs when bjam doesn't know how to make a target)
> At this point, the everything has stopped and the run doesn't progress (or timeout!), so it blocks the next runner from starting.
I've also experienced this. One possible cause is changes to compile or link options that cause some previously deterministic test(s) to recursively emit diagnostics until the test times out and is killed (5 minutes by default). Have you made any local mods to user-config.jam to add / remove compile or link flags? Another check, how big is bjam.log? If you have stuck tests, they could be generating huge amounts of output. I think there's a quadratic algorithm in process_jam_log so if it's fed excessive test output PJL could run for hours. You could also limit the amount of output captured by the testing system and limit the maximum time to 1 minute.
Just a thought.