Skip to content

Travis CI can't run Flow #3565

@gnprice

Description

@gnprice

Since about 2019-07-16, last week, all builds in Travis CI have been failing in Flow. The error looks like:

Running flow...
/home/travis/build/zulip/zulip-mobile/node_modules/flow-bin/flow-linux64-v0.78.0/flow: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.17' not found (required by /home/travis/build/zulip/zulip-mobile/node_modules/flow-bin/flow-linux64-v0.78.0/flow)

In other words, the glibc on the system isn't new enough!?

The first failure on master was https://travis-ci.org/zulip/zulip-mobile/builds/559639646 . The last success on master was https://travis-ci.org/zulip/zulip-mobile/builds/559192039 . (I'm getting the sequence from this history page.)

We haven't changed Flow versions, or any Travis configuration that could possibly affect this. In particular, the difference between the commits at that last success and first failure is:

$ git diff --stat 2407f3f9c..ce4ed6ab2
 src/webview/js/generatedEs3.js      | Bin 15766 -> 15823 bytes
 src/webview/js/js.js                |   3 +++
 src/webview/webViewHandleUpdates.js |  17 +++++++++--------
 3 files changed, 12 insertions(+), 8 deletions(-)

Looking at the Worker information and Build system information at the top of the logs, there are interesting differences. Here's the last success:

Worker information
hostname: edda99d6-a4a8-40cc-a7b1-7d604368649e@1.production-2-worker-org-gce-7gdb
version: v6.2.0 https://github.com/travis-ci/worker/tree/5e5476e01646095f48eec13196fdb3faf8f5cbf7
instance: travis-job-b8f5e50c-4675-4230-9739-77d8d7683428 travis-ci-cookiecat-trusty-1503974222 (via amqp)
startup: 6.386011955s
system_info

Build system information
Build language: android
Build group: stable
Build dist: trusty
Build id: 559192039
Job id: 559192040
Runtime kernel version: 4.4.0-93-generic
travis-build version: e88137ff9
Build image provisioning date and time
Tue Aug 29 03:00:05 UTC 2017
Operating System Details
Distributor ID:	Ubuntu
Description:	Ubuntu 14.04.5 LTS
Release:	14.04
Codename:	trusty

And the first failure:

Worker information
hostname: 86403d97-c763-41c4-b3e4-d06f425744a3@1.production-2-worker-org-gce-bh5v
version: v6.2.0 https://github.com/travis-ci/worker/tree/5e5476e01646095f48eec13196fdb3faf8f5cbf7
instance: travis-job-0e355844-d892-46eb-b4ef-60702acd2233 precise-android-stable-alternative (via amqp)
startup: 6.533831823s
system_info

Build system information
Build language: android
Build group: stable
Build dist: xenial
Build id: 559639646
Job id: 559639647
Runtime kernel version: 3.13.0-100-generic
travis-build version: a82bb1cfc
Build image provisioning date and time
Thu Nov 10 02:43:40 UTC 2016
Operating System Details
Distributor ID:	Ubuntu
Description:	Ubuntu 12.04.5 LTS
Release:	12.04
Codename:	precise

In other words, we were on Ubuntu 14.04 trusty -- as seen in the instance name, "Build dist", and "Operating System Details". Then "Build dist" changed to refer to the newer Ubuntu 16.04 xenial... but the instance name and the "Operating System Details" indicate a downgrade, to Ubuntu 12.04 precise.

Looking at a few other recent failing builds, they have the same pattern of xenial-but-precise.

Trusty is now several months past EOL, so it's more than reasonable for Travis to move to Xenial. But by the same token, moving to Precise, two years older, is completely broken... and it looks like that's what they've actually done for us.

I first noticed this on PR #3561: #3561 (comment) but because that PR upgraded Flow, I assumed it was Flow that had changed and not Travis.

More investigation required.

Metadata

Metadata

Assignees

No one assigned

    Labels

    a-toolsupstream: otherIssues related to an issue in another dependency

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions