Non-AMD64 builds timing out if script: does exit 0

For tcpdump and libpcap, we’re using the Travis CI integration stuff for Coverity.

Both projects have a build matrix testing with several different options on several platforms, including Linux on AMD64, ppc64le, s390x, and Arm64, as well as macOS on AMD64.

The build script in our .travis.yml file doesn’t need to run for Coverity builds, so it beings with

- if [ "$COVERITY_SCAN_BRANCH" = 1 ]; then exit 0; fi

The coverity_scan branch builds on Linux/AMD64 and macOS/AMD64 are succeeding (most of them do nothing, because our Coverity script stops them early; we only need one cell of the matrix to do a Coverity build). However all the non-AMD64 Linux builds terminate with “No output has been received in the last 10m0s, this potentially indicates a stalled build or something wrong with the build itself.”

I did a test in which I added

- if [ "$COVERITY_SCAN_BRANCH" = 0 ]; then exit 0; fi

to libpcap’s script; the Linux/AMD64 and macOS/AMD64 master branch builds succeeded (doing nothing, as would be expected), and the ppc64le and s390x Linux builds failed (I cancelled the build before the Arm64 builds were run). See the build at Travis CI - Test and Deploy Your Code with Confidence.

Those builds do not fail without that “exit 0”, as per, for example, the build at Travis CI - Test and Deploy Your Code with Confidence.

Is there something we’re doing wrong, or is this a bug in the non-AMD64 Linux build infrastructure?

using the helper function travis_terminate 1 (or whatever the code) seems to work.

However, it seems to be causing the problem to occur on macOS builds, as per, for example, this build

WFM. Looks like smth else is hanging or Build delays for open source project - #26 by native-api

Try tracing like I did:

env:
  global:
    - "PS4='+(${BASH_SOURCE}:${LINENO}): ${FUNCNAME[0]:+${FUNCNAME[0]}(): }'"
script:
  - set -x; <command>
 # you will see trace from both your commands and Travis machinery
  <...>
  - set +x    # once you no longer want to see trace

For what it’s worth, doing

- if [ "$COVERITY_SCAN_BRANCH" = 1 ]; then if [ "$TRAVIS_OS_NAME" = linux ]; then travis_terminate 0; else exit 0; fi; fi

fixed it, as per this build.

I’ll try removing that and putting the debugging stuff in next.

I’ll try removing that and putting the debugging stuff in next.

So here’s a macOS build, with the debugging stuff, that failed.

Okay, this does show that it’s exit that hangs (or rather, the job termination sequence it seems).

Since it’s .org, I suggest

since MacOS builds on .org also show other malfunctions.

So if, for example, libpcap/tcpdump apply, as an open-source project, for build credits, that’s not a one-time chunk of credits that would force us, once those credits are used, we’d have to join a not-for-free tier, right? Instead, there would be a fixed number of builds that can be done over a certain time period, rather than a fixed number of builds ever?

Check out

for this info.