question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

write EPROTO: SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure when visiting https site

See original GitHub issue

I’m on OS X and I’ve trusted my self signed cert in keychain. Chrome lets me into the site with no warnings or indication that I’m using a self-signed cert. However, when I try to cy.visit I get the following error in the cypress UI:

CypressError: cy.visit() failed trying to load:

https://local.avoxi.com/

We attempted to make an http request to this URL but the request failed without a response.

We received this error at the network level:

  > Error: write EPROTO 4777985472:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:../../vendor/node/deps/openssl/openssl/ssl/s23_clnt.c:802:

Common situations why this would fail:
  - you don't have internet access
  - you forgot to run / boot your web server
  - your web server isn't accessible
  - you have weird network configuration settings on your computer

The stack trace for this error is:

Error: write EPROTO 4777985472:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:../../vendor/node/deps/openssl/openssl/ssl/s23_clnt.c:802:

    at _errnoException (util.js:1024:11)
    at WriteWrap.afterWrite (net.js:867:14)


Because this error occurred during a 'before each' hook we are skipping the remaining tests in the current suite: 'Smoke Test'

The issue is new to 3.3.x. This test ran correctly in 3.2.x.

Here’s the debug log:

  cypress:server:timers clearing timer id 31 from queue { '31': { args: [], ms: 85000, cb: [Function] }, '32': { args: [], ms: 85000, cb: [Function] } } +8s
  cypress:server:timers queuing timer id 34 after 85000 ms +1ms
  cypress:server:events sending ipc data { type: 'on:spec:changed', data: { id: 0.7674737586596712, data: 'integration/smokeTest_spec.js' } } +7s
  cypress:server:timers child received timer id 34 +6s
  cypress:server:timers clearing timer id 34 from queue { '32': { args: [], ms: 85000, cb: [Function] }, '34': { args: [], ms: 85000, cb: [Function] } } +16ms
  cypress:server:timers queuing timer id 35 after 85000 ms +0ms
  cypress:server:socket watch test file 'integration/smokeTest_spec.js' +8s
  cypress:server:timers child received timer id 35 +16ms
  cypress:server:server Getting remote state: { auth: undefined, props: null, origin: 'http://localhost:54628', strategy: 'file', visiting: undefined, domainName: 'localhost', fileServer: 'http://localhost:54629' } +4s
GET /__cypress/iframes/integration/smokeTest_spec.js 200 5.775 ms - 730
  cypress:server:controllers:spec request for { spec: 'cypress/support/index.js' } +8s
  cypress:server:preprocessor getFile /Users/patrick.alessi/dev/go/src/bitbucket.org/AVOXI/sdp/sdp-integration-testing/cypress/support/index.js +9s
  cypress:server:plugins plugin event registered? { event: 'file:preprocessor', isRegistered: true } +9s
  cypress:server:plugins execute plugin event 'file:preprocessor' with args: EventEmitter { domain: null, _events: { rerun: [Function], close: [Function] }, _eventsCount: 2, _maxListeners: undefined, filePath: '/Users/patrick.alessi/dev/go/src/bitbucket.org/AVOXI/sdp/sdp-integration-testing/cypress/support/index.js', shouldWatch: true, outputPath: '/Users/patrick.alessi/Library/Application Support/Cypress/cy/production/projects/sdp-integration-testing-bb0ca3d28a95e02fcfd94de45ff54783/bundles/cypress/support/index.js' } undefined undefined +0ms
  cypress:browserify get: /Users/patrick.alessi/dev/go/src/bitbucket.org/AVOXI/sdp/sdp-integration-testing/cypress/support/index.js +8s
  cypress:browserify already have bundle for: /Users/patrick.alessi/dev/go/src/bitbucket.org/AVOXI/sdp/sdp-integration-testing/cypress/support/index.js +0ms
  cypress:server:controllers:spec sending spec { filePath: '/Users/patrick.alessi/Library/Application Support/Cypress/cy/production/projects/sdp-integration-testing-bb0ca3d28a95e02fcfd94de45ff54783/bundles/cypress/support/index.js' } +2ms
  cypress:server:controllers:spec request for { spec: 'cypress/integration/smokeTest_spec.js' } +1ms
  cypress:server:preprocessor getFile /Users/patrick.alessi/dev/go/src/bitbucket.org/AVOXI/sdp/sdp-integration-testing/cypress/integration/smokeTest_spec.js +2ms
  cypress:server:plugins plugin event registered? { event: 'file:preprocessor', isRegistered: true } +2ms
  cypress:server:plugins execute plugin event 'file:preprocessor' with args: EventEmitter { domain: null, _events: { rerun: [Function], close: [Function] }, _eventsCount: 2, _maxListeners: undefined, filePath: '/Users/patrick.alessi/dev/go/src/bitbucket.org/AVOXI/sdp/sdp-integration-testing/cypress/integration/smokeTest_spec.js', shouldWatch: true, outputPath: '/Users/patrick.alessi/Library/Application Support/Cypress/cy/production/projects/sdp-integration-testing-bb0ca3d28a95e02fcfd94de45ff54783/bundles/cypress/integration/smokeTest_spec.js' } undefined undefined +0ms
  cypress:browserify get: /Users/patrick.alessi/dev/go/src/bitbucket.org/AVOXI/sdp/sdp-integration-testing/cypress/integration/smokeTest_spec.js +3ms
  cypress:browserify already have bundle for: /Users/patrick.alessi/dev/go/src/bitbucket.org/AVOXI/sdp/sdp-integration-testing/cypress/integration/smokeTest_spec.js +0ms
  cypress:server:controllers:spec sending spec { filePath: '/Users/patrick.alessi/Library/Application Support/Cypress/cy/production/projects/sdp-integration-testing-bb0ca3d28a95e02fcfd94de45ff54783/bundles/cypress/integration/smokeTest_spec.js' } +1ms
GET /__cypress/tests?p=cypress/support/index.js-355 200 4.206 ms - -
GET /__cypress/tests?p=cypress/integration/smokeTest_spec.js-909 200 2.427 ms - -
  cypress:server:timers clearing timer id 35 from queue { '32': { args: [], ms: 85000, cb: [Function] }, '35': { args: [], ms: 85000, cb: [Function] } } +26ms
  cypress:server:timers queuing timer id 36 after 85000 ms +1ms
  cypress:server:timers child received timer id 36 +27ms
  cypress:server:timers clearing timer id 36 from queue { '32': { args: [], ms: 85000, cb: [Function] }, '36': { args: [], ms: 85000, cb: [Function] } } +12ms
  cypress:server:timers queuing timer id 37 after 85000 ms +0ms
  cypress:server:socket automation:request get:cookies { domain: 'localhost' } +39ms
  cypress:server:timers child received timer id 37 +12ms
  cypress:server:cookies getting:cookies { domain: 'localhost' } +8s
  cypress:server:timers clearing timer id 32 from queue { '32': { args: [], ms: 85000, cb: [Function] }, '37': { args: [], ms: 85000, cb: [Function] } } +3ms
  cypress:server:timers queuing timer id 38 after 85000 ms +0ms
  cypress:server:timers child received timer id 38 +3ms
  cypress:server:cookies received get:cookies [] +3ms
  cypress:server:timers clearing timer id 38 from queue { '37': { args: [], ms: 85000, cb: [Function] }, '38': { args: [], ms: 85000, cb: [Function] } } +8ms
  cypress:server:timers queuing timer id 39 after 85000 ms +1ms
  cypress:server:timers child received timer id 39 +9ms
  cypress:server:timers clearing timer id 37 from queue { '37': { args: [], ms: 85000, cb: [Function] }, '39': { args: [], ms: 85000, cb: [Function] } } +4ms
  cypress:server:timers queuing timer id 40 after 85000 ms +0ms
  cypress:server:timers child received timer id 40 +4ms
  cypress:server:socket backend:request { eventName: 'resolve:url', args: [ 'https://local.avoxi.com/', { auth: null, failOnStatusCode: false, retryOnNetworkFailure: true, retryOnStatusCodeFailure: false, method: 'GET', body: null, headers: {}, timeout: 30000 } ] } +16ms
  cypress:server:server resolving visit { url: 'https://local.avoxi.com/', headers: { host: 'localhost:54628', connection: 'Upgrade', pragma: 'no-cache', 'cache-control': 'no-cache', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36', upgrade: 'websocket', origin: 'http://localhost:54628', 'sec-websocket-version': '13', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-US,en;q=0.9', 'sec-websocket-key': 'YFL2TN8ze8mLM11wCa6JNA==', 'sec-websocket-extensions': 'permessage-deflate; client_max_window_bits' }, options: { auth: null, failOnStatusCode: false, retryOnNetworkFailure: true, retryOnStatusCodeFailure: false, method: 'GET', body: null, headers: {}, timeout: 30000 } } +52ms
  cypress:server:server Getting remote state: { auth: undefined, props: null, origin: 'http://localhost:54628', strategy: 'file', visiting: undefined, domainName: 'localhost', fileServer: 'http://localhost:54629' } +0ms
  cypress:server:server sending request with options { auth: null, failOnStatusCode: false, retryOnNetworkFailure: true, retryOnStatusCodeFailure: false, method: 'GET', body: null, headers: { accept: 'text/html,*/*' }, timeout: 30000, gzip: false, url: 'https://local.avoxi.com/', onBeforeReqInit: [Function: runPhase], followRedirect: [Function: followRedirect] } +0ms
  cypress:server:cookies getting:cookies { url: 'https://local.avoxi.com/' } +15ms
  cypress:server:timers clearing timer id 39 from queue { '39': { args: [], ms: 85000, cb: [Function] }, '40': { args: [], ms: 85000, cb: [Function] } } +4ms
  cypress:server:timers queuing timer id 41 after 85000 ms +1ms
  cypress:server:timers child received timer id 41 +5ms
  cypress:server:cookies received get:cookies [ { name: '_ga', value: 'GA1.2.1325448659.1559740807', path: '/', domain: '.avoxi.com', secure: false, httpOnly: false, hostOnly: false, expiry: 1622824507 }, { name: '_gid', value: 'GA1.2.1673151547.1559740807', path: '/', domain: '.avoxi.com', secure: false, httpOnly: false, hostOnly: false, expiry: 1559838907 }, { name: 'SnapABugRef', value: 'https%3A%2F%2Flocal.avoxi.com%2F%20', path: '/', domain: 'local.avoxi.com', secure: false, httpOnly: false, hostOnly: true, expiry: 1559759707 }, { name: 'SnapABugHistory', value: '2#', path: '/', domain: 'local.avoxi.com', secure: false, httpOnly: false, hostOnly: true, expiry: 1591288507 } ] +3ms
  cypress:server:request sending request as stream { auth: null, failOnStatusCode: false, retryOnNetworkFailure: true, retryOnStatusCodeFailure: false, method: 'GET', body: null, headers: { accept: 'text/html,*/*', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36' }, timeout: 30000, gzip: false, url: 'https://local.avoxi.com/', onBeforeReqInit: [Function: runPhase] } +4s
  cypress:network:agent addRequest called for https://local.avoxi.com/ +4s
  cypress:server:timers queuing timer id 42 after 30000 ms +4ms
  cypress:server:timers child received timer id 42 +5ms
  cypress:server:timers clearing timer id 42 from queue { '40': { args: [], ms: 85000, cb: [Function] }, '41': { args: [], ms: 85000, cb: [Function] }, '42': { args: [], ms: 30000, cb: [Function] } } +1ms
  cypress:server:request received an error making http request { auth: null, failOnStatusCode: false, retryOnNetworkFailure: true, retryOnStatusCodeFailure: false, method: 'GET', body: null, headers: { accept: 'text/html,*/*', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36' }, timeout: 30000, gzip: false, url: 'https://local.avoxi.com/', onBeforeReqInit: [Function: runPhase], requestId: 'request6', retryIntervals: [ 0, 1000, 2000, 2000 ], delaysRemaining: [ 0, 1000, 2000, 2000 ], err: { Error: write EPROTO 4474762688:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:../../vendor/node/deps/openssl/openssl/ssl/s23_clnt.c:802: at _errnoException (util.js:1024:11) at WriteWrap.afterWrite (net.js:867:14) code: 'EPROTO', errno: 'EPROTO', syscall: 'write' } } +6ms

_Originally posted by @PWAlessi in https://github.com/cypress-io/cypress/issues/771#issuecomment-499159715_

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:18 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
ghostcommented, Oct 23, 2019

thaaaaaaaaaaaaaaaaanks a lot 😃 👍

1reaction
cookiescrumbscommented, Aug 7, 2019

If you have come here from Google because you’ve upgraded Cypress and have an Error:

 Error: write EPROTO 4777985472:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:../../vendor/node/deps/openssl/openssl/ssl/s23_clnt.c:802:

Then rollback to version 3.2.0 and lock it down until the Cypress team sort the problem out.

Read more comments on GitHub >

github_iconTop Results From Across the Web

How to Fix “SSL Handshake Failed” & "Cloudflare 525" Error
The SSL Handshake Failed error occurs when the server and browser are unable to establish a secure connection.
Read more >
wget ssl alert handshake failure - Stack Overflow
It works from here with same OpenSSL version, but a newer version of wget (1.15). Looking at the Changelog there is the following ......
Read more >
Handshake failure when code is uploaded with Build-Suite
Summary Customers may experience SSL Handshake failures when they upload the code using the Build-Suite · Repro 1) Download Build-Suite from ...
Read more >
How to Fix the "SSL Handshake Failed" Error - Elegant Themes
The "SSL handshake failed" error can be caused by both client and server-side issues. Let's find out what they are and how to...
Read more >
Rehash: How to Fix the SSL/TLS Handshake Failed Error
The TLS Handshake Failed error can originate from the client or the server, here's a guide for fixing the problem for both users...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found