Cypress: Cypress exits with `SIGABRT`/`SIGTERM`/`SIGSEGV` when `experimentalSourceRewriting` is active.

Created on 16 Nov 2020  路  5Comments  路  Source: cypress-io/cypress

Current behavior

Occasionally, Cypress will exit with SIGABRT, SIGTERM, or SIGSEGV and a non-zero exit code when experimentalSourceRewriting is active.

Desired behavior

Cypress exits with correct exit code.

This is due to an upstream bug in Electron that is definitely fixed with Electron 12, but may be backported to Electron 11/10: https://github.com/electron/electron/issues/23315

blocking source rewriting awaiting external fix SIG errors bug

Most helpful comment

Yes, this will exit with a SIG error on ALL browsers, not just Electron since we use Electron for the Cypress application itself.

Reproducible example

cypress.json

{
  "experimentalSourceRewriting": true
}

spec.js

it('SIG error', () => {
    cy.visit("http://example.com")
})

Error that displays after tests finish:

The Test Runner unexpectedly exited via a exit event with signal SIGSEGV

Please search Cypress documentation for possible solutions:

https://on.cypress.io

Check if there is a GitHub issue describing this crash:

https://github.com/cypress-io/cypress/issues

Consider opening a new issue.

Screen Shot 2020-11-17 at 12 11 34 PM

All 5 comments

Hi @flotwig , Chrome fails with the same issue when the flag is active. Thanks.

Yes, this will exit with a SIG error on ALL browsers, not just Electron since we use Electron for the Cypress application itself.

Reproducible example

cypress.json

{
  "experimentalSourceRewriting": true
}

spec.js

it('SIG error', () => {
    cy.visit("http://example.com")
})

Error that displays after tests finish:

The Test Runner unexpectedly exited via a exit event with signal SIGSEGV

Please search Cypress documentation for possible solutions:

https://on.cypress.io

Check if there is a GitHub issue describing this crash:

https://github.com/cypress-io/cypress/issues

Consider opening a new issue.

Screen Shot 2020-11-17 at 12 11 34 PM

hello all, I'm facing the same bug but without the experimentalSourceRewriting. I can't replicate on other machines but it's definitely happening so I'm sharing details in case others can repro. Here's the stack trace if useful:

Yarn 1.22.4
Node.js v14.8.0
cypress ^5.5.0
macOS "Big Sur"

Cypress config

{
  "baseUrl": "http://localhost:3000",
  "defaultCommandTimeout": 10000,
  "integrationFolder": "cypress/e2e",
  "projectId": "hei3da",
  "retries": {
    "runMode": 2,
    "openMode": 0
  },
  "viewportHeight": 900,
  "viewportWidth": 1400
}


Stack trace

Error: error:0900006e:PEM routines:OPENSSL_internal:NO_START_LINE
    at Object.createSecureContext (_tls_common.js:129:17)
    at Server.addContext (_tls_wrap.js:1407:32)
    at /Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/lib/server.js:222:23
    at tryCatcher (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:512:31)
    at Promise._settlePromise (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:569:18)
    at Promise._settlePromise0 (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:694:18)
    at Promise._fulfill (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:638:18)
    at Promise._settlePromise (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:582:21)
    at Promise._settlePromise0 (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:694:18)
    at Promise._fulfill (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:638:18)
    at Promise._resolveCallback (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:432:57)
    at Promise._settlePromiseFromHandler (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:524:17)
    at Promise._settlePromise (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:569:18)
    at Promise._settlePromise0 (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:694:18)
    at Promise._fulfill (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:638:18)
    at PromiseArray._resolve (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise_array.js:126:19)
    at PromiseArray._promiseFulfilled (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise_array.js:144:14)
    at PromiseArray._iterate (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise_array.js:114:31)
    at PromiseArray.init [as _init] (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise_array.js:78:10)
    at Promise._settlePromise (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:566:21)
    at Promise._settlePromise0 (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:694:18)
    at Promise._fulfill (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:638:18)
    at PromiseArray._resolve (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise_array.js:126:19)
    at PromiseArray._promiseFulfilled (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise_array.js:144:14)
    at Promise._settlePromise (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:574:26)
    at Promise._settlePromise0 (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:694:18)
    at _drainQueueStep (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/async.js:138:12)
    at _drainQueue (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/async.js:131:9)
    at Async._drainQueues (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/async.js:147:5)
    at Immediate.Async.drainQueues [as _onImmediate] (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/async.js:17:14)
    at processImmediate (internal/timers.js:456:21)
 {
  library: 'PEM routines',
  function: 'OPENSSL_internal',
  reason: 'NO_START_LINE',
  code: 'ERR_OSSL_PEM_NO_START_LINE'
}
Error: error:0900006e:PEM routines:OPENSSL_internal:NO_START_LINE
    at Object.createSecureContext (_tls_common.js:129:17)
    at Server.addContext (_tls_wrap.js:1407:32)
    at /Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/lib/server.js:222:23
    at tryCatcher (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:512:31)
    at Promise._settlePromise (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:569:18)
    at Promise._settlePromise0 (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:694:18)
    at Promise._fulfill (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:638:18)
    at Promise._settlePromise (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:582:21)
    at Promise._settlePromise0 (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:694:18)
    at Promise._fulfill (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:638:18)
    at Promise._resolveCallback (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:432:57)
    at Promise._settlePromiseFromHandler (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:524:17)
    at Promise._settlePromise (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:569:18)
    at Promise._settlePromise0 (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:694:18)
    at Promise._fulfill (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:638:18)
    at PromiseArray._resolve (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise_array.js:126:19)
    at PromiseArray._promiseFulfilled (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise_array.js:144:14)
    at PromiseArray._iterate (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise_array.js:114:31)
    at PromiseArray.init [as _init] (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise_array.js:78:10)
    at Promise._settlePromise (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:566:21)
    at Promise._settlePromise0 (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:694:18)
    at Promise._fulfill (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:638:18)
    at PromiseArray._resolve (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise_array.js:126:19)
    at PromiseArray._promiseFulfilled (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise_array.js:144:14)
    at Promise._settlePromise (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:574:26)
    at Promise._settlePromise0 (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/promise.js:694:18)
    at _drainQueueStep (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/async.js:138:12)
    at _drainQueue (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/async.js:131:9)
    at Async._drainQueues (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/async.js:147:5)
    at Immediate.Async.drainQueues [as _onImmediate] (/Users/cezar/Library/Caches/Cypress/5.6.0/Cypress.app/Contents/Resources/app/packages/https-proxy/node_modules/bluebird/js/release/async.js:17:14)
    at processImmediate (internal/timers.js:456:21)

The Test Runner unexpectedly exited via a exit event with signal SIGSEGV

Please search Cypress documentation for possible solutions:

https://on.cypress.io

Check if there is a GitHub issue describing this crash:

https://github.com/cypress-io/cypress/issues

Consider opening a new issue.

----------

Platform: darwin (20.1.0)
Cypress Version: 5.6.0
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

FWIW downgrading to v5.3.0 works. Seems something related to Electron/Chromium under the hood but didn't investigate further

hello all, I'm facing the same bug but without the experimentalSourceRewriting. I can't replicate on other machines but it's definitely happening so I'm sharing details in case others can repro. Here's the stack trace if useful:

@cezaraugusto check other issues in this repo, there are other issues that occur w/o experimentalSourceRewriting #7048 #8865 This issue is specifically relating to experimentalSourceRewriting.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

igorpavlov picture igorpavlov  路  3Comments

egucciar picture egucciar  路  3Comments

rbung picture rbung  路  3Comments

jennifer-shehane picture jennifer-shehane  路  3Comments

EirikBirkeland picture EirikBirkeland  路  3Comments