Travis_wait doesn't output anything in Arm64

Hi,

Can someone please explain why testing on Arm64 outputs nothing to stdout during the call to julia -e? This effectively limits test time to <10 minutes, as travis_wait doesn’t seem to work. This doesn’t appear to be explained in the documentation.

Ok, here are two sets of tests for comparison:

First, I added arm64 with no travis_wait to https://travis-ci.org/jpjones76/SeisIO.jl/builds/625214541. You can see the timeouts in Julia 1.0, 1.2, and 1.3. As you can see, there’s no logging to stdout. The test run of 1.1 broke for reasons unrelated to the test itself.

Second, I added arm64 with a wait command to https://travis-ci.org/jpjones76/SeisIO.jl/builds/625224591 – here, julia was prefixed by travis_wait 30. I see no difference in the results; they break at the same time and there’s no stdout logging. See e.g. https://travis-ci.org/jpjones76/SeisIO.jl/jobs/625224601

Okay, running your build logic while tracing Travis logic, I see that echo -ne <...> from travis_jigger don’t produce any output.

@BanzaiMan @michal, I believe the reason is the logging facility in Multi-CPU architecture is line-buffered. While travis_wait plays fancy and outputs incomplete lines:

echo -ne 'Still running (1 of 20): julia -e using Pkg; Pkg.build(); Pkg.test(coverage=true);\r'

With the latest changes, the log output window in Web UI emulates terminal control characters. So printing an incomplete line for fancy effects seems like fair game.

@jpjones76, as a workaround, you can use start_spinner+stop_spinner from https://github.com/matthew-brett/multibuild/blob/devel/common_utils.sh instead of travis_wait. They print stuff every minute until stopped without altering output from running commands.

Here is an another alternative way for travis_wait.

1 Like

Tried that long before posting. Doesn’t work in my case.

Please correct me if I’m wrong here, but isn’t the relevant part of start_spinner identical to @junaruga’s suggested workaround? I ask because I tried the sleep + echo trick before, and it still didn’t print to stdout. I can link relevant build examples and logs if need be.

Multibuild’s spinner works fine for me.

Imprint