Closed krawetko closed 5 years ago
We found this problem when running tests on Jenkins after installing cypress 3.5.0 trough 'npm install'. We changed it to 'npm ci'. For us it starts working again and even with faster installation process.
We use 'npm ci' in our Jenkins and the problem is there.
We use 'npm ci' on our Jenkins and the problem is there.
do you have these dependencies installed on Jenkins nodes? https://docs.cypress.io/guides/guides/continuous-integration.html#Advanced-setup
We use 'npm ci' on our Jenkins and the problem is there.
do you have these dependencies installed on Jenkins nodes? https://docs.cypress.io/guides/guides/continuous-integration.html#Advanced-setup
yes
We are passing the --no-sandbox
flag to electron under certain circumstances in 3.5.0.
https://github.com/cypress-io/cypress/blob/develop/cli/lib/exec/spawn.js#L110
We are passing this flag if the OS is not Windows 32 and if Cypress is being executed from the root user as detailed in this issue: https://bugs.chromium.org/p/chromium/issues/detail?id=638180
https://github.com/cypress-io/cypress/blob/develop/cli/lib/tasks/verify.js#L365
Unfortunately we didn't add any specific DEBUG information built in (like with needsXvfb
) @bahmutov we should probably add a debug line here.
First, we need to know if the flag is being sent - we want to isolate if there is an issue with our calculation of when the flag should be sent, or if the flag is being sent and is not fixing this particular issue.
Could you run Cypress in debug mode mode and print the logs here?
We tested it on electron and chrome and we do not use workaround with --no-sandbox
flag.
WORKAROUND:
Add file
cypress/plugins/index.js
module.exports = (on, config) => { on('before:browser:launch', (browser = {}, args) => { if (browser.name === 'electron') { args['no-sandbox'] = true; } return args; }); };
This workaround also does not help, I get still the same error.
I tried to reproduce this by running Cypress inside of a Docker image with Debian 9.9 as base. https://github.com/cypress-io/cypress-test-tiny passed fine with Node 10.17.0 and 6.11.3, so I wonder what the difference could be that is causing this problem.
Successful DEBUG
logs:
root@ce50d4ada2a6:~/cypress-test-tiny# node -v
v10.17.0
root@ce50d4ada2a6:~/cypress-test-tiny# npm -v
6.11.3
root@ce50d4ada2a6:~/cypress-test-tiny# ./node_modules/.bin/cypress version
Cypress package version: 3.5.0
Cypress binary version: 3.5.0
root@ce50d4ada2a6:~/cypress-test-tiny# DEBUG=cypress:* npm run cypress:run
> cypress-test-tiny@1.0.0 cypress:run /root/cypress-test-tiny
> cypress run
cypress:cli cli starts with arguments ["/usr/bin/node","/root/cypress-test-tiny/node_modules/.bin/cypress","run"] +0ms
cypress:cli NODE_OPTIONS is not set +0ms
cypress:cli program parsing arguments +2ms
cypress:cli running Cypress +1ms
cypress:cli parsed cli options {} +31ms
cypress:cli verifying Cypress app +0ms
cypress:cli checking environment variables +1ms
cypress:cli checking if executable exists /root/.cache/Cypress/3.5.0/Cypress/Cypress +2ms
cypress:cli Binary is executable? : true +1ms
cypress:cli binaryDir is /root/.cache/Cypress/3.5.0/Cypress +0ms
cypress:cli Reading binary package.json from: /root/.cache/Cypress/3.5.0/Cypress/resources/app/package.json +0ms
cypress:cli Found binary version 3.5.0 installed in: /root/.cache/Cypress/3.5.0/Cypress +2ms
cypress:cli { verified: true } +3ms
cypress:cli is Verified ? true +1ms
cypress:cli processing run options +0ms
cypress:cli --key is not set, looking up environment variable CYPRESS_RECORD_KEY +1ms
cypress:cli run to spawn.start args ["--run-project","/root/cypress-test-tiny"] +0ms
cypress:cli undefined DISPLAY environment variable +0ms
cypress:cli Cypress will spawn its own Xvfb +0ms
cypress:cli needs to start own Xvfb? true +0ms
cypress:cli Starting Xvfb +0ms
cypress:cli spawning, should retry on display problem? false +16ms
cypress:cli passing DISPLAY :99 +2ms
cypress:cli spawning Cypress with executable: /root/.cache/Cypress/3.5.0/Cypress/Cypress +0ms
cypress:cli spawn args [ '--run-project', '/root/cypress-test-tiny', '--cwd', '/root/cypress-test-tiny', '--no-sandbox' ] { detached: false, stdio: [ 'inherit', 'inherit', 'pipe' ] } +0ms
cypress:cli piping child STDERR to process STDERR +3ms
cypress:ts Running without ts-node hook in environment "production" +0ms
cypress:server:cypress starting cypress with argv [ '/root/.cache/Cypress/3.5.0/Cypress/Cypress', '--run-project', '/root/cypress-test-tiny', '--cwd', '/root/cypress-test-tiny', '--no-sandbox' ] +0ms
cypress:server:args argv array: [ '/root/.cache/Cypress/3.5.0/Cypress/Cypress', '--run-project', '/root/cypress-test-tiny', '--cwd', '/root/cypress-test-tiny', '--no-sandbox' ] +0ms
cypress:server:args argv parsed: { _: [ '/root/.cache/Cypress/3.5.0/Cypress/Cypress' ], runProject: '/root/cypress-test-tiny', cwd: '/root/cypress-test-tiny', sandbox: false, invokedFromCli: true } +3ms
cypress:server:util:proxy found proxy environment variables { npm_config_proxy: '', npm_config_https_proxy: '' } +0ms
cypress:server:args options { _: [ '/root/.cache/Cypress/3.5.0/Cypress/Cypress' ], runProject: '/root/cypress-test-tiny', cwd: '/root/cypress-test-tiny', sandbox: false, invokedFromCli: true, config: {} } +2ms
cypress:server:args argv options: { _: [ '/root/.cache/Cypress/3.5.0/Cypress/Cypress' ], runProject: '/root/cypress-test-tiny', cwd: '/root/cypress-test-tiny', sandbox: false, invokedFromCli: true, config: {}, projectRoot: '/root/cypress-test-tiny', run: true } +0ms
Fontconfig warning: "/etc/fonts/fonts.conf", line 100: unknown element "blank"
cypress:server:appdata path: /root/.config/Cypress/cy/production +0ms
cypress:server:cypress starting in mode run +200ms
cypress:server:cypress running Electron currently +1ms
cypress:server:appdata path: /root/.config/Cypress/cy/production +307ms
cypress:server:appdata path: /root/.config/Cypress/cy/production/cache +3ms
cypress:server:appdata path: /root/.config/Cypress/cy/production/browsers +1s
cypress:server:video using ffmpeg from /root/.cache/Cypress/3.5.0/Cypress/resources/app/packages/server/node_modules/@ffmpeg-installer/linux-x64/ffmpeg +0ms
cypress:server:run run mode ready with options { _: [ '/root/.cache/Cypress/3.5.0/Cypress/Cypress' ], runProject: '/root/cypress-test-tiny', cwd: '/root/cypress-test-tiny', sandbox: false, invokedFromCli: true, config: {}, projectRoot: '/root/cypress-test-tiny', run: true } +0ms
cypress:server:project Project created /root/cypress-test-tiny +0ms
cypress:server:openproject opening project /root/cypress-test-tiny +0ms
cypress:server:project opening project instance /root/cypress-test-tiny +1ms
cypress:server:project project options { socketId: '6bxmo', morgan: false, report: true, isTextTerminal: true, onWarning: [Function: onWarning], onError: [Function: onError], onReloadBrowser: [Function], onFocusTests: [Function: onFocusTests], onSettingsChanged: false } +0ms
cypress:server:config using CYPRESS_ENV production +0ms
cypress:server:config setting support file /root/cypress-test-tiny/cypress/support +3ms
cypress:server:config for project root /root/cypress-test-tiny +0ms
cypress:server:config set support folder /root/cypress-test-tiny/cypress/support +2ms
cypress:server:config setting plugins file /root/cypress-test-tiny/cypress/plugins +0ms
cypress:server:config for project root /root/cypress-test-tiny +0ms
cypress:server:config set pluginsFile to /root/cypress-test-tiny/cypress/plugins/index.js +0ms
cypress:server:config set scaffold paths +1ms
cypress:server:scaffold scaffolded files ["cypress/integration/examples/actions.spec.js","cypress/integration/examples/aliasing.spec.js","cypress/integration/examples/assertions.spec.js","cypress/integration/examples/connectors.spec.js","cypress/integration/examples/cookies.spec.js","cypress/integration/examples/cypress_api.spec.js","cypress/integration/examples/files.spec.js","cypress/integration/examples/local_storage.spec.js","cypress/integration/examples/location.spec.js","cypress/integration/examples/misc.spec.js","cypress/integration/examples/navigation.spec.js","cypress/integration/examples/network_requests.spec.js","cypress/integration/examples/querying.spec.js","cypress/integration/examples/spies_stubs_clocks.spec.js","cypress/integration/examples/traversal.spec.js","cypress/integration/examples/utilities.spec.js","cypress/integration/examples/viewport.spec.js","cypress/integration/examples/waiting.spec.js","cypress/integration/examples/window.spec.js","cypress/fixtures/example.json","cypress/support/commands.js","cypress/support/index.js","cypress/plugins/index.js"] +0ms
cypress:server:config got file tree +4ms
cypress:server:project get saved state +35ms
cypress:server:saved_state noop saved state +0ms
cypress:server:scaffold plugins folder /root/cypress-test-tiny/cypress/plugins +3ms
cypress:server:scaffold verify scaffolding in /root/cypress-test-tiny/cypress/plugins +1ms
cypress:server:scaffold folder /root/cypress-test-tiny/cypress/plugins already exists +0ms
cypress:server:plugins plugins.init /root/cypress-test-tiny/cypress/plugins/index.js +0ms
cypress:server:plugins forking to run /root/.cache/Cypress/3.5.0/Cypress/resources/app/packages/server/lib/plugins/child/index.js +0ms
cypress:server:plugins:child pluginsFile: /root/cypress-test-tiny/cypress/plugins/index.js +0ms
cypress:server:plugins:child require pluginsFile +1ms
cypress:server:plugins:child run plugins function +1ms
cypress:server:plugins:child register event _get:task:body with id 0 +1ms
cypress:server:plugins:child register event _get:task:keys with id 1 +0ms
cypress:server:plugins register plugins process event _get:task:body with id 0 +147ms
cypress:server:plugins register event '_get:task:body' +0ms
cypress:server:plugins register plugins process event _get:task:keys with id 1 +0ms
cypress:server:plugins register event '_get:task:keys' +0ms
cypress:server:plugins resolving with new config null +0ms
cypress:server:project plugin config yielded: null +151ms
cypress:server:buffers resetting buffers +0ms
cypress:server:server Server listening on { address: '127.0.0.1', family: 'IPv4', port: 45323 } +0ms
cypress:server:appdata path: /root/.config/Cypress/cy/production/proxy +757ms
cypress:https-proxy Created SNI HTTPS Proxy Server { port: 43981 } +0ms
cypress:server:server Setting remoteAuth undefined +16ms
cypress:server:server Setting remoteOrigin http://localhost:45323 +1ms
cypress:server:server Setting remoteStrategy file +0ms
cypress:server:server Setting remoteHostAndPort null +0ms
cypress:server:server Setting remoteDocDomain localhost +0ms
cypress:server:server Setting remoteFileServer http://localhost:33613 +0ms
cypress:server:server Getting remote state: { auth: undefined, props: null, origin: 'http://localhost:45323', strategy: 'file', visiting: undefined, domainName: 'localhost', fileServer: 'http://localhost:33613' } +0ms
cypress:server:project project config: { projectRoot: '/root/cypress-test-tiny', projectName: 'cypress-test-tiny', morgan: false, isTextTerminal: true, socketId: '6bxmo', report: true, port: 45323, hosts: null, baseUrl: null, projectId: null, userAgent: null, reporter: 'spec', reporterOptions: null, blacklistHosts: null, clientRoute: '/__/', xhrRoute: '/xhrs/', socketIoRoute: '/__socket.io', socketIoCookie: '__socket.io', reporterRoute: '/__cypress/reporter', ignoreTestFiles: '*.hot-update.js', testFiles: '**/*.*', defaultCommandTimeout: 4000, requestTimeout: 5000, responseTimeout: 30000, pageLoadTimeout: 60000, execTimeout: 60000, taskTimeout: 60000, video: true, videoCompression: 32, videoUploadOnPasses: true, modifyObstructiveCode: true, chromeWebSecurity: true, waitForAnimations: true, animationDistanceThreshold: 5, numTestsKeptInMemory: 0, watchForFileChanges: false, trashAssetsBeforeRuns: true, autoOpen: false, viewportWidth: 1000, viewportHeight: 660, fileServerFolder: '/root/cypress-test-tiny', videosFolder: '/root/cypress-test-tiny/cypress/videos', supportFile: '/root/cypress-test-tiny/cypress/support/index.js', fixturesFolder: '/root/cypress-test-tiny/cypress/fixtures', integrationFolder: '/root/cypress-test-tiny/cypress/integration', screenshotsFolder: '/root/cypress-test-tiny/cypress/screenshots', namespace: '__cypress', pluginsFile: '/root/cypress-test-tiny/cypress/plugins/index.js', nodeVersion: 'default', configFile: 'cypress.json', javascripts: [], env: {}, cypressEnv: 'production', parentTestsFolder: '/root/cypress-test-tiny/cypress', parentTestsFolderDisplay: 'cypress-test-tiny/cypress', supportFolder: '/root/cypress-test-tiny/cypress/support', integrationExampleName: 'examples', integrationExamplePath: '/root/cypress-test-tiny/cypress/integration/examples', scaffoldedFiles: [ { name: 'cypress', children: [Array] } ], resolvedNodeVersion: '12.0.0', state: {}, proxyUrl: 'http://localhost:45323', browserUrl: 'http://localhost:45323/__/', reporterUrl: 'http://localhost:45323/__cypress/reporter', xhrUrl: '__cypress/xhrs/' } +42ms
cypress:server:reporter trying to load reporter: spec +0ms
cypress:server:reporter spec is Mocha reporter +0ms
cypress:server:project scaffolding project /root/cypress-test-tiny +3ms
cypress:server:scaffold support folder /root/cypress-test-tiny/cypress/support, support file /root/cypress-test-tiny/cypress/support/index.js +194ms
cypress:server:scaffold verify scaffolding in /root/cypress-test-tiny/cypress/support +0ms
cypress:server:scaffold folder /root/cypress-test-tiny/cypress/support already exists +1ms
cypress:server:project attempt watch plugins file: /root/cypress-test-tiny/cypress/plugins/index.js +1ms
cypress:server:run project created and opened with config { projectRoot: '/root/cypress-test-tiny', projectName: 'cypress-test-tiny', morgan: false, isTextTerminal: true, socketId: '6bxmo', report: true, port: 45323, hosts: null, baseUrl: null, projectId: null, userAgent: null, reporter: 'spec', reporterOptions: null, blacklistHosts: null, clientRoute: '/__/', xhrRoute: '/xhrs/', socketIoRoute: '/__socket.io', socketIoCookie: '__socket.io', reporterRoute: '/__cypress/reporter', ignoreTestFiles: '*.hot-update.js', testFiles: '**/*.*', defaultCommandTimeout: 4000, requestTimeout: 5000, responseTimeout: 30000, pageLoadTimeout: 60000, execTimeout: 60000, taskTimeout: 60000, video: true, videoCompression: 32, videoUploadOnPasses: true, modifyObstructiveCode: true, chromeWebSecurity: true, waitForAnimations: true, animationDistanceThreshold: 5, numTestsKeptInMemory: 0, watchForFileChanges: false, trashAssetsBeforeRuns: true, autoOpen: false, viewportWidth: 1000, viewportHeight: 660, fileServerFolder: '/root/cypress-test-tiny', videosFolder: '/root/cypress-test-tiny/cypress/videos', supportFile: '/root/cypress-test-tiny/cypress/support/index.js', fixturesFolder: '/root/cypress-test-tiny/cypress/fixtures', integrationFolder: '/root/cypress-test-tiny/cypress/integration', screenshotsFolder: '/root/cypress-test-tiny/cypress/screenshots', namespace: '__cypress', pluginsFile: '/root/cypress-test-tiny/cypress/plugins/index.js', nodeVersion: 'default', configFile: 'cypress.json', javascripts: [], env: {}, cypressEnv: 'production', resolved: { animationDistanceThreshold: { value: 5, from: 'default' }, fileServerFolder: { value: '', from: 'default' }, baseUrl: { value: null, from: 'default' }, fixturesFolder: { value: 'cypress/fixtures', from: 'default' }, blacklistHosts: { value: null, from: 'default' }, chromeWebSecurity: { value: true, from: 'default' }, modifyObstructiveCode: { value: true, from: 'default' }, integrationFolder: { value: 'cypress/integration', from: 'default' }, env: {}, pluginsFile: { value: 'cypress/plugins', from: 'default' }, hosts: { value: null, from: 'default' }, screenshotsFolder: { value: 'cypress/screenshots', from: 'default' }, numTestsKeptInMemory: { value: 0, from: 'config' }, supportFile: { value: 'cypress/support', from: 'default' }, port: { value: null, from: 'default' }, projectId: { value: null, from: 'default' }, videosFolder: { value: 'cypress/videos', from: 'default' }, reporter: { value: 'spec', from: 'default' }, reporterOptions: { value: null, from: 'default' }, ignoreTestFiles: { value: '*.hot-update.js', from: 'default' }, testFiles: { value: '**/*.*', from: 'default' }, defaultCommandTimeout: { value: 4000, from: 'default' }, trashAssetsBeforeRuns: { value: true, from: 'default' }, execTimeout: { value: 60000, from: 'default' }, userAgent: { value: null, from: 'default' }, pageLoadTimeout: { value: 60000, from: 'default' }, viewportWidth: { value: 1000, from: 'default' }, requestTimeout: { value: 5000, from: 'default' }, viewportHeight: { value: 660, from: 'default' }, responseTimeout: { value: 30000, from: 'default' }, video: { value: true, from: 'default' }, taskTimeout: { value: 60000, from: 'default' }, videoCompression: { value: 32, from: 'default' }, videoUploadOnPasses: { value: true, from: 'default' }, watchForFileChanges: { value: false, from: 'config' }, waitForAnimations: { value: true, from: 'default' }, nodeVersion: { value: 'default', from: 'default' } }, parentTestsFolder: '/root/cypress-test-tiny/cypress', parentTestsFolderDisplay: 'cypress-test-tiny/cypress', supportFolder: '/root/cypress-test-tiny/cypress/support', integrationExampleName: 'examples', integrationExamplePath: '/root/cypress-test-tiny/cypress/integration/examples', scaffoldedFiles: [ { name: 'cypress', children: [Array] } ], resolvedNodeVersion: '12.0.0', state: {}, proxyUrl: 'http://localhost:45323', browserUrl: 'http://localhost:45323/__/', reporterUrl: 'http://localhost:45323/__cypress/reporter', xhrUrl: '__cypress/xhrs/' } +243ms
cypress:server:specs looking for test specs in the folder: /root/cypress-test-tiny/cypress/integration +0ms
cypress:server:profilecleaner found 0 root level profile matches: [] +0ms
cypress:server:profilecleaner found 0 profile folders: [] +0ms
cypress:server:profilecleaner found 1 profile folders: [ '/root/.config/Cypress/Partitions/run-25359' ] +0ms
cypress:server:profilecleaner finding process by pid: 25359 +1ms
cypress:launcher checking one browser chrome +0ms
cypress:launcher looking up chrome on linux platform +0ms
cypress:launcher finding version string using command "google-chrome --version" +0ms
cypress:launcher checking one browser chrome +9ms
cypress:launcher looking up chrome on linux platform +0ms
cypress:launcher finding version string using command "chrome --version" +0ms
cypress:launcher checking one browser chrome +7ms
cypress:launcher looking up chrome on linux platform +1ms
cypress:launcher finding version string using command "google-chrome-stable --version" +0ms
cypress:server:specs found spec file /root/cypress-test-tiny/cypress/integration/spec.js +44ms
cypress:server:specs found 1 spec files: [ { name: 'spec.js', relative: 'cypress/integration/spec.js', absolute: '/root/cypress-test-tiny/cypress/integration/spec.js' } ] +0ms
cypress:server:run found '1' specs using spec pattern 'null': [ 'spec.js' ] +47ms
cypress:launcher Received error detecting browser binary: "google-chrome" with error: spawn google-chrome ENOENT +12ms
cypress:launcher browser chrome not installed +0ms
cypress:launcher Received error detecting browser binary: "chrome" with error: spawn chrome ENOENT +1ms
cypress:launcher browser chrome not installed +0ms
cypress:launcher Received error detecting browser binary: "google-chrome-stable" with error: spawn google-chrome-stable ENOENT +0ms
cypress:launcher browser chrome not installed +0ms
cypress:launcher checking one browser chromium +1ms
cypress:launcher looking up chromium on linux platform +0ms
cypress:launcher finding version string using command "chromium-browser --version" +0ms
cypress:launcher checking one browser chromium +7ms
cypress:launcher looking up chromium on linux platform +0ms
cypress:launcher finding version string using command "chromium --version" +0ms
cypress:launcher Received error detecting browser binary: "chromium-browser" with error: spawn chromium-browser ENOENT +9ms
cypress:launcher browser chromium not installed +0ms
cypress:launcher Received error detecting browser binary: "chromium" with error: spawn chromium ENOENT +0ms
cypress:launcher browser chromium not installed +0ms
cypress:server:profilecleaner removing old profile { pid: 25359, folder: '/root/.config/Cypress/Partitions/run-25359' } +57ms
cypress:launcher checking one browser canary +1ms
cypress:launcher looking up canary on linux platform +0ms
cypress:launcher finding version string using command "google-chrome-canary --version" +0ms
cypress:launcher Received error detecting browser binary: "google-chrome-canary" with error: spawn google-chrome-canary ENOENT +9ms
cypress:launcher browser canary not installed +0ms
====================================================================================================
(Run Starting)
cypress:server:run formatting Node version. { version: '12.0.0', path: undefined } +80ms
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Cypress: 3.5.0 │
│ Browser: Electron 73 (headless) │
│ Specs: 1 found (spec.js) │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
────────────────────────────────────────────────────────────────────────────────────────────────────
Running: spec.js (1 of 1)
cypress:server:run about to run spec { spec: { name: 'spec.js', relative: 'cypress/integration/spec.js', absolute: '/root/cypress-test-tiny/cypress/integration/spec.js' }, isHeadless: true, browser: { name: 'electron', family: 'electron', displayName: 'Electron', version: '73.0.3683.121', path: '', majorVersion: '73', info: 'Electron is the default browser that comes with Cypress. This is the browser that runs in headless mode. Selecting this browser is useful when debugging. The version number indicates the underlying Chromium version that Electron uses.', isHeadless: true, isHeaded: false } } +6ms
cypress:server:video capture started { command: 'ffmpeg -n 20 /root/.cache/Cypress/3.5.0/Cypress/resources/app/packages/server/node_modules/@ffmpeg-installer/linux-x64/ffmpeg -f image2pipe -use_wallclock_as_timestamps 1 -i pipe:0 -y -vcodec libx264 -preset ultrafast /root/cypress-test-tiny/cypress/videos/spec.js.mp4' } +942ms
cypress:server:video capture stderr log { message: 'ffmpeg version N-47683-g0e8eb07980-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2018 the FFmpeg developers' } +1ms
cypress:server:video capture stderr log { message: ' built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516' } +0ms
cypress:server:video capture stderr log { message: ' configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-6 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg' } +0ms
cypress:server:video capture stderr log { message: ' libavutil 56. 24.101 / 56. 24.101' } +0ms
cypress:server:video capture stderr log { message: ' libavcodec 58. 42.100 / 58. 42.100' } +0ms
cypress:server:video capture stderr log { message: ' libavformat 58. 24.100 / 58. 24.100' } +1ms
cypress:server:video capture stderr log { message: ' libavdevice 58. 6.101 / 58. 6.101' } +0ms
cypress:server:video capture stderr log { message: ' libavfilter 7. 46.101 / 7. 46.101' } +0ms
cypress:server:video capture stderr log { message: ' libswscale 5. 4.100 / 5. 4.100' } +0ms
cypress:server:video capture stderr log { message: ' libswresample 3. 4.100 / 3. 4.100' } +0ms
cypress:server:video capture stderr log { message: ' libpostproc 55. 4.100 / 55. 4.100' } +0ms
cypress:server:run waiting for socket connection... { id: '6bxmo' } +43ms
cypress:server:openproject resetting project state, preparing to launch browser +412ms
cypress:server:project resetting project instance /root/cypress-test-tiny +179ms
cypress:server:buffers resetting buffers +224ms
cypress:server:server Setting remoteAuth undefined +183ms
cypress:server:server Setting remoteOrigin http://localhost:45323 +0ms
cypress:server:server Setting remoteStrategy file +0ms
cypress:server:server Setting remoteHostAndPort null +0ms
cypress:server:server Setting remoteDocDomain localhost +0ms
cypress:server:server Setting remoteFileServer http://localhost:33613 +0ms
cypress:server:server Getting remote state: { auth: undefined, props: null, origin: 'http://localhost:45323', strategy: 'file', visiting: undefined, domainName: 'localhost', fileServer: 'http://localhost:33613' } +0ms
cypress:server:openproject launching browser: { name: 'electron', family: 'electron', displayName: 'Electron', version: '73.0.3683.121', path: '', majorVersion: '73', info: 'Electron is the default browser that comes with Cypress. This is the browser that runs in headless mode. Selecting this browser is useful when debugging. The version number indicates the underlying Chromium version that Electron uses.', isHeadless: true, isHeaded: false }, spec: cypress/integration/spec.js +1ms
cypress:server:browsers opening browser { name: 'electron', family: 'electron', displayName: 'Electron', version: '73.0.3683.121', path: '', majorVersion: '73', info: 'Electron is the default browser that comes with Cypress. This is the browser that runs in headless mode. Selecting this browser is useful when debugging. The version number indicates the underlying Chromium version that Electron uses.', isHeadless: true, isHeaded: false } +0ms
cypress:server:browsers:electron open { browser: { name: 'electron', family: 'electron', displayName: 'Electron', version: '73.0.3683.121', path: '', majorVersion: '73', info: 'Electron is the default browser that comes with Cypress. This is the browser that runs in headless mode. Selecting this browser is useful when debugging. The version number indicates the underlying Chromium version that Electron uses.', isHeadless: true, isHeaded: false }, url: 'http://localhost:45323/__/#/tests/integration/spec.js' } +0ms
cypress:server:saved_state noop saved state +388ms
cypress:server:browsers:electron received saved state {} +1ms
cypress:server:browsers:electron browser window options { width: 1280, height: 720, show: false, recordFrameRate: 20, automationMiddleware: { onAfterResponse: [Function: onAfterResponse] }, projectRoot: '/root/cypress-test-tiny', browsers: undefined, proxyUrl: 'http://localhost:45323', userAgent: null, proxyServer: 'http://localhost:45323', socketIoRoute: '/__socket.io', chromeWebSecurity: true, url: 'http://localhost:45323/__/#/tests/integration/spec.js', isTextTerminal: true, browser: { name: 'electron', family: 'electron', displayName: 'Electron', version: '73.0.3683.121', path: '', majorVersion: '73', info: 'Electron is the default browser that comes with Cypress. This is the browser that runs in headless mode. Selecting this browser is useful when debugging. The version number indicates the underlying Chromium version that Electron uses.', isHeadless: true, isHeaded: false }, x: null, y: null, devTools: false, minWidth: 100, minHeight: 100, contextMenu: true, partition: 'persist:run-25711', trackState: { width: 'browserWidth', height: 'browserHeight', x: 'browserX', y: 'browserY', devTools: 'isBrowserDevToolsOpen' }, frame: true, webPreferences: { partition: null, webSecurity: true, nodeIntegration: false, backgroundThrottling: false } } +2ms
cypress:server:plugins plugin event registered? { event: 'before:browser:launch', isRegistered: false } +243ms
cypress:server:browsers:electron launching browser window to url: http://localhost:45323/__/#/tests/integration/spec.js +1ms
cypress:server:browsers:electron debugger attached +7ms
cypress:server:browsers:electron clearing cache +0ms
cypress:server:routes Serving Cypress front-end by requested URL: /__/ +0ms
cypress:server:server Getting remote state: { auth: undefined, props: null, origin: 'http://localhost:45323', strategy: 'file', visiting: undefined, domainName: 'localhost', fileServer: 'http://localhost:33613' } +44ms
cypress:server:runner serving runner index.html with config { version: '3.5.0', platform: 'linux', arch: 'x64', projectName: 'cypress-test-tiny' } +0ms
cypress:server:video:frames writing video frame +0ms
cypress:server:video:frames writing video frame +220ms
cypress:server:video capture stderr log { message: '[mjpeg @ 0x555556964fc0] EOI missing, emulating' } +290ms
cypress:server:video:frames writing video frame +131ms
cypress:server:server Got CONNECT request from localhost:45323 +494ms
cypress:https-proxy Writing browserSocket connection headers { url: 'localhost:45323', headLength: 0, headers: { host: 'localhost:45323', 'proxy-connection': 'keep-alive', 'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/3.5.0 Chrome/73.0.3683.121 Electron/5.0.10 Safari/537.36' } } +723ms
cypress:https-proxy Got first head bytes { url: 'localhost:45323', head: 'GET /__socket.io/?EIO=3&transport=websocket HTTP/1.1\r\nHost: loca' } +1ms
cypress:server:server HTTPS request does not match URL: https://localhost:45323 with props: null +2ms
cypress:https-proxy Making connection to localhost:45323 +1ms
cypress:https-proxy getting proxy URL { port: 45323, serverPort: 45323, sniPort: 43981, url: 'https://localhost:45323' } +0ms
cypress:network:connect successfully connected { opts: { port: '45323', host: 'localhost', getDelayMsForRetry: [Function: getDelayForRetry] }, iteration: 0 } +0ms
cypress:https-proxy received upstreamSocket callback for request { port: '45323', hostname: 'localhost', err: undefined } +3ms
cypress:server:server Got UPGRADE request from /__socket.io/?EIO=3&transport=websocket +4ms
cypress:server:socket socket connected +0ms
cypress:server:browsers:electron debugger: enable Console and Network +535ms
cypress:server:browsers browser opened +560ms
cypress:server:video:frames writing video frame +164ms
cypress:server:run got socket connection { id: '6bxmo' } +625ms
cypress:server:browsers:electron console message: { column: 32, level: 'log', line: 177713, source: 'console-api', text: 'console.clear', url: 'http://localhost:45323/__cypress/runner/cypress_runner.js' } +67ms
cypress:server:video:frames writing video frame +87ms
cypress:server:video:frames video stream drained +1ms
cypress:server:browsers:electron console message: { column: 32, level: 'log', line: 177713, source: 'console-api', text: 'console.clear', url: 'http://localhost:45323/__cypress/runner/cypress_runner.js' } +45ms
cypress:server:server Getting remote state: { auth: undefined, props: null, origin: 'http://localhost:45323', strategy: 'file', visiting: undefined, domainName: 'localhost', fileServer: 'http://localhost:33613' } +129ms
cypress:server:socket watch test file 'integration/spec.js' +131ms
cypress:server:socket will watch test file path 'cypress/integration/spec.js' +0ms
cypress:server:preprocessor getFile /root/cypress-test-tiny/cypress/integration/spec.js +0ms
cypress:server:appdata path: /root/.config/Cypress/cy/production/projects/cypress-test-tiny-4e7d17a9011ad0eda9bdccd3192b3c86/bundles/cypress/integration/spec.js +882ms
cypress:server:plugins plugin event registered? { event: 'file:preprocessor', isRegistered: false } +665ms
cypress:server:preprocessor set default preprocessor +0ms
cypress:browserify received user options: {} +0ms
cypress:server:plugins register event 'file:preprocessor' +162ms
cypress:server:plugins execute plugin event 'file:preprocessor' Node 'v12.0.0' with args: EventEmitter { _events: [Object: null prototype] { rerun: [Function] }, _eventsCount: 1, _maxListeners: undefined, filePath: '/root/cypress-test-tiny/cypress/integration/spec.js', shouldWatch: false, outputPath: '/root/.config/Cypress/cy/production/projects/cypress-test-tiny-4e7d17a9011ad0eda9bdccd3192b3c86/bundles/cypress/integration/spec.js' } undefined undefined +0ms
cypress:browserify get: /root/cypress-test-tiny/cypress/integration/spec.js +0ms
cypress:browserify input: /root/cypress-test-tiny/cypress/integration/spec.js +0ms
cypress:browserify output: /root/.config/Cypress/cy/production/projects/cypress-test-tiny-4e7d17a9011ad0eda9bdccd3192b3c86/bundles/cypress/integration/spec.js +0ms
cypress:browserify browserifyOptions { extensions: [ '.js', '.jsx', '.coffee', '.cjsx' ], transform: [ [ '/root/.cache/Cypress/3.5.0/Cypress/resources/app/packages/server/node_modules/@cypress/browserify-preprocessor/cjsxify.js', {} ], [ '/root/.cache/Cypress/3.5.0/Cypress/resources/app/packages/server/node_modules/babelify/index.js', [Object] ] ], plugin: [], cache: {}, packageCache: {}, entries: [ '/root/cypress-test-tiny/cypress/integration/spec.js' ] }: +0ms
cypress:server:video:frames writing video frame +190ms
cypress:server:video:frames video stream drained +0ms
cypress:server:controllers:spec request for { spec: 'cypress/support/index.js' } +0ms
cypress:server:preprocessor getFile /root/cypress-test-tiny/cypress/support/index.js +182ms
cypress:server:appdata path: /root/.config/Cypress/cy/production/projects/cypress-test-tiny-4e7d17a9011ad0eda9bdccd3192b3c86/bundles/cypress/support/index.js +182ms
cypress:server:plugins plugin event registered? { event: 'file:preprocessor', isRegistered: true } +20ms
cypress:server:plugins execute plugin event 'file:preprocessor' Node 'v12.0.0' with args: EventEmitter { _events: [Object: null prototype] { rerun: [Function] }, _eventsCount: 1, _maxListeners: undefined, filePath: '/root/cypress-test-tiny/cypress/support/index.js', shouldWatch: false, outputPath: '/root/.config/Cypress/cy/production/projects/cypress-test-tiny-4e7d17a9011ad0eda9bdccd3192b3c86/bundles/cypress/support/index.js' } undefined undefined +0ms
cypress:browserify get: /root/cypress-test-tiny/cypress/support/index.js +20ms
cypress:browserify input: /root/cypress-test-tiny/cypress/support/index.js +0ms
cypress:browserify output: /root/.config/Cypress/cy/production/projects/cypress-test-tiny-4e7d17a9011ad0eda9bdccd3192b3c86/bundles/cypress/support/index.js +0ms
cypress:browserify browserifyOptions { extensions: [ '.js', '.jsx', '.coffee', '.cjsx' ], transform: [ [ '/root/.cache/Cypress/3.5.0/Cypress/resources/app/packages/server/node_modules/@cypress/browserify-preprocessor/cjsxify.js', [Object] ], [ '/root/.cache/Cypress/3.5.0/Cypress/resources/app/packages/server/node_modules/babelify/index.js', [Object] ] ], plugin: [], cache: {}, packageCache: {}, entries: [ '/root/cypress-test-tiny/cypress/support/index.js' ] }: +0ms
cypress:server:controllers:spec request for { spec: 'cypress/integration/spec.js' } +4ms
cypress:server:preprocessor getFile /root/cypress-test-tiny/cypress/integration/spec.js +3ms
cypress:server:plugins plugin event registered? { event: 'file:preprocessor', isRegistered: true } +3ms
cypress:server:preprocessor headless and already processed +0ms
cypress:server:video:frames writing video frame +15ms
cypress:server:video:frames video stream drained +0ms
cypress:browserify making bundle /root/.config/Cypress/cy/production/projects/cypress-test-tiny-4e7d17a9011ad0eda9bdccd3192b3c86/bundles/cypress/integration/spec.js +13ms
cypress:browserify making bundle /root/.config/Cypress/cy/production/projects/cypress-test-tiny-4e7d17a9011ad0eda9bdccd3192b3c86/bundles/cypress/support/index.js +1ms
cypress:browserify finished bundling: /root/.config/Cypress/cy/production/projects/cypress-test-tiny-4e7d17a9011ad0eda9bdccd3192b3c86/bundles/cypress/integration/spec.js +287ms
cypress:server:controllers:spec sending spec { filePath: '/root/.config/Cypress/cy/production/projects/cypress-test-tiny-4e7d17a9011ad0eda9bdccd3192b3c86/bundles/cypress/integration/spec.js' } +328ms
cypress:browserify finished bundling: /root/.config/Cypress/cy/production/projects/cypress-test-tiny-4e7d17a9011ad0eda9bdccd3192b3c86/bundles/cypress/support/index.js +46ms
cypress:server:controllers:spec sending spec { filePath: '/root/.config/Cypress/cy/production/projects/cypress-test-tiny-4e7d17a9011ad0eda9bdccd3192b3c86/bundles/cypress/support/index.js' } +16ms
cypress:server:project received runnables { id: 'r1', title: '', root: true, type: 'suite', tests: [], suites: [ { id: 'r2', title: 'page', root: false, type: 'suite', tests: [Array], suites: [] } ] } +1s
cypress:server:reporter trying to load reporter: spec +1s
cypress:server:reporter spec is Mocha reporter +0ms
cypress:server:project onMocha start +6ms
cypress:server:reporter got mocha event 'start' with args: [ { start: '2019-10-24T14:02:57.977Z' } ] +5ms
cypress:server:project onMocha suite +1ms
cypress:server:reporter got mocha event 'suite' with args: [ { id: 'r1', title: '', root: true, type: 'suite' } ] +1ms
cypress:server:project onMocha suite +20ms
cypress:server:reporter got mocha event 'suite' with args: [ { id: 'r2', title: 'page', root: false, type: 'suite' } ] +20ms
page
cypress:server:project onMocha test +1ms
cypress:server:reporter got mocha event 'test' with args: [ { id: 'r3', title: 'works', body: 'function () {}', type: 'test' } ] +1ms
cypress:server:socket automation:request get:cookies { domain: 'localhost' } +569ms
cypress:server:cookies getting:cookies { domain: 'localhost' } +0ms
cypress:server:cookies received get:cookies [] +0ms
cypress:server:project onMocha pass +5ms
cypress:server:reporter got mocha event 'pass' with args: [ { id: 'r3', title: 'works', state: 'passed', body: 'function () {}', type: 'test', duration: 25, wallClockStartedAt: '2019-10-24T14:02:57.981Z', timings: { lifecycle: 23, test: [Object] } } ] +5ms
✓ works
cypress:server:project onMocha test end +1ms
cypress:server:reporter got mocha event 'test end' with args: [ { id: 'r3', title: 'works', state: 'passed', body: 'function () {}', type: 'test', duration: 25, wallClockStartedAt: '2019-10-24T14:02:57.981Z', timings: { lifecycle: 23, test: [Object] } } ] +1ms
cypress:server:project onMocha test:after:run +4ms
cypress:server:reporter got mocha event 'test:after:run' with args: [ { id: 'r3', title: 'works', state: 'passed', body: 'function () {}', type: 'test', duration: 25, wallClockStartedAt: '2019-10-24T14:02:57.981Z', wallClockDuration: 27, timings: { lifecycle: 23, test: [Object] } } ] +4ms
cypress:server:project onMocha suite end +1ms
cypress:server:reporter got mocha event 'suite end' with args: [ { id: 'r2', title: 'page', root: false, type: 'suite' } ] +1ms
cypress:server:project onMocha suite end +0ms
cypress:server:reporter got mocha event 'suite end' with args: [ { id: 'r1', title: '', root: true, type: 'suite' } ] +0ms
cypress:server:project onMocha end +1ms
cypress:server:reporter got mocha event 'end' with args: [ { end: '2019-10-24T14:02:58.010Z' } ] +1ms
1 passing (34ms)
cypress:server:video:frames writing video frame +404ms
cypress:server:video:frames video stream drained +0ms
cypress:server:video:frames writing video frame +58ms
cypress:server:video:frames video stream drained +0ms
(Results)
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Tests: 1 │
│ Passing: 1 │
│ Failing: 0 │
│ Pending: 0 │
│ Skipped: 0 │
│ Screenshots: 0 │
│ Video: true │
│ Duration: 0 seconds │
│ Spec Ran: spec.js │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
cypress:server:run attempting to close the browser +2s
cypress:server:browsers killing browser process +2s
cypress:server:electron_app all BrowserWindows closed, not exiting +0ms
cypress:server:browsers:electron closed event fired +2s
cypress:server:preprocessor removeFile /root/cypress-test-tiny/cypress/integration/spec.js +1s
cypress:server:preprocessor base emitter plugin close event +0ms
cypress:server:preprocessor base emitter native close event +0ms
cypress:browserify close: /root/cypress-test-tiny/cypress/integration/spec.js +1s
cypress:server:preprocessor base emitter native close event +1ms
cypress:browserify close: /root/cypress-test-tiny/cypress/support/index.js +0ms
cypress:browserify close: /root/cypress-test-tiny/cypress/integration/spec.js +0ms
cypress:server:browsers browser process killed +10ms
cypress:server:run ending the video recording { name: '/root/cypress-test-tiny/cypress/videos/spec.js.mp4', videoCompression: 32, shouldUploadVideo: true } +11ms
cypress:server:browsers:electron debugger detached due to { reason: 'target closed' } +2ms
cypress:server:video capture stderr log { message: "Input #0, image2pipe, from 'pipe:0':" } +2s
cypress:server:video capture stderr log { message: ' Duration: N/A, start: 1571925776.840000, bitrate: N/A' } +0ms
cypress:server:video capture stderr log { message: ' Stream #0:0: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 1280x720 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc' } +0ms
cypress:server:video capture stderr log { message: 'Stream mapping:' } +1ms
cypress:server:video capture codec data: { format: 'image2pipe', audio: '', video: 'mjpeg (Baseline)', duration: 'N/A', video_details: [ 'mjpeg (Baseline)', 'yuvj420p(pc', 'bt470bg/unknown/unknown)', '1280x720 [SAR 1:1 DAR 16:9]', '25 fps', '25 tbr', '25 tbn', '25 tbc' ] } +0ms
cypress:server:video capture stderr log { message: ' Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))' } +0ms
cypress:server:video capture stderr log { message: '[libx264 @ 0x555556974e40] using SAR=1/1' } +3ms
cypress:server:video capture stderr log { message: '[libx264 @ 0x555556974e40] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2' } +2ms
cypress:server:video capture stderr log { message: '[libx264 @ 0x555556974e40] profile Constrained Baseline, level 3.1, 4:2:0, 8-bit' } +6ms
cypress:server:video capture stderr log { message: '[libx264 @ 0x555556974e40] 264 - core 157 r2935 545de2f - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=18 lookahead_threads=3 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0' } +0ms
cypress:server:video capture stderr log { message: "Output #0, mp4, to '/root/cypress-test-tiny/cypress/videos/spec.js.mp4':" } +0ms
cypress:server:video capture stderr log { message: ' Metadata:' } +1ms
cypress:server:video capture stderr log { message: ' encoder : Lavf58.24.100' } +0ms
cypress:server:video capture stderr log { message: ' Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuvj420p(pc), 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 25 fps, 12800 tbn, 25 tbc' } +0ms
cypress:server:video capture stderr log { message: ' Metadata:' } +0ms
cypress:server:video capture stderr log { message: ' encoder : Lavc58.42.100 libx264' } +0ms
cypress:server:video capture stderr log { message: ' Side data:' } +0ms
cypress:server:video capture stderr log { message: ' cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1' } +0ms
cypress:server:video capture stderr log { message: 'frame= 32 fps=0.0 q=-1.0 Lsize= 99kB time=00:00:01.24 bitrate= 651.4kbits/s dup=23 drop=0 speed=17.8x ' } +57ms
cypress:server:video capture stderr log { message: 'video:98kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.961817%' } +0ms
cypress:server:video capture stderr log { message: '[libx264 @ 0x555556974e40] frame I:1 Avg QP:20.00 size: 2733' } +1ms
cypress:server:video capture stderr log { message: '[libx264 @ 0x555556974e40] frame P:31 Avg QP:13.58 size: 3119' } +0ms
cypress:server:video capture stderr log { message: '[libx264 @ 0x555556974e40] mb I I16..4: 100.0% 0.0% 0.0%' } +0ms
cypress:server:video capture stderr log { message: '[libx264 @ 0x555556974e40] mb P I16..4: 6.9% 0.0% 0.0% P16..4: 2.4% 0.0% 0.0% 0.0% 0.0% skip:90.6%' } +0ms
cypress:server:video capture stderr log { message: '[libx264 @ 0x555556974e40] coded y,uvDC,uvAC intra: 5.7% 0.1% 0.1% inter: 1.7% 0.0% 0.0%' } +0ms
cypress:server:video capture stderr log { message: '[libx264 @ 0x555556974e40] i16 v,h,dc,p: 88% 7% 3% 2%' } +0ms
cypress:server:video capture stderr log { message: '[libx264 @ 0x555556974e40] i8c dc,h,v,p: 100% 0% 0% 0%' } +1ms
cypress:server:video capture stderr log { message: '[libx264 @ 0x555556974e40] kb/s:621.37' } +0ms
cypress:server:video capture stderr log { message: '' } +1ms
cypress:server:video capture ended +1ms
(Video)
- Started processing: Compressing to 32 CRF
cypress:server:video processing video from /root/cypress-test-tiny/cypress/videos/spec.js.mp4 to /root/cypress-test-tiny/cypress/videos/spec.js-compressed.mp4 video compression 32 +1ms
cypress:server:video compression started { command: 'ffmpeg -i /root/cypress-test-tiny/cypress/videos/spec.js.mp4 -y -vcodec libx264 -preset fast -crf 32 /root/cypress-test-tiny/cypress/videos/spec.js-compressed.mp4' } +10ms
cypress:server:video compression stderr log { message: 'ffmpeg version N-47683-g0e8eb07980-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2018 the FFmpeg developers' } +1ms
cypress:server:video compression stderr log { message: ' built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516' } +0ms
cypress:server:video compression stderr log { message: ' configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-6 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg' } +0ms
cypress:server:video compression stderr log { message: ' libavutil 56. 24.101 / 56. 24.101' } +0ms
cypress:server:video compression stderr log { message: ' libavcodec 58. 42.100 / 58. 42.100' } +1ms
cypress:server:video compression stderr log { message: ' libavformat 58. 24.100 / 58. 24.100' } +0ms
cypress:server:video compression stderr log { message: ' libavdevice 58. 6.101 / 58. 6.101' } +0ms
cypress:server:video compression stderr log { message: ' libavfilter 7. 46.101 / 7. 46.101' } +0ms
cypress:server:video compression stderr log { message: ' libswscale 5. 4.100 / 5. 4.100' } +0ms
cypress:server:video compression stderr log { message: ' libswresample 3. 4.100 / 3. 4.100' } +1ms
cypress:server:video compression stderr log { message: ' libpostproc 55. 4.100 / 55. 4.100' } +0ms
cypress:server:video compression stderr log { message: "Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/root/cypress-test-tiny/cypress/videos/spec.js.mp4':" } +0ms
cypress:server:video compression stderr log { message: ' Metadata:' } +0ms
cypress:server:video compression stderr log { message: ' major_brand : isom' } +0ms
cypress:server:video compression stderr log { message: ' minor_version : 512' } +0ms
cypress:server:video compression stderr log { message: ' compatible_brands: isomiso2avc1mp41' } +0ms
cypress:server:video compression stderr log { message: ' encoder : Lavf58.24.100' } +0ms
cypress:server:video compression stderr log { message: ' Duration: 00:00:01.28, start: 0.000000, bitrate: 631 kb/s' } +0ms
cypress:server:video compression stderr log { message: ' Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuvj420p(pc), 1280x720 [SAR 1:1 DAR 16:9], 625 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)' } +1ms
cypress:server:video compression stderr log { message: ' Metadata:' } +0ms
cypress:server:video compression stderr log { message: ' handler_name : VideoHandler' } +0ms
cypress:server:video compression stderr log { message: 'Stream mapping:' } +0ms
cypress:server:video compression codec data: { format: 'mov,mp4,m4a,3gp,3g2,mj2', audio: '', video: 'h264 (Constrained Baseline) (avc1 / 0x31637661)', duration: '00:00:01.28', video_details: [ 'h264 (Constrained Baseline) (avc1 / 0x31637661)', 'yuvj420p(pc)', '1280x720 [SAR 1:1 DAR 16:9]', '625 kb/s', '25 fps', '25 tbr', '12800 tbn', '50 tbc (default)' ] } +0ms
cypress:server:video compression stderr log { message: ' Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))' } +1ms
cypress:server:video compression stderr log { message: 'Press [q] to stop, [?] for help' } +0ms
cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] using SAR=1/1' } +13ms
cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2' } +0ms
cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] profile High, level 3.1, 4:2:0, 8-bit' } +2ms
cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] 264 - core 157 r2935 545de2f - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=2 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=6 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=18 lookahead_threads=3 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=1 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=30 rc=crf mbtree=1 crf=32.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00' } +0ms
cypress:server:video compression stderr log { message: "Output #0, mp4, to '/root/cypress-test-tiny/cypress/videos/spec.js-compressed.mp4':" } +0ms
cypress:server:video compression stderr log { message: ' Metadata:' } +0ms
cypress:server:video compression stderr log { message: ' major_brand : isom' } +0ms
cypress:server:video compression stderr log { message: ' minor_version : 512' } +0ms
cypress:server:video compression stderr log { message: ' compatible_brands: isomiso2avc1mp41' } +1ms
cypress:server:video compression stderr log { message: ' encoder : Lavf58.24.100' } +0ms
cypress:server:video compression stderr log { message: ' Stream #0:0(und): Video: h264 (libx264) (avc1 / 0x31637661), yuvj420p(pc), 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 25 fps, 12800 tbn, 25 tbc (default)' } +0ms
cypress:server:video compression stderr log { message: ' Metadata:' } +0ms
cypress:server:video compression stderr log { message: ' handler_name : VideoHandler' } +0ms
cypress:server:video compression stderr log { message: ' encoder : Lavc58.42.100 libx264' } +0ms
cypress:server:video compression stderr log { message: ' Side data:' } +0ms
cypress:server:video compression stderr log { message: ' cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1' } +0ms
cypress:server:video compression stderr log { message: 'frame= 32 fps=0.0 q=-1.0 Lsize= 21kB time=00:00:01.16 bitrate= 151.8kbits/s speed=8.64x ' } +118ms
cypress:server:video compression progress: { frames: 32, currentFps: 0, currentKbps: 151.8, targetSize: 21, timemark: '00:00:01.16' } +0ms
cypress:server:video compression stderr log { message: 'video:20kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 5.948313%' } +0ms
cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] frame I:3 Avg QP:17.44 size: 5561' } +1ms
cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] frame P:10 Avg QP:26.69 size: 251' } +1ms
cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] frame B:19 Avg QP:25.77 size: 47' } +0ms
cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] consecutive B-frames: 12.5% 25.0% 0.0% 62.5%' } +0ms
cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] mb I I16..4: 88.4% 10.3% 1.3%' } +0ms
cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] mb P I16..4: 0.5% 0.2% 0.2% P16..4: 1.1% 0.0% 0.0% 0.0% 0.0% skip:98.0%' } +0ms
cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 0.3% 0.0% 0.0% direct: 0.0% skip:99.7% L0:57.6% L1:42.4% BI: 0.0%' } +0ms
cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] 8x8 transform intra:10.7% inter:42.1%' } +0ms
cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] coded y,uvDC,uvAC intra: 4.7% 0.2% 0.2% inter: 0.0% 0.0% 0.0%' } +0ms
cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] i16 v,h,dc,p: 93% 6% 2% 0%' } +0ms
cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 26% 32% 21% 0% 0% 0% 0% 0%' } +1ms
cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 34% 22% 26% 2% 3% 3% 3% 2% 4%' } +0ms
cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] i8c dc,h,v,p: 100% 0% 0% 0%' } +0ms
cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] Weighted P-Frames: Y:0.0% UV:0.0%' } +0ms
cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] ref P L0: 95.3% 4.7%' } +0ms
cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] ref B L0: 81.4% 18.6%' } +0ms
cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] ref B L1: 96.3% 3.7%' } +0ms
cypress:server:video compression stderr log { message: '[libx264 @ 0x555555a9a0c0] kb/s:125.56' } +0ms
cypress:server:video compression stderr log { message: '' } +5ms
cypress:server:video compression ended +1ms
- Finished processing: /root/cypress-test-tiny/cypress/videos/spec.js.mp4 (0 seconds)
cypress:server:run spec results { stats: { suites: 1, tests: 1, passes: 1, pending: 0, skipped: 0, failures: 0, wallClockStartedAt: 2019-10-24T14:02:57.977Z, wallClockEndedAt: 2019-10-24T14:02:58.010Z, wallClockDuration: 33 }, reporter: 'spec', reporterStats: { suites: 1, tests: 1, passes: 1, pending: 0, failures: 0, start: 2019-10-24T14:02:57.980Z, end: 2019-10-24T14:02:58.014Z, duration: 34 }, hooks: [], tests: [ { testId: 'r3', title: [Array], state: 'passed', body: 'function () {}', stack: null, error: null, timings: [Object], failedFromHookId: null, wallClockStartedAt: 2019-10-24T14:02:57.981Z, wallClockDuration: 27, videoTimestamp: 1232 } ], error: null, video: '/root/cypress-test-tiny/cypress/videos/spec.js.mp4', screenshots: [], spec: { name: 'spec.js', relative: 'cypress/integration/spec.js', absolute: '/root/cypress-test-tiny/cypress/integration/spec.js' }, shouldUploadVideo: true } +238ms
cypress:server:run final results of all runs: { startedTestsAt: 2019-10-24T14:02:57.977Z, endedTestsAt: 2019-10-24T14:02:58.010Z, totalDuration: 33, totalSuites: 1, totalTests: 1, totalFailed: 0, totalPassed: 1, totalPending: 0, totalSkipped: 0, runs: [ { stats: [Object], reporter: 'spec', reporterStats: [Object], hooks: [], tests: [Array], error: null, video: '/root/cypress-test-tiny/cypress/videos/spec.js.mp4', screenshots: [], spec: [Object], shouldUploadVideo: true } ], browserPath: '', browserName: 'electron', browserVersion: '73.0.3683.121', osName: 'linux', osVersion: 'Debian - 9.9', cypressVersion: '3.5.0', runUrl: undefined, config: { projectRoot: '/root/cypress-test-tiny', projectName: 'cypress-test-tiny', morgan: false, isTextTerminal: true, socketId: '6bxmo', report: true, port: 45323, hosts: null, baseUrl: null, projectId: null, userAgent: null, reporter: 'spec', reporterOptions: null, blacklistHosts: null, clientRoute: '/__/', xhrRoute: '/xhrs/', socketIoRoute: '/__socket.io', socketIoCookie: '__socket.io', reporterRoute: '/__cypress/reporter', ignoreTestFiles: '*.hot-update.js', testFiles: '**/*.*', defaultCommandTimeout: 4000, requestTimeout: 5000, responseTimeout: 30000, pageLoadTimeout: 60000, execTimeout: 60000, taskTimeout: 60000, video: true, videoCompression: 32, videoUploadOnPasses: true, modifyObstructiveCode: true, chromeWebSecurity: true, waitForAnimations: true, animationDistanceThreshold: 5, numTestsKeptInMemory: 0, watchForFileChanges: false, trashAssetsBeforeRuns: true, autoOpen: false, viewportWidth: 1000, viewportHeight: 660, fileServerFolder: '/root/cypress-test-tiny', videosFolder: '/root/cypress-test-tiny/cypress/videos', supportFile: '/root/cypress-test-tiny/cypress/support/index.js', fixturesFolder: '/root/cypress-test-tiny/cypress/fixtures', integrationFolder: '/root/cypress-test-tiny/cypress/integration', screenshotsFolder: '/root/cypress-test-tiny/cypress/screenshots', namespace: '__cypress', pluginsFile: '/root/cypress-test-tiny/cypress/plugins/index.js', nodeVersion: 'default', configFile: 'cypress.json', javascripts: [], env: {}, cypressEnv: 'production', resolved: { animationDistanceThreshold: [Object], fileServerFolder: [Object], baseUrl: [Object], fixturesFolder: [Object], blacklistHosts: [Object], chromeWebSecurity: [Object], modifyObstructiveCode: [Object], integrationFolder: [Object], env: {}, pluginsFile: [Object], hosts: [Object], screenshotsFolder: [Object], numTestsKeptInMemory: [Object], supportFile: [Object], port: [Object], projectId: [Object], videosFolder: [Object], reporter: [Object], reporterOptions: [Object], ignoreTestFiles: [Object], testFiles: [Object], defaultCommandTimeout: [Object], trashAssetsBeforeRuns: [Object], execTimeout: [Object], userAgent: [Object], pageLoadTimeout: [Object], viewportWidth: [Object], requestTimeout: [Object], viewportHeight: [Object], responseTimeout: [Object], video: [Object], taskTimeout: [Object], videoCompression: [Object], videoUploadOnPasses: [Object], watchForFileChanges: [Object], waitForAnimations: [Object], nodeVersion: [Object] }, parentTestsFolder: '/root/cypress-test-tiny/cypress', parentTestsFolderDisplay: 'cypress-test-tiny/cypress', supportFolder: '/root/cypress-test-tiny/cypress/support', integrationExampleName: 'examples', integrationExamplePath: '/root/cypress-test-tiny/cypress/integration/examples', scaffoldedFiles: [ [Object] ], resolvedNodeVersion: '12.0.0', state: {}, proxyUrl: 'http://localhost:45323', browserUrl: 'http://localhost:45323/__/', reporterUrl: 'http://localhost:45323/__cypress/reporter', xhrUrl: '__cypress/xhrs/' } } +1ms
====================================================================================================
(Run Finished)
Spec Tests Passing Failing Pending Skipped
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ ✔ spec.js 33ms 1 1 - - - │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
✔ All specs passed! 33ms 1 1 - - -
cypress:server:cypress about to exit with code 0 +5s
cypress:cli child event fired { event: 'exit', code: 0, signal: null } +5s
cypress:cli Stopping Xvfb +5s
cypress:cli child event fired { event: 'close', code: 0, signal: null } +2ms
root@ce50d4ada2a6:~/cypress-test-tiny#
@flotwig Failed Debug Logs (I don't see smoke test running in your Log):
2019-10-24T13:56:25.128Z cypress:cli verifying Cypress app
2019-10-24T13:56:25.130Z cypress:cli checking environment variables
2019-10-24T13:56:25.141Z cypress:cli checking if executable exists /home/jenkins/.cache/Cypress/3.5.0/Cypress/Cypress
2019-10-24T13:56:25.144Z cypress:cli Binary is executable? : true
2019-10-24T13:56:25.145Z cypress:cli binaryDir is /home/jenkins/.cache/Cypress/3.5.0/Cypress
2019-10-24T13:56:25.148Z cypress:cli Reading binary package.json from: /home/jenkins/.cache/Cypress/3.5.0/Cypress/resources/app/package.json
2019-10-24T13:56:25.154Z cypress:cli Found binary version 3.5.0 installed in: /home/jenkins/.cache/Cypress/3.5.0/Cypress
2019-10-24T13:56:25.158Z cypress:cli could not read binary_state.json file
2019-10-24T13:56:25.159Z cypress:cli {}
2019-10-24T13:56:25.159Z cypress:cli is Verified ? undefined
2019-10-24T13:56:25.159Z cypress:cli running binary verification check 3.5.0
It looks like this is your first time using Cypress: 3.5.0
[?25l[15:56:25] Verifying Cypress can run /home/jenkins/.cache/Cypress/3.5.0/Cypress [started]
2019-10-24T13:56:25.173Z cypress:cli clearing out the verified version
2019-10-24T13:56:25.175Z cypress:cli DISPLAY environment variable is set to :0 on Linux
Assuming this DISPLAY points at working X11 server,
Cypress will not spawn own Xvfb
NOTE: if the X11 server is NOT working, Cypress will exit without explanation,
see https://github.com/cypress-io/cypress/issues/4034
Solution: Unset the DISPLAY variable and try again:
DISPLAY= npx cypress run ...
2019-10-24T13:56:25.176Z cypress:cli needs Xvfb? false
2019-10-24T13:56:25.176Z cypress:cli spawning, should retry on display problem? true
2019-10-24T13:56:25.177Z cypress:cli running smoke test
2019-10-24T13:56:25.177Z cypress:cli using Cypress executable /home/jenkins/.cache/Cypress/3.5.0/Cypress/Cypress
2019-10-24T13:56:25.177Z cypress:cli smoke test command: /home/jenkins/.cache/Cypress/3.5.0/Cypress/Cypress --smoke-test --ping=251
2019-10-24T13:56:25.178Z cypress:cli smoke test timeout 30000 ms
2019-10-24T13:56:25.505Z cypress:cli Smoke test failed: { Error: Command failed: /home/jenkins/.cache/Cypress/3.5.0/Cypress/Cypress --smoke-test --ping=251
[15609:1024/155625.398363:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /home/jenkins/.cache/Cypress/3.5.0/Cypress/chrome-sandbox is owned by root and has mode 4755.
at makeError (/home/jenkins/workspace/ded_trigger-build-update-cypress@2/node_modules/cypress/node_modules/execa/index.js:172:9)
at Promise.all.then.arr (/home/jenkins/workspace/ded_trigger-build-update-cypress@2/node_modules/cypress/node_modules/execa/index.js:277:16)
at Object.dynatraceRegularInvoke [as doInvoke] (/opt/dynatrace/oneagent/agent/res/nodeagent/nodejsagent.js:1732:20)
at Object.a.safeInvoke (/opt/dynatrace/oneagent/agent/res/nodeagent/nodejsagent.js:1802:29)
at /opt/dynatrace/oneagent/agent/res/nodeagent/nodejsagent.js:6952:25
at process._tickCallback (internal/process/next_tick.js:68:7)
code: null,
stdout: '',
stderr:
'[15609:1024/155625.398363:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I\'m aborting now. You need to make sure that /home/jenkins/.cache/Cypress/3.5.0/Cypress/chrome-sandbox is owned by root and has mode 4755.\n',
failed: true,
signal: 'SIGTRAP',
cmd:
'/home/jenkins/.cache/Cypress/3.5.0/Cypress/Cypress --smoke-test --ping=251',
timedOut: false,
killed: false }
2019-10-24T13:56:25.508Z cypress:cli error message: [15609:1024/155625.398363:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /home/jenkins/.cache/Cypress/3.5.0/Cypress/chrome-sandbox is owned by root and has mode 4755.
[15:56:25] Verifying Cypress can run /home/jenkins/.cache/Cypress/3.5.0/Cypress [failed]
[?25hCypress 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.
----------
[15609:1024/155625.398363:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /home/jenkins/.cache/Cypress/3.5.0/Cypress/chrome-sandbox is owned by root and has mode 4755.
----------
Platform: linux (Debian - 9.9)
Cypress Version: 3.5.0
@flotwig I think the difference is that you are running it as root
. We don't run our builds as root
. As @jennifer-shehane pointed out, the no-sandbox flag is automatically added for root
.
@flotwig I think the difference is that you are running it as
root
. We don't run our builds asroot
. As @jennifer-shehane pointed out, the no-sandbox flag is automatically added forroot
.
We do not run tests as root
on Jenkins so flag should not be automatically added and we do not have it as workaround in cypress/plugins/index.js
. @jennifer-shehane also mentioned that flag is added only for electron. We saw this issue on electron and chrome. After changing cypress installation script as it is mentioned on cypress site, tests are running successfully in both (electron, chrome)
@flotwig I think the difference is that you are running it as
root
. We don't run our builds asroot
. As @jennifer-shehane pointed out, the no-sandbox flag is automatically added forroot
.
Ah, yeah, you're right. Once I run it as a regular user, I get the same error. Passing --no-sandbox
from the CLI seems to fix it. I'll make a PR.
@Ethnity are you using cypress 3.5.0? npm ci
might have caused you to use an earlier version, which ships a much older Electron version (2.0.18 vs. 5.0.10) and does not require --no-sandbox
@Ethnity are you using cypress 3.5.0?
npm ci
might have caused you to use an earlier version, which ships a much older Electron version (2.0.18 vs. 5.0.10) and does not require--no-sandbox
True, I overlooked it :( With npm ci cypress --save-dev
I getting cypress 3.4.1. Sorry for my misleading informations :(
@Ethnity are you using cypress 3.5.0?
npm ci
might have caused you to use an earlier version, which ships a much older Electron version (2.0.18 vs. 5.0.10) and does not require--no-sandbox
But it is strange that with cypress 3.5.0 we had same problem on chrome too (not only electron).
Got the same error and using npm ci cypress --save-dev
instead of normal install did it. Thanks!
I see the same problem on Heroku pipeline
2019-10-24T16:43:13.738Z cypress:cli using Cypress executable /app/node_modules/cache/Cypress/3.5.0/Cypress/Cypress
2019-10-24T16:43:13.738Z cypress:cli smoke test command: /app/node_modules/cache/Cypress/3.5.0/Cypress/Cypress --smoke-test --ping=669
2019-10-24T16:43:13.738Z cypress:cli smoke test timeout 30000 ms
2019-10-24T16:43:14.004Z cypress:cli Smoke test failed: Error: Command failed: /app/node_modules/cache/Cypress/3.5.0/Cypress/Cypress --smoke-test --ping=669
/app/node_modules/cache/Cypress/3.5.0/Cypress/Cypress: /lib/x86_64-linux-gnu/libdbus-1.so.3: no version information available (required by /app/node_modules/cache/Cypress/3.5.0/Cypress/Cypress)
[4398:1024/164313.995676:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /app/node_modules/cache/Cypress/3.5.0/Cypress/chrome-sandbox is owned by root and has mode 4755.
at makeError (/app/node_modules/cypress/node_modules/execa/index.js:172:9)
at /app/node_modules/cypress/node_modules/execa/index.js:277:16
at processTicksAndRejections (internal/process/task_queues.js:93:5) {
code: null,
stdout: '',
stderr: '/app/node_modules/cache/Cypress/3.5.0/Cypress/Cypress: /lib/x86_64-linux-gnu/libdbus-1.so.3: no version information available (required by /app/node_modules/cache/Cypress/3.5.0/Cypress/Cypress)\n' +
"[4398:1024/164313.995676:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /app/node_modules/cache/Cypress/3.5.0/Cypress/chrome-sandbox is owned by root and has mode 4755.\n",
failed: true,
signal: 'SIGTRAP',
cmd: '/app/node_modules/cache/Cypress/3.5.0/Cypress/Cypress --smoke-test --ping=669',
timedOut: false,
killed: false
}
2019-10-24T16:43:14.008Z cypress:cli error message: /app/node_modules/cache/Cypress/3.5.0/Cypress/Cypress: /lib/x86_64-linux-gnu/libdbus-1.so.3: no version information available (required by /app/node_modules/cache/Cypress/3.5.0/Cypress/Cypress)
Passing --no-sandbox
via patched CLI (to verify method) seems to work
Seems, at least on Heroku pipelines, the user is not zero but something like 38705
yet Electron sandbox fails, I will probably just pass "no-sandbox" by default for all non-Windows systems
The current work around is to patch both verify
and spawn
in CLI to always return "needs sandbox" on non-Windows machines, see how to patch Cypress NPM package here https://on.cypress.io/debugging#Patch-Cypress
I will work on the official fix
To recreate problem in Docker locally:
$ docker run -it -v $PWD:/e2e -w /e2e --user node:node cypress/base:12.12.0 /bin/bash
node@9c5a6a3c5f42:/e2e$ whoami
node
node@9c5a6a3c5f42:/e2e$ node -e 'console.log(process.geteuid())'
1000
node@9c5a6a3c5f42:/e2e$ export DEBUG=cypress:cli
node@9c5a6a3c5f42:/e2e$ npm i cypress
node@9c5a6a3c5f42:/e2e$ npx cypress verify
cypress:cli smoke test command: /home/node/.cache/Cypress/3.5.0/Cypress/Cypress --smoke-test --ping=859 +0ms
cypress:cli smoke test timeout 30000 ms +1ms
⠸ Verifying Cypress can run /home/node/.cache/Cypress/3.5.0/Cypress
cypress:cli Smoke test failed: Error: Command failed: /home/node/.cache/Cypress/3.5.0/Cypress/Cypress --smoke-test --ping=859
[65:1024/202459.556579:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /home/node/.cache/Cypress/3.5.0/Cypress/chrome-sandbox is owned by root and has mode 4755.
Why doesn't Cypress create a clear guideline with examples from scratch on how to configure in Jenkins, Docker, etc.
@aysunfar23 we have clear guidlines for
Patching works for me:
npm i -S patch-package
Create file patches/cypress+3.5.0.patch
:
diff --git a/node_modules/cypress/lib/tasks/verify.js b/node_modules/cypress/lib/tasks/verify.js
index 7dfbe4c..887c704 100644
--- a/node_modules/cypress/lib/tasks/verify.js
+++ b/node_modules/cypress/lib/tasks/verify.js
@@ -323,7 +323,7 @@ var isRootUser = function isRootUser() {
* @see https://crbug.com/638180
*/
var needsSandbox = function needsSandbox() {
- return isLinuxLike() && isRootUser();
+ return true;
};
module.exports = {
package.json
:
"scripts": {
"postinstall": "patch-package"
}
The code for this is done in cypress-io/cypress#5458, but has yet to be released. We'll update this issue and reference the changelog when it's released.
Released in 3.6.0
.
Current behavior:
3.5.0 cannot start on CI with Debian.
Debug log:
Additional
--no-sandbox
flag passed to electron could help, related issue on electron: https://github.com/electron/electron/issues/17972Desired behavior:
It should run.
Steps to reproduce: (app code and test code)
Versions
Cypress 3.5.0 Debian - 9.9