cypress: If "We detected that the Chromium Renderer process just crashed." still output report

Current behavior:

If cypress crashes due to “We detected that the Chromium Renderer process just crashed.”, it does not produce a mocha report:

Checkout Test
 ✓ Can load the site (5958ms)
We detected that the Chromium Renderer process just crashed.
 This is the equivalent to seeing the 'sad face' when Chrome dies.
 This can happen for a number of different reasons:
 - You wrote an endless loop and you must fix your own code
- There is a memory leak in Cypress (unlikely but possible)
- You are running Docker (there is an easy fix for this: see link below)
- You are running lots of tests on a memory intense application
- You are running in a memory starved VM environment
- There are problems with your GPU / GPU drivers
- There are browser bugs in Chromium
 You can learn more including how to fix Docker here:
 https://on.cypress.io/renderer-process-crashed
 (Results)
 ┌──────────────────────────────────────┐
 │ Tests: 0 │
 │ Passing: 0 │
 │ Failing: 1 │
 │ Pending: 0 │
 │ Skipped: 0 │
 │ Screenshots: 0 │
 │ Video: true │
 │ Duration: 0 seconds │
 │ Spec Ran: checkout/basic.spec.js │
 └──────────────────────────────────────┘
 (Video)
 - Started processing: Compressing to 32 CRF
 - Finished processing: frontend/tmp/cypress/videos/checkout/basic.spec.js.mp4 (6 seconds)

^^ (Note no mocha report is generted)

Desired behavior:

The mocha report is also outputted/saved, this is so that (for us) the mocha-awesome report can be generated and uploaded via our CI.

Steps to reproduce: (app code and test code)

Make the chrome renderer crash.

Versions

Latest cypress, we are running on CI/CD (AWS CodeBuild) - all other tests are fine, it’s this one that randomly crashes. (Thats another issue).

If this is an issue with the reporter - please let me know and I’ll raise an issue there.

Thanks 😃

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Reactions: 11
  • Comments: 24 (2 by maintainers)

Most upvoted comments

Here’s our workaround for Cypress 4.0.2 (we use Gitlab CI):

  1. We changed our run command to use chrome instead of electron
"e2e-headless": "ng e2e --headless --browser chrome",

(might be a different command for you because we use angular, just append --browser chrome)

  1. Then inside the cypress/plugins/index.js file we added the following to enable the --disable-dev-shm-usage chrome flag:
module.exports = (on, config) => {
  // `on` is used to hook into various events Cypress emits
  // `config` is the resolved Cypress config

  on('before:browser:launch', (browser = {}, launchOptions) => {
    // `args` is an array of all the arguments that will
    // be passed to browsers when it launches

    if (browser.family === 'chromium' && browser.name !== 'electron') {
      // see: https://github.com/cypress-io/cypress/issues/3633
      launchOptions.args.push('--disable-dev-shm-usage');

      // whatever you return here becomes the launchOptions
      return launchOptions;
    }
  });
};
  1. In our ci conflig, we changed the image to:
image: cypress/browsers:node12.13.0-chrome80-ff73

So we could use chrome 80 (not sure if chrome 80 is necessary but doesn’t hurt)

After that our CI passed without issues, hope this helps any other poor souls running into this 😃

We are running into the same issue on Gitlab CI

Technology Version
Cypress 4.0.2
Electron Electron 78 (headless)

I’m having the same issue, with the latest Cypress (4.0.1) on self-hosted GitLab. If I run them locally, they pass without issues (at least so far).

I started to encounter this error with version 3.6.0 and now tested with 3.6.1 and still happens.

With 3.4.1 version I never encountered it.

Also running into this same issue. We were looking to upgrade to Cypress 4.0.2, but cannot. Works fine on 3.4.1

We also started seen this after upgrading to 3.7.0

It only breaks in our CI where we use k8s