Cypress & Chrome - all build broken at same time

5 days ago, suddenly the e2e tests started to fail with The automation client disconnected. Cannot continue running tests. which states that google chrome crashed or it’s connection to cypress got lost.

We searched for solutions, mostly they were connected to docker and /dev/shm size, disabling shm size when starting google chrome. As far as I could see, shm in travis is set to 4G anyway, so disabling shm for chrome with --disable-dev-shm-usage flag didn’t help either.

One of the failing jobs: https://travis-ci.org/SAP/luigi/jobs/648326477

All current PRs, same error since 5 days.
https://travis-ci.org/SAP/luigi/pull_requests

Not sure if it is connected with some internal travis changes? Also I am not sure how to debug it. Maybe someone has an idea what the rootcause could be …

1 Like

I can’t think of a major change in the time frame indicated. One thing I noticed is that the failing job is now using Chrome 80, whereas the passing one uses Chrome 79. Can you force the use of the older version? Or, restart the old passing job if that changes the Chrome version? This will help us determine if the Chrome version is to blame.

If that does not rule out the Chrome version change as the cause, we can enable debug feature for this repository, so you can troubleshoot interactively.

Thanks.

Thanks for pointing to that. According to https://docs.travis-ci.com/user/chrome#selecting-a-chrome-version it is not possible to select a different Chrome version.
The job https://travis-ci.org/SAP/luigi/jobs/645938620 was green (Chrome 79), re-build did now install Chrome 80 and failed.

I have updated the pipeline from trusty to xenial, since I have read of some trusty issues with google chrome. The build still fails with Chrome 80.
https://travis-ci.org/SAP/luigi/jobs/648428962

1 Like

The issue itself is not fixed, but I did a workaround which unblocks us. It is possible to use older version of google chromium browser this way, using dist: xenial:

addons:
  apt:
    packages:
      # Ubuntu 16+ does not install this dependency by default, so we need to install it ourselves
      - libgconf-2-4
      - chromium-browser=79.0.3945.130-0ubuntu0.16.04.1 # update also if you upgrade from Xenial
  # chrome: stable
before_install:
  - chromium-browser --headless --disable-gpu --remote-debugging-port=9222 http://localhost &

With this we can simply use cypress run as usual.
Let’s hope the Chrome issue resolves itself with 81 or so again.

1 Like

The solution was only temporary … I didn’t know the packages get deprecated to fast on ubuntu mirrors. Therefore this version is not available anymore and installing it from dpkg with the dependencies is to much a hassle.

Edit: I just have tried the beta 81 and it seems there is no issue anymore. So it currently works with this:

addons:
    apt:
      packages:
        # Ubuntu 16+ does not install this dependency by default, so we need to install it ourselves
        - libgconf-2-4
    chrome: beta
  before_install:
    - google-chrome-beta --headless --disable-gpu --remote-debugging-port=9222 http://localhost &
1 Like
Imprint