Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI stage dependency missing in docker(Cypress 3.5.0) #5534

Closed
HOUCe opened this issue Oct 30, 2019 · 3 comments
Closed

CI stage dependency missing in docker(Cypress 3.5.0) #5534

HOUCe opened this issue Oct 30, 2019 · 3 comments

Comments

@HOUCe
Copy link

HOUCe commented Oct 30, 2019

Current behavior:

Hello guys, I've upgraded Cypress 3.5.0 version to workaround "Xvfb issue" problem(#5110 (comment)) but had problem to run Cypress(cypress.run(options)) during CI stage.
(It works well on local, but failed on a NodeJS service)

image

Desired behavior:

cypress.run(options) works successfully.

Steps to reproduce: (app code and test code)

As shown, we use:

  • Platform: linux (Debian - 8.2)
  • Cypress Version: 3.5.0

and I've installed all the deps including:

  • xvfb
  • libgtk-3-dev
  • libnotify-dev
  • libgconf-2-4
  • libnss3
  • libxss1
  • libasound2

Unfortunately we can't use docker image provided by official.

Versions

Cypress Version: 3.5.0

All the information here:

It looks like this is your first time using Cypress: 3.5.0

 ✖  Verifying Cypress can run /root/.cache/Cypress/3.5.0/Cypress
   → Cypress Version: 3.5.0
{ Error: Cypress failed to start.

This is usually caused by a missing library or dependency.

The error below should indicate which dependency is missing.

https://on.cypress.io/required-dependencies

If you are using Docker, we provide containers with all required dependencies installed.

----------

/root/.cache/Cypress/3.5.0/Cypress/Cypress: /usr/lib/x86_64-linux-gnu/libnss3.so: version `NSS_3.22' not found (required by /root/.cache/Cypress/3.5.0/Cypress/Cypress)
/root/.cache/Cypress/3.5.0/Cypress/Cypress: /lib/x86_64-linux-gnu/libdbus-1.so.3: no version information available (required by /root/.cache/Cypress/3.5.0/Cypress/Cypress)

----------

Platform: linux (Debian - 8.2)
Cypress Version: 3.5.0
    at /data/apps/goalkeeper/node_modules/cypress/lib/errors.js:209:15
    at tryCatcher (/data/apps/goalkeeper/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:512:31)
    at Promise._settlePromise (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:569:18)
    at Promise._settlePromise0 (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:693:18)
    at Promise._fulfill (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:638:18)
    at Promise._resolveCallback (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:432:57)
    at Promise._settlePromiseFromHandler (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:524:17)
    at Promise._settlePromise (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:569:18)
    at Promise._settlePromise0 (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:693:18)
    at Promise._fulfill (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:638:18)
    at Promise._resolveCallback (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:432:57)
    at Promise._settlePromiseFromHandler (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:524:17)
    at Promise._settlePromise (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:569:18)
    at Promise._settlePromise0 (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:693:18)
    at Promise._fulfill (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:638:18)
    at Promise._resolveCallback (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:432:57)
    at Promise._settlePromiseFromHandler (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:524:17)
    at Promise._settlePromise (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:569:18)
    at Promise._settlePromise0 (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:693:18)
    at Promise._fulfill (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:638:18)
    at Promise._settlePromise (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:582:21)
    at Promise._settlePromise0 (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:693:18)
    at Promise._fulfill (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:638:18)
    at Promise._resolveCallback (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:432:57)
    at Promise._settlePromiseFromHandler (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:524:17)
    at Promise._settlePromise (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:569:18)
    at Promise._settlePromise0 (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:693:18)
    at Promise._fulfill (/data/apps/goalkeeper/node_modules/bluebird/js/release/promise.js:638:18)
    at /data/apps/goalkeeper/node_modules/bluebird/js/release/nodeback.js:42:21
    at /data/apps/goalkeeper/node_modules/getos/index.js:65:18
    at releasefile (/data/apps/goalkeeper/node_modules/getos/logic/debian.js:25:3)
    at /data/apps/goalkeeper/node_modules/getos/logic/debian.js:13:19
    at ChildProcess.exithandler (child_process.js:298:5)
    at ChildProcess.emit (events.js:182:13)
    at ChildProcess.EventEmitter.emit (domain.js:442:20)
    at maybeClose (internal/child_process.js:961:16)
    at Socket.stream.socket.on (internal/child_process.js:380:11)
    at Socket.emit (events.js:182:13)
    at Socket.EventEmitter.emit (domain.js:442:20)
    at Pipe._handle.close (net.js:598:12) known: true, context: {} }
Timeout, server 10.100.84.2 not responding.

If I run node_modules/.bin/cypress verify on container,
got this:

It looks like this is your first time using Cypress: 3.5.0

 ✖  Verifying Cypress can run /root/.cache/Cypress/3.5.0/Cypress
   → Cypress Version: 3.5.0
Cypress failed to start.

This is usually caused by a missing library or dependency.

The error below should indicate which dependency is missing.

https://on.cypress.io/required-dependencies

If you are using Docker, we provide containers with all required dependencies installed.

----------

/root/.cache/Cypress/3.5.0/Cypress/Cypress: /usr/lib/x86_64-linux-gnu/libnss3.so: version `NSS_3.22' not found (required by /root/.cache/Cypress/3.5.0/Cypress/Cypress)
/root/.cache/Cypress/3.5.0/Cypress/Cypress: /lib/x86_64-linux-gnu/libdbus-1.so.3: no version information available (required by /root/.cache/Cypress/3.5.0/Cypress/Cypress)

----------

Platform: linux (Debian - 8.2)
Cypress Version: 3.5.0
@jennifer-shehane jennifer-shehane added the stage: needs investigating Someone from Cypress needs to look at this label Oct 30, 2019
@flotwig
Copy link
Contributor

flotwig commented Oct 30, 2019

Hey @HOUCe,

You should be able to get an up-to-date libnss1 in Debian 8.2 by doing apt-get update && apt-get upgrade, this will fix the first issue. I was able to verify this in a Debian 8.2 Docker container.

The other problem appears to be that your dbus is too old for the version of Electron Cypress uses, due to the fact that you're on an old operating system which no longer receives updates (security or otherwise): https://www.debian.org/releases/jessie/

I recommend trying to update your CI to use at least Debian 8.11, if not Debian 9 or 10. Those should have versions of dbus that will work with Cypress.

@cypress-bot cypress-bot bot added stage: awaiting response Potential fix was proposed; awaiting response and removed stage: needs investigating Someone from Cypress needs to look at this labels Oct 30, 2019
@HOUCe
Copy link
Author

HOUCe commented Oct 31, 2019

Debian 8.11

@flotwig Thanks for the kind quick reply. It will takes a little time to update environment to verify( I will try asap.

If it bothers, you can close this issue anytime.

@HOUCe
Copy link
Author

HOUCe commented Nov 5, 2019

I've been trying with Debian 10, it works as expected.
Thanks again for the great work.
@flotwig

@HOUCe HOUCe closed this as completed Nov 5, 2019
@cypress-io cypress-io locked and limited conversation to collaborators Dec 24, 2019
@jennifer-shehane jennifer-shehane removed the stage: awaiting response Potential fix was proposed; awaiting response label Apr 21, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants