cypress-io / cypress

Fast, easy and reliable testing for anything that runs in a browser.
https://cypress.io
MIT License
47.05k stars 3.19k forks source link

Video recording works on version 1.4.2, but doesn't in versions 2.0.4 and 2.1.0 #1507

Closed jumasheff closed 6 years ago

jumasheff commented 6 years ago

Current behavior:

When versions 2.0.4 or 2.1.0 installed, video recording fails with the following message: Error: ffmpeg exited with code 1: Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

But when I install version 1.4.2, video recording works fine.

Desired behavior:

Video recording works fine on the latest version

How to reproduce:

Try running versions 2.0.4 and 2.1.0 on Thinkpad T460S 14" maybe? I'm not sure you can reproduce this on other machines.

Test code:

Additional Info (images, stack traces, etc)

See output of 2.0.4 image

... and 1.4.2 image

musicformellons commented 6 years ago

Same here on: OS: Ubuntu 16.04 on Dell xps 9343 retina hdpi screen Browser: Electron 59.0.3071.115 Cypress: v2.1.0

screenshot from 2018-04-12 11-05-39

In my case tests do not run either.

kuceb commented 6 years ago

@jumasheff @musicformellons Could you run cypress with a debug flag cypress:server* ? i.e.

DEBUG=cypress:server* cypress run

That will give us a few more ideas where it's failing

musicformellons commented 6 years ago
> myproj@1.0.0 localheadless /home/myuser/myproj
> DEBUG=cypress:server* cypress run

  cypress:server:appdata path: /home/myuser/.config/Cypress/cy/production +0ms
  cypress:server starting cypress server +12ms
  cypress:server:appdata path: /home/myuser/.config/Cypress/cy/production +68ms
  cypress:server start in mode headless with options {"_":["/home/myuser/myproj/node_modules/cypress/dist/Cypress/Cypress"],"run-project":"/home/myuser/myproj","runProject":"/home/myuser/myproj","cwd":"/home/myuser/myproj","projectPath":"/home/myuser/myproj","run":true} +272ms
  cypress:server:appdata path: /home/myuser/.config/Cypress/cy/production/browsers +616ms
  cypress:server:appdata path: /home/myuser/.config/Cypress/cy/production/cache +119ms
  cypress:server:timers queuing timer id 1 after 500 ms +2s
  cypress:server:timers child received timer id 1 +0ms
  cypress:server:timers child sending timer id 1 +503ms
  cypress:server:timers clearing timer id 1 from queue { '1': { args: [], ms: 500, cb: [Function] } } +507ms
  cypress:server:headless headless mode ready with options {"_":["/home/myuser/myproj/node_modules/cypress/dist/Cypress/Cypress"],"run-project":"/home/myuser/myproj","runProject":"/home/myuser/myproj","cwd":"/home/myuser/myproj","projectPath":"/home/myuser/myproj","run":true} +2ms
  cypress:server:project Project created /home/myuser/myproj +2ms
  cypress:server opening project /home/myuser/myproj +221ms
  cypress:server:project opening project instance /home/myuser/myproj +1ms
  cypress:server:config setting support file /home/myuser/myproj/cypress/support +12ms
  cypress:server:config for project root /home/myuser/myproj +0ms
  cypress:server:config set support folder /home/myuser/myproj/cypress/support +1ms
  cypress:server:config setting plugins file /home/myuser/myproj/cypress/plugins/index.js +0ms
  cypress:server:config for project root /home/myuser/myproj +0ms
  cypress:server:config set pluginsFile to /home/myuser/myproj/cypress/plugins/index.js +0ms
  cypress:server:scaffold scaffolded files ["cypress/integration/example_spec.js","cypress/fixtures/example.json","cypress/support/commands.js","cypress/support/index.js","cypress/plugins/index.js"] +1ms
  cypress:server making saved state from /home/myuser/myproj/node_modules/cypress/dist/Cypress/resources/app/packages/server +0ms
  cypress:server for project path /home/myuser/myproj +1ms
  cypress:server state path for project /home/myuser/myproj +0ms
  cypress:server:appdata path: /home/myuser/.config/Cypress/cy/production/projects/myproj-7e698a0729a9ed5e79fff075609be39b/state.json +0ms
  cypress:server full state path /home/myuser/.config/Cypress/cy/production/projects/myproj-7e698a0729a9ed5e79fff075609be39b/state.json +0ms
  cypress:server making new state file around /home/myuser/.config/Cypress/cy/production/projects/myproj-7e698a0729a9ed5e79fff075609be39b/state.json +0ms
  cypress:server:file reading JSON file /home/myuser/.config/Cypress/cy/production/projects/myproj-7e698a0729a9ed5e79fff075609be39b/state.json +2ms
  cypress:server:scaffold found 1 files in folder /home/myuser/myproj/cypress/integration +10ms
  cypress:server:scaffold Checking spec filename if default /home/myuser/myproj/cypress/integration/home_page_spec.js +1ms
  cypress:server:scaffold untouched scaffold false modal closed true +1ms
  cypress:server:scaffold plugins folder /home/myuser/myproj/cypress/plugins +0ms
  cypress:server:plugins plugins.init /home/myuser/myproj/cypress/plugins/index.js +1ms
  cypress:server:plugins:child pluginsFile: /home/myuser/myproj/cypress/plugins/index.js +0ms
  cypress:server:plugins:child require pluginsFile +6ms
  cypress:server:plugins:child run plugins function +467ms
  cypress:server:plugins:child register event file:preprocessor with id 0 +1ms
  cypress:server:plugins register plugins process event file:preprocessor with id 0 +743ms
  cypress:server:plugins register event 'file:preprocessor' +0ms
  cypress:server:project plugin config yielded: null +0ms
  cypress:server:server Server listening on port 39344 +118ms
  cypress:server:appdata path: /home/myuser/.config/Cypress/cy/production/proxy +1ms
  cypress:server:server Setting remoteAuth undefined +58ms
  cypress:server:cors Parsed URL { port: '8080', tld: 'localhost', domain: '' } +44ms
  cypress:server:server Setting remoteOrigin http://localhost:8080 +1ms
  cypress:server:server Setting remoteHostAndPort { port: '8080', tld: 'localhost', domain: '' } +0ms
  cypress:server:server Setting remoteDocDomain localhost +1ms
  cypress:server:server Getting remote state: { auth: undefined, props: { port: '8080', tld: 'localhost', domain: '' }, origin: 'http://localhost:8080', strategy: 'http', visiting: undefined, domainName: 'localhost', fileServer: null } +0ms
  cypress:server:project project config: { baseUrl: 'http://localhost:8080', fixturesFolder: '/home/myuser/myproj/cypress/fixtures', integrationFolder: '/home/myuser/myproj/cypress/integration', pluginsFile: '/home/myuser/myproj/cypress/plugins/index.js', screenshotsFolder: '/home/myuser/myproj/cypress/screenshots', supportFile: '/home/myuser/myproj/cypress/support/index.js', testFiles: '**/*.*', videosFolder: '/home/myuser/myproj/cypress/videos', viewportWidth: 320, viewportHeight: 568, projectId: 'myID', projectRoot: '/home/myuser/myproj', projectName: 'myproj', morgan: false, isTextTerminal: true, socketId: 'iaamn', report: true, browsers: [ { name: 'chrome', displayName: 'Chrome', version: '65.0.3325.181', path: 'google-chrome', majorVersion: '65' }, { name: 'electron', displayName: 'Electron', version: '59.0.3071.115', path: '', majorVersion: '59', 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.' } ], port: 39344, hosts: 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', defaultCommandTimeout: 4000, requestTimeout: 5000, responseTimeout: 30000, pageLoadTimeout: 60000, execTimeout: 60000, videoRecording: true, videoCompression: 32, videoUploadOnPasses: true, modifyObstructiveCode: true, chromeWebSecurity: true, waitForAnimations: true, animationDistanceThreshold: 5, numTestsKeptInMemory: 0, watchForFileChanges: false, screenshotOnHeadlessFailure: true, trashAssetsBeforeHeadlessRuns: true, autoOpen: false, fileServerFolder: '/home/myuser/myproj', namespace: '__cypress', javascripts: [], env: {}, cypressEnv: 'production', parentTestsFolder: '/home/myuser/myproj/cypress', parentTestsFolderDisplay: 'myproj/cypress', supportFolder: '/home/myuser/myproj/cypress/support', integrationExampleFile: '/home/myuser/myproj/cypress/integration/example_spec.js', integrationExampleName: 'example_spec.js', scaffoldedFiles: [ { name: 'cypress', children: [Array] } ], state: { appWidth: 1455, appHeight: 759, appX: 0, appY: 60, showedOnBoardingModal: true, reporterWidth: 498, autoScrollingEnabled: true }, isNewProject: false, proxyUrl: 'http://localhost:39344', browserUrl: 'http://localhost:8080/__/', reporterUrl: 'http://localhost:8080/__cypress/reporter', xhrUrl: '__cypress/xhrs/' } +2ms
  cypress:server:reporter loading reporter spec +6ms
  cypress:server:reporter spec is Mocha reporter +0ms
  cypress:server:reporter reporter spec is valid name +0ms
  cypress:server:project scaffolding project /home/myuser/myproj +11ms
  cypress:server:scaffold support folder /home/myuser/myproj/cypress/support, support file /home/myuser/myproj/cypress/support/index.js +1ms
  cypress:server:scaffold verify scaffolding in /home/myuser/myproj/cypress/support +1ms
  cypress:server:scaffold folder /home/myuser/myproj/cypress/support already exists +1ms
  cypress:server:project attempt watch plugins file: /home/myuser/myproj/cypress/plugins/index.js +1ms
  cypress:server:project plugins file found? true +2ms
  cypress:server:project watch plugins file +0ms
  cypress:server:timers queuing timer id 2 after 0 ms +7ms
  cypress:server:timers child received timer id 2 +1s
  cypress:server:timers child sending timer id 2 +1ms
  cypress:server:timers clearing timer id 2 from queue { '2': { args: [], ms: 0, cb: [Function: clear] } } +7ms
  cypress:server:timers clearing timer id 2 from queue {} +2ms
  cypress:server:headless runTests with options { projectPath: '/home/myuser/myproj',
  id: 'iaamn',
  project: 
   Project {
     getConfig: [Function],
     projectRoot: '/home/myuser/myproj',
     watchers: Watchers { watchers: [Object] },
     server: 
      Server {
        _request: [Object],
        _middleware: null,
        _server: [Object],
        _socket: [Object],
        _baseUrl: 'http://localhost:8080',
        _wsProxy: [Object],
        _fileServer: [Object],
        _httpsProxy: [Object],
        isListening: true,
        _remoteAuth: undefined,
        _remoteOrigin: 'http://localhost:8080',
        _remoteStrategy: 'http',
        _remoteFileServer: null,
        _remoteProps: [Object],
        _remoteDomainName: 'localhost' },
     cfg: 
      { baseUrl: 'http://localhost:8080',
        fixturesFolder: '/home/myuser/myproj/cypress/fixtures',
        integrationFolder: '/home/myuser/myproj/cypress/integration',
        pluginsFile: '/home/myuser/myproj/cypress/plugins/index.js',
        screenshotsFolder: '/home/myuser/myproj/cypress/screenshots',
        supportFile: '/home/myuser/myproj/cypress/support/index.js',
        testFiles: '**/*.*',
        videosFolder: '/home/myuser/myproj/cypress/videos',
        viewportWidth: 320,
        viewportHeight: 568,
        projectId: 'myID',
        projectRoot: '/home/myuser/myproj',
        projectName: 'myproj',
        morgan: false,
        isTextTerminal: true,
        socketId: 'iaamn',
        report: true,
        browsers: [Array],
        port: 39344,
        hosts: 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',
        defaultCommandTimeout: 4000,
        requestTimeout: 5000,
        responseTimeout: 30000,
        pageLoadTimeout: 60000,
        execTimeout: 60000,
        videoRecording: true,
        videoCompression: 32,
        videoUploadOnPasses: true,
        modifyObstructiveCode: true,
        chromeWebSecurity: true,
        waitForAnimations: true,
        animationDistanceThreshold: 5,
        numTestsKeptInMemory: 0,
        watchForFileChanges: false,
        screenshotOnHeadlessFailure: true,
        trashAssetsBeforeHeadlessRuns: true,
        autoOpen: false,
        fileServerFolder: '/home/myuser/myproj',
        namespace: '__cypress',
        javascripts: [],
        env: {},
        cypressEnv: 'production',
        resolved: [Object],
        parentTestsFolder: '/home/myuser/myproj/cypress',
        parentTestsFolderDisplay: 'myproj/cypress',
        supportFolder: '/home/myuser/myproj/cypress/support',
        integrationExampleFile: '/home/myuser/myproj/cypress/integration/example_spec.js',
        integrationExampleName: 'example_spec.js',
        scaffoldedFiles: [Array],
        state: [Object],
        isNewProject: false,
        proxyUrl: 'http://localhost:39344',
        browserUrl: 'http://localhost:8080/__/',
        reporterUrl: 'http://localhost:8080/__cypress/reporter',
        xhrUrl: '__cypress/xhrs/' },
     memoryCheck: null,
     automation: 
      { _requests: {},
        use: [Function: use],
        push: [Function: push],
        request: [Function: request],
        response: [Function: response] } },
  videosFolder: '/home/myuser/myproj/cypress/videos',
  videoRecording: true,
  videoCompression: 32,
  videoUploadOnPasses: true,
  exit: undefined,
  spec: undefined,
  headed: undefined,
  browser: undefined,
  outputPath: undefined } +84ms
  cypress:server:headless runTests for browser electron +3ms

Started video recording: /home/myuser/myproj/cypress/videos/2114z.mp4

  (Tests Starting)
  cypress:server:video ffmpeg started +63ms
  cypress:server launching browser electron spec undefined +2ms
  cypress:server:project resetting project instance /home/myuser/myproj +1ms
  cypress:server:server Setting remoteAuth undefined +0ms
  cypress:server:cors Parsed URL { port: '8080', tld: 'localhost', domain: '' } +0ms
  cypress:server:server Setting remoteOrigin http://localhost:8080 +0ms
  cypress:server:server Setting remoteHostAndPort { port: '8080', tld: 'localhost', domain: '' } +0ms
  cypress:server:server Setting remoteDocDomain localhost +0ms
  cypress:server:server Getting remote state: { auth: undefined, props: { port: '8080', tld: 'localhost', domain: '' }, origin: 'http://localhost:8080', strategy: 'http', visiting: undefined, domainName: 'localhost', fileServer: null } +0ms
  cypress:server:timers queuing timer id 3 after 30000 ms +1ms
  cypress:server:timers child received timer id 3 +161ms
  cypress:server launching project in browser electron +4ms
  cypress:server:browsers opening browser electron +5ms
  cypress:server making saved state from /home/myuser/myproj/node_modules/cypress/dist/Cypress/resources/app/packages/server +1ms
  cypress:server for project path /home/myuser/myproj +0ms
  cypress:server state path for project /home/myuser/myproj +0ms
  cypress:server:appdata path: /home/myuser/.config/Cypress/cy/production/projects/myproj-7e698a0729a9ed5e79fff075609be39b/state.json +0ms
  cypress:server full state path /home/myuser/.config/Cypress/cy/production/projects/myproj-7e698a0729a9ed5e79fff075609be39b/state.json +0ms
  cypress:server:file reading JSON file /home/myuser/.config/Cypress/cy/production/projects/myproj-7e698a0729a9ed5e79fff075609be39b/state.json +2ms
  cypress:server:browsers:electron launching browser window to url http://localhost:8080/__/#/tests/__all with options { width: 1280, height: 720, show: false, onCrashed: [Function: onCrashed], onNewWindow: [Function: onNewWindow], recordFrameRate: 20, onPaint: [Function], automationMiddleware: { onAfterResponse: [Function] }, projectPath: '/home/myuser/myproj', browsers: [ { name: 'chrome', displayName: 'Chrome', version: '65.0.3325.181', path: 'google-chrome', majorVersion: '65' }, { name: 'electron', displayName: 'Electron', version: '59.0.3071.115', path: '', majorVersion: '59', 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.' } ], proxyUrl: 'http://localhost:39344', userAgent: null, proxyServer: 'http://localhost:39344', socketIoRoute: '/__socket.io', chromeWebSecurity: true, url: 'http://localhost:8080/__/#/tests/__all', onBrowserOpen: [Function: onBrowserOpen], onBrowserClose: [Function: onBrowserClose], browser: { name: 'electron', displayName: 'Electron', version: '59.0.3071.115', path: '', majorVersion: '59', 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.' }, x: null, y: null, devTools: false, minWidth: 100, minHeight: 100, contextMenu: true, trackState: { width: 'browserWidth', height: 'browserHeight', x: 'browserX', y: 'browserY', devTools: 'isBrowserDevToolsOpen' }, onFocus: [Function: onFocus], frame: false, onBlur: [Function: onBlur], onClose: [Function: onClose], webPreferences: { chromeWebSecurity: true, nodeIntegration: false, backgroundThrottling: false, offscreen: true } } +134ms
  cypress:server:browsers browser opened +75ms
  cypress:server:timers queuing timer id 4 after 1000 ms +1ms
  cypress:server:timers child received timer id 4 +222ms
  cypress:server:routes Serving Cypress front-end by requested URL: /__/ +85ms
  cypress:server:server Getting remote state: { auth: undefined, props: { port: '8080', tld: 'localhost', domain: '' }, origin: 'http://localhost:8080', strategy: 'http', visiting: undefined, domainName: 'localhost', fileServer: null } +0ms
  cypress:server config version 2.1.0 platform linux arch x64 +1ms
  cypress:server:timers child sending timer id 4 +1s
  cypress:server:timers clearing timer id 4 from queue { '3': { args: [], ms: 30000, cb: [Function: timeoutTimeout] }, '4': { args: [], ms: 1000, cb: [Function] } } +917ms
  cypress:server:server Got CONNECT request from localhost:8080 +134ms
  cypress:server:cors Parsed URL { port: '8080', tld: 'localhost', domain: '' } +2ms
  cypress:server:server HTTPS request does match URL: https://localhost:8080 with props: { port: '8080', tld: 'localhost', domain: '' } +0ms
  cypress:server:server Got UPGRADE request from /__socket.io/?EIO=3&transport=websocket +2ms
  cypress:server:timers queuing timer id 5 after 85000 ms +10ms
  cypress:server:timers child received timer id 5 +148ms
  cypress:server:socket socket connected +3ms
  cypress:server:timers clearing timer id 5 from queue { '3': { args: [], ms: 30000, cb: [Function: timeoutTimeout] }, '5': { args: [], ms: 85000, cb: [Function] } } +79ms
  cypress:server:timers queuing timer id 6 after 85000 ms +1ms
  cypress:server:timers child received timer id 6 +84ms
  cypress:server:timers clearing timer id 6 from queue { '3': { args: [], ms: 30000, cb: [Function: timeoutTimeout] }, '6': { args: [], ms: 85000, cb: [Function] } } +48ms
  cypress:server:timers queuing timer id 7 after 85000 ms +1ms
  cypress:server:timers child received timer id 7 +48ms
  cypress:server:timers queuing timer id 8 after 1000 ms +2ms
  cypress:server:timers child received timer id 8 +2ms
  cypress:server:timers clearing timer id 8 from queue { '3': { args: [], ms: 30000, cb: [Function: timeoutTimeout] }, '7': { args: [], ms: 85000, cb: [Function] }, '8': { args: [], ms: 1000, cb: [Function: timeoutTimeout] } } +1ms
  cypress:server:timers clearing timer id 7 from queue { '3': { args: [], ms: 30000, cb: [Function: timeoutTimeout] }, '7': { args: [], ms: 85000, cb: [Function] } } +176ms
  cypress:server:timers queuing timer id 9 after 85000 ms +0ms
  cypress:server:timers child received timer id 9 +178ms
  cypress:server:timers clearing timer id 3 from queue { '3': { args: [], ms: 30000, cb: [Function: timeoutTimeout] }, '9': { args: [], ms: 85000, cb: [Function] } } +1ms
  cypress:server:timers clearing timer id 9 from queue { '9': { args: [], ms: 85000, cb: [Function] } } +142ms
  cypress:server:timers queuing timer id 10 after 85000 ms +0ms
  cypress:server:timers child received timer id 10 +143ms
  cypress:server:timers clearing timer id 10 from queue { '10': { args: [], ms: 85000, cb: [Function] } } +2ms
  cypress:server:timers queuing timer id 11 after 85000 ms +0ms
  cypress:server:timers child received timer id 11 +1ms
  cypress:server:socket watch test file __all +1ms
  cypress:server:files looking for test files in the integration folder /home/myuser/myproj/cypress/integration +18ms
  cypress:server:files specPattern for test files is undefined +1ms
  cypress:server:files found test file /home/myuser/myproj/cypress/integration/home_page_spec.js +8ms
  cypress:server:files found 1 spec files +0ms
  cypress:server:files [ { name: 'home_page_spec.js',
  cypress:server:files     path: 'cypress/integration/home_page_spec.js',
  cypress:server:files     absolute: '/home/myuser/myproj/cypress/integration/home_page_spec.js' } ] +0ms
  cypress:server:server Getting remote state: { auth: undefined, props: { port: '8080', tld: 'localhost', domain: '' }, origin: 'http://localhost:8080', strategy: 'http', visiting: undefined, domainName: 'localhost', fileServer: null } +2ms
  cypress:server:controllers:spec request for cypress/support/index.js +26ms
  cypress:server:preprocessor getFile /home/myuser/myproj/cypress/support/index.js +1ms
  cypress:server:appdata path: /home/myuser/.config/Cypress/cy/production/projects/myproj-7e698a0729a9ed5e79fff075609be39b/bundles/cypress/support/index.js +0ms
  cypress:server:plugins execute plugin event 'file:preprocessor' with args: [object Object] +2ms
  cypress:server:plugins call event file:preprocessor for invocation id inv1 +2ms
  cypress:server:plugins:child execute plugin with id inv1 +2s
  cypress:server:controllers:spec request for cypress/integration/home_page_spec.js +12ms
  cypress:server:preprocessor getFile /home/myuser/myproj/cypress/integration/home_page_spec.js +1ms
  cypress:server:appdata path: /home/myuser/.config/Cypress/cy/production/projects/myproj-7e698a0729a9ed5e79fff075609be39b/bundles/cypress/integration/home_page_spec.js +0ms
  cypress:server:plugins execute plugin event 'file:preprocessor' with args: [object Object] +0ms
  cypress:server:plugins call event file:preprocessor for invocation id inv2 +0ms
  cypress:server:plugins:child execute plugin with id inv2 +148ms
  cypress:server:timers child sending timer id 8 +679ms
  cypress:server:preprocessor ipc preprocessor:rerun event +1s
  cypress:server:plugins promise resolved for id 'inv1' with value /home/myuser/.config/Cypress/cy/production/projects/myproj-7e698a0729a9ed5e79fff075609be39b/bundles/cypress/support/index.js +7ms
  cypress:server:controllers:spec send /home/myuser/.config/Cypress/cy/production/projects/myproj-7e698a0729a9ed5e79fff075609be39b/bundles/cypress/support/index.js +3ms
  cypress:server:preprocessor ipc preprocessor:rerun event +2ms
  cypress:server:plugins promise resolved for id 'inv2' with value /home/myuser/.config/Cypress/cy/production/projects/myproj-7e698a0729a9ed5e79fff075609be39b/bundles/cypress/integration/home_page_spec.js +0ms
  cypress:server:controllers:spec send /home/myuser/.config/Cypress/cy/production/projects/myproj-7e698a0729a9ed5e79fff075609be39b/bundles/cypress/integration/home_page_spec.js +1ms
  cypress:server:server Got CONNECT request from pqbq.xyz:8089 +70ms
  cypress:server:cors Parsed URL { port: '8089', tld: 'xyz', domain: 'pqbq' } +30ms
  cypress:server:server HTTPS request does not match URL: https://pqbq.xyz:8089 with props: { port: '8080', tld: 'localhost', domain: '' } +1ms
  cypress:server:timers clearing timer id 11 from queue { '11': { args: [], ms: 85000, cb: [Function] } } +1ms
  cypress:server:timers queuing timer id 12 after 85000 ms +1ms
  cypress:server:timers child received timer id 12 +991ms
  cypress:server:timers clearing timer id 12 from queue { '12': { args: [], ms: 85000, cb: [Function] } } +17ms
  cypress:server:timers queuing timer id 13 after 85000 ms +0ms
  cypress:server:timers child received timer id 13 +17ms
  cypress:server:project onSetRunnables +1ms
  cypress:server:project runnables { id: 'r1',
  title: '',
  root: true,
  tests: [],
  suites: 
   [ { id: 'r2',
       title: 'My First Test',
       root: false,
       tests: [Array],
       suites: [] } ] } +0ms
  cypress:server:reporter loading reporter spec +2ms
  cypress:server:reporter spec is Mocha reporter +0ms
  cypress:server:timers clearing timer id 13 from queue { '13': { args: [], ms: 85000, cb: [Function] } } +39ms
  cypress:server:timers queuing timer id 14 after 85000 ms +1ms
  cypress:server:timers child received timer id 14 +44ms
  cypress:server:project onMocha start +1ms

  cypress:server:timers clearing timer id 14 from queue { '14': { args: [], ms: 85000, cb: [Function] } } +35ms
  cypress:server:timers queuing timer id 15 after 85000 ms +1ms
  cypress:server:project onMocha suite +0ms
  cypress:server:timers child received timer id 15 +36ms
  cypress:server:reporter got mocha event 'suite' with args: [ { id: 'r1', title: '', root: true } ] +0ms

  cypress:server:timers clearing timer id 15 from queue { '15': { args: [], ms: 85000, cb: [Function] } } +27ms
  cypress:server:timers queuing timer id 16 after 85000 ms +2ms
  cypress:server:timers child received timer id 16 +29ms
  cypress:server:project onMocha suite +0ms
  cypress:server:reporter got mocha event 'suite' with args: [ { id: 'r2', title: 'My First Test', root: false } ] +0ms
  My First Test
  cypress:server:timers clearing timer id 16 from queue { '16': { args: [], ms: 85000, cb: [Function] } } +16ms
  cypress:server:timers queuing timer id 17 after 85000 ms +1ms
  cypress:server:project onMocha hook +0ms
  cypress:server:timers child received timer id 17 +17ms
  cypress:server:reporter got mocha event 'hook' with args: [ { id: 'r3', title: '"before all" hook', body: 'function () {\n    cy.clearBrowserSession();\n  }' } ] +0ms
  cypress:server:timers clearing timer id 17 from queue { '17': { args: [], ms: 85000, cb: [Function] } } +5ms
  cypress:server:timers queuing timer id 18 after 85000 ms +0ms
  cypress:server:timers child received timer id 18 +6ms
  cypress:server:socket automation:request get:cookies { domain: 'localhost' } +4ms
  cypress:server:timers clearing timer id 18 from queue { '18': { args: [], ms: 85000, cb: [Function] } } +68ms
  cypress:server:timers queuing timer id 19 after 85000 ms +1ms
  cypress:server:timers child received timer id 19 +73ms
  cypress:server:project onMocha hook end +1ms
  cypress:server:reporter got mocha event 'hook end' with args: [ { id: 'r3', title: '"before all" hook', duration: 17, body: 'function () {\n    cy.clearBrowserSession();\n  }' } ] +0ms
  cypress:server:timers clearing timer id 19 from queue { '19': { args: [], ms: 85000, cb: [Function] } } +2ms
  cypress:server:timers queuing timer id 20 after 85000 ms +1ms
  cypress:server:project onMocha test +1ms
  cypress:server:timers child received timer id 20 +4ms
  cypress:server:reporter got mocha event 'test' with args: [ { id: 'r3', title: 'Registers via a form', body: 'function () {\n    cy.get(\'[data-cy="goto-registration"]\').click();\n\n    cy.get(\'h5\').within(function () {\n      cy.contains(\'Register\');\n    }).get(\'input[type="email"]\').type(\'leukhuis@gmail.com\').get(\'input[type="password"]\').type(\'Bijn@verkocht\').get(\'[data-cy="submit-button"]\').click().window().contains(\'You are now logged in\');\n  }' } ] +1ms
  cypress:server:timers clearing timer id 20 from queue { '20': { args: [], ms: 85000, cb: [Function] } } +37ms
  cypress:server:timers queuing timer id 21 after 85000 ms +0ms
  cypress:server:timers child received timer id 21 +38ms
  cypress:server:project onMocha hook +0ms
  cypress:server:reporter got mocha event 'hook' with args: [ { id: 'r3', title: '"before each" hook', body: 'function () {\n    cy.loadBrowserSession();\n    cy.viewport(\'iphone-5\');\n    cy.visit(\'http://localhost:8080/\');\n  }' } ] +0ms
  cypress:server:timers clearing timer id 21 from queue { '21': { args: [], ms: 85000, cb: [Function] } } +1ms
  cypress:server:timers queuing timer id 22 after 85000 ms +1ms
  cypress:server:timers child received timer id 22 +2ms
  cypress:server:socket backend:request { eventName: 'resolve:url',
  args: 
   [ 'http://localhost:8080/',
     { failOnStatusCode: true, auth: null } ] } +0ms
  cypress:server:server resolving visit { url: 'http://localhost:8080/',
  headers: 
   { host: 'localhost:8080',
     connection: 'Upgrade',
     pragma: 'no-cache',
     'cache-control': 'no-cache',
     upgrade: 'websocket',
     origin: 'http://localhost:8080',
     'sec-websocket-version': '13',
     'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Cypress/2.1.0 Chrome/59.0.3071.115 Electron/1.8.2 Safari/537.36',
     'accept-encoding': 'gzip, deflate',
     'accept-language': 'en-US',
     'sec-websocket-key': 'nX+GaCY0zOta5hsC9dImKA==',
     'sec-websocket-extensions': 'permessage-deflate; client_max_window_bits' },
  options: { failOnStatusCode: true, auth: null } } +1ms
  cypress:server:server Getting remote state: { auth: undefined, props: { port: '8080', tld: 'localhost', domain: '' }, origin: 'http://localhost:8080', strategy: 'http', visiting: undefined, domainName: 'localhost', fileServer: null } +0ms
  cypress:server:timers queuing timer id 23 after 30000 ms +29ms
  cypress:server:timers child received timer id 23 +30ms
  cypress:server:timers clearing timer id 23 from queue { '22': { args: [], ms: 85000, cb: [Function] }, '23': { args: [], ms: 30000, cb: [Function] } } +1ms
  cypress:server:server received response for resolving url { isOkStatusCode: true, isHtml: true, contentType: 'text/html', url: 'http://localhost:8080/', status: 200, cookies: [], statusText: 'OK', redirects: [], originalUrl: 'http://localhost:8080/' } +4ms
  cypress:server:server Setting remoteAuth null +0ms
  cypress:server:cors Parsed URL { port: '8080', tld: 'localhost', domain: '' } +1ms
  cypress:server:server Setting remoteOrigin http://localhost:8080 +0ms
  cypress:server:server Setting remoteHostAndPort { port: '8080', tld: 'localhost', domain: '' } +0ms
  cypress:server:server Setting remoteDocDomain localhost +0ms
  cypress:server:server Getting remote state: { auth: null, props: { port: '8080', tld: 'localhost', domain: '' }, origin: 'http://localhost:8080', strategy: 'http', visiting: false, domainName: 'localhost', fileServer: null } +0ms
  cypress:server:server Getting remote state: { auth: null, props: { port: '8080', tld: 'localhost', domain: '' }, origin: 'http://localhost:8080', strategy: 'http', visiting: false, domainName: 'localhost', fileServer: null } +13ms
  cypress:server:proxy handling proxied request { url: '/', proxiedUrl: 'http://localhost:8080/', cookies: { '__cypress.initial': 'true' }, remoteState: { auth: null, props: { port: '8080', tld: 'localhost', domain: '' }, origin: 'http://localhost:8080', strategy: 'http', visiting: false, domainName: 'localhost', fileServer: null } } +0ms
  cypress:server:proxy received response for { url: 'http://localhost:8080/', headers: { 'x-powered-by': 'Express', 'accept-ranges': 'bytes', 'content-type': 'text/html; charset=UTF-8', 'content-length': '1138', etag: 'W/"472-R/X0PmIu76kFaI6KA1vqAkNM5ZI"', date: 'Fri, 13 Apr 2018 08:49:56 GMT', connection: 'close' }, statusCode: 200 } +11ms
  cypress:server:server Getting remote state: { auth: null, props: { port: '8080', tld: 'localhost', domain: '' }, origin: 'http://localhost:8080', strategy: 'http', visiting: false, domainName: 'localhost', fileServer: null } +37ms
  cypress:server:proxy handling proxied request { url: '/app.js', proxiedUrl: 'http://localhost:8080/app.js', cookies: {}, remoteState: { auth: null, props: { port: '8080', tld: 'localhost', domain: '' }, origin: 'http://localhost:8080', strategy: 'http', visiting: false, domainName: 'localhost', fileServer: null } } +1ms
  cypress:server:timers queuing timer id 24 after 30000 ms +14ms
  cypress:server:timers child received timer id 24 +83ms
  cypress:server:timers clearing timer id 24 from queue { '22': { args: [], ms: 85000, cb: [Function] }, '24': { args: [], ms: 30000, cb: [Function] } } +9ms
  cypress:server:proxy received response for { url: 'http://localhost:8080/app.js', headers: { 'x-powered-by': 'Express', 'accept-ranges': 'bytes', 'content-type': 'application/javascript; charset=UTF-8', 'content-length': '6702895', etag: 'W/"66472f-9y0mmf8sVbIZD1+O6EGkpFsL8cs"', date: 'Fri, 13 Apr 2018 08:49:56 GMT', connection: 'close' }, statusCode: 200 } +21ms
  cypress:server:video ffmpeg errored: ffmpeg exited with code 1: Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
 +489ms
Warning: We failed to record the video.

This error will not alter the exit code.

Error: ffmpeg exited with code 1: Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

    at ChildProcess.<anonymous> (/home/myuser/myproj/node_modules/cypress/dist/Cypress/resources/app/packages/server/node_modules/fluent-ffmpeg/lib/processor.js:182:22)
    at emitTwo (events.js:125:13)
    at ChildProcess.emit (events.js:213:7)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)

  cypress:server:file reading JSON file /home/myuser/.config/Cypress/cy/production/cache +23ms
  cypress:server:timers queuing timer id 25 after 3000 ms +32ms
  cypress:server:timers child received timer id 25 +574ms
  cypress:server:server Got CONNECT request from pqbq.xyz:8089 +581ms
  cypress:server:cors Parsed URL { port: '8089', tld: 'xyz', domain: 'pqbq' } +0ms
  cypress:server:server HTTPS request does not match URL: https://pqbq.xyz:8089 with props: { port: '8080', tld: 'localhost', domain: '' } +1ms
  cypress:server:server Getting remote state: { auth: null, props: { port: '8080', tld: 'localhost', domain: '' }, origin: 'http://localhost:8080', strategy: 'http', visiting: false, domainName: 'localhost', fileServer: null } +33ms
  cypress:server:proxy handling proxied request { url: '/5.js', proxiedUrl: 'http://localhost:8080/5.js', cookies: {}, remoteState: { auth: null, props: { port: '8080', tld: 'localhost', domain: '' }, origin: 'http://localhost:8080', strategy: 'http', visiting: false, domainName: 'localhost', fileServer: null } } +2ms
  cypress:server:timers queuing timer id 26 after 30000 ms +3ms
  cypress:server:timers child received timer id 26 +623ms
  cypress:server:timers clearing timer id 26 from queue { '22': { args: [], ms: 85000, cb: [Function] }, '25': { args: [], ms: 3000, cb: [Function: timeoutTimeout] }, '26': { args: [], ms: 30000, cb: [Function] } } +14ms
  cypress:server:server Getting remote state: { auth: null, props: { port: '8080', tld: 'localhost', domain: '' }, origin: 'http://localhost:8080', strategy: 'http', visiting: false, domainName: 'localhost', fileServer: null } +0ms
  cypress:server:proxy handling proxied request { url: '/0.js', proxiedUrl: 'http://localhost:8080/0.js', cookies: {}, remoteState: { auth: null, props: { port: '8080', tld: 'localhost', domain: '' }, origin: 'http://localhost:8080', strategy: 'http', visiting: false, domainName: 'localhost', fileServer: null } } +0ms
  cypress:server:timers queuing timer id 27 after 30000 ms +2ms
  cypress:server:timers child received timer id 27 +12ms
  cypress:server:proxy received response for { url: 'http://localhost:8080/5.js', headers: { 'x-powered-by': 'Express', 'accept-ranges': 'bytes', 'content-type': 'application/javascript; charset=UTF-8', 'content-length': '127401', etag: 'W/"1f1a9-9x1Rkk6i+S3CUf/HXoRDx7RGCT4"', date: 'Fri, 13 Apr 2018 08:49:57 GMT', connection: 'close' }, statusCode: 200 } +1ms
  cypress:server:timers clearing timer id 27 from queue { '22': { args: [], ms: 85000, cb: [Function] }, '25': { args: [], ms: 3000, cb: [Function: timeoutTimeout] }, '27': { args: [], ms: 30000, cb: [Function] } } +7ms
  cypress:server:proxy received response for { url: 'http://localhost:8080/0.js', headers: { 'x-powered-by': 'Express', 'accept-ranges': 'bytes', 'content-type': 'application/javascript; charset=UTF-8', 'content-length': '3975970', etag: 'W/"3cab22-HTjHSMCikaw5vRKQVqkNWZPlYqc"', date: 'Fri, 13 Apr 2018 08:49:57 GMT', connection: 'close' }, statusCode: 200 } +21ms
  cypress:server:server Getting remote state: { auth: null, props: { port: '8080', tld: 'localhost', domain: '' }, origin: 'http://localhost:8080', strategy: 'http', visiting: false, domainName: 'localhost', fileServer: null } +110ms
  cypress:server:proxy handling proxied request { url: '/sockjs-node/info?t=1523609397730', proxiedUrl: 'http://localhost:8080/sockjs-node/info?t=1523609397730', cookies: {}, remoteState: { auth: null, props: { port: '8080', tld: 'localhost', domain: '' }, origin: 'http://localhost:8080', strategy: 'http', visiting: false, domainName: 'localhost', fileServer: null } } +1ms
  cypress:server:timers queuing timer id 28 after 30000 ms +3ms
  cypress:server:timers child received timer id 28 +143ms
  cypress:server:timers clearing timer id 28 from queue { '22': { args: [], ms: 85000, cb: [Function] }, '25': { args: [], ms: 3000, cb: [Function: timeoutTimeout] }, '28': { args: [], ms: 30000, cb: [Function] } } +28ms
  cypress:server:proxy received response for { url: 'http://localhost:8080/sockjs-node/info?t=1523609397730', headers: { 'access-control-allow-origin': '*', vary: 'Origin', 'cache-control': 'no-store, no-cache, no-transform, must-revalidate, max-age=0', 'content-type': 'application/json; charset=UTF-8', date: 'Fri, 13 Apr 2018 08:49:57 GMT', connection: 'close', 'transfer-encoding': 'chunked' }, statusCode: 200 } +7ms
  cypress:server:server Got CONNECT request from localhost:8080 +32ms
  cypress:server:cors Parsed URL { port: '8080', tld: 'localhost', domain: '' } +18ms
  cypress:server:server HTTPS request does match URL: https://localhost:8080 with props: { port: '8080', tld: 'localhost', domain: '' } +0ms
  cypress:server:server Got UPGRADE request from /sockjs-node/448/fibh1xbm/websocket +2ms
  cypress:server:server Getting remote state: { auth: null, props: { port: '8080', tld: 'localhost', domain: '' }, origin: 'http://localhost:8080', strategy: 'http', visiting: false, domainName: 'localhost', fileServer: null } +832ms
  cypress:server:proxy handling proxied request { url: '/fonts/mdi.6473d7d.woff', proxiedUrl: 'http://localhost:8080/fonts/mdi.6473d7d.woff', cookies: {}, remoteState: { auth: null, props: { port: '8080', tld: 'localhost', domain: '' }, origin: 'http://localhost:8080', strategy: 'http', visiting: false, domainName: 'localhost', fileServer: null } } +0ms
  cypress:server:timers queuing timer id 29 after 30000 ms +8ms
  cypress:server:timers child received timer id 29 +927ms
  cypress:server:timers clearing timer id 29 from queue { '22': { args: [], ms: 85000, cb: [Function] }, '25': { args: [], ms: 3000, cb: [Function: timeoutTimeout] }, '29': { args: [], ms: 30000, cb: [Function] } } +41ms
  cypress:server:proxy received response for { url: 'http://localhost:8080/fonts/mdi.6473d7d.woff', headers: { 'x-powered-by': 'Express', 'accept-ranges': 'bytes', 'content-type': 'font/woff; charset=UTF-8', 'content-length': '148792', etag: 'W/"24538-TkUtix4Vn+yF6kwhyOZCKNYcfLE"', date: 'Fri, 13 Apr 2018 08:49:58 GMT', connection: 'close' }, statusCode: 200 } +2ms
  cypress:server:server Getting remote state: { auth: null, props: { port: '8080', tld: 'localhost', domain: '' }, origin: 'http://localhost:8080', strategy: 'http', visiting: false, domainName: 'localhost', fileServer: null } +411ms
  cypress:server:proxy handling proxied request { url: '/1.js', proxiedUrl: 'http://localhost:8080/1.js', cookies: {}, remoteState: { auth: null, props: { port: '8080', tld: 'localhost', domain: '' }, origin: 'http://localhost:8080', strategy: 'http', visiting: false, domainName: 'localhost', fileServer: null } } +1ms
  cypress:server:timers queuing timer id 30 after 30000 ms +3ms
  cypress:server:timers child received timer id 30 +458ms
  cypress:server:timers clearing timer id 30 from queue { '22': { args: [], ms: 85000, cb: [Function] }, '25': { args: [], ms: 3000, cb: [Function: timeoutTimeout] }, '30': { args: [], ms: 30000, cb: [Function] } } +85ms
  cypress:server:proxy received response for { url: 'http://localhost:8080/1.js', headers: { 'x-powered-by': 'Express', 'accept-ranges': 'bytes', 'content-type': 'application/javascript; charset=UTF-8', 'content-length': '119572', etag: 'W/"1d314-d11Gni4hSpOQowGD8BMgqW4Hv7w"', date: 'Fri, 13 Apr 2018 08:49:59 GMT', connection: 'close' }, statusCode: 200 } +3ms
  cypress:server:timers clearing timer id 22 from queue { '22': { args: [], ms: 85000, cb: [Function] }, '25': { args: [], ms: 3000, cb: [Function: timeoutTimeout] } } +194ms
  cypress:server:timers queuing timer id 31 after 85000 ms +0ms
  cypress:server:project onMocha hook end +0ms
  cypress:server:timers child received timer id 31 +282ms
  cypress:server:reporter got mocha event 'hook end' with args: [ { id: 'r3', title: '"before each" hook', duration: 3162, body: 'function () {\n    cy.loadBrowserSession();\n    cy.viewport(\'iphone-5\');\n    cy.visit(\'http://localhost:8080/\');\n  }' } ] +0ms
  cypress:server:timers clearing timer id 25 from queue { '25': { args: [], ms: 3000, cb: [Function: timeoutTimeout] }, '31': { args: [], ms: 85000, cb: [Function] } } +441ms
{ Error: ffmpeg exited with code 1: Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

    at ChildProcess.<anonymous> (/home/myuser/myproj/node_modules/cypress/dist/Cypress/resources/app/packages/server/node_modules/fluent-ffmpeg/lib/processor.js:182:22)
    at emitTwo (events.js:125:13)
    at ChildProcess.emit (events.js:213:7)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
 recordingVideoFailed: true }
Error: ffmpeg exited with code 1: Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

    at ChildProcess.<anonymous> (/home/myuser/myproj/node_modules/cypress/dist/Cypress/resources/app/packages/server/node_modules/fluent-ffmpeg/lib/processor.js:182:22)
    at emitTwo (events.js:125:13)
    at ChildProcess.emit (events.js:213:7)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)

  cypress:server:browsers killing browser process +9ms
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! myproj@1.0.0 localheadless: `DEBUG=cypress:server* cypress run`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the myproj@1.0.0 localheadless script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/myuser/.npm/_logs/2018-04-13T08_50_02_634Z-debug.log
kuceb commented 6 years ago

This is probably because of your screen resolution not supporting what we are trying to tell ffmpeg to use for recording resolution. What is your screen resolution? I've opened an issue to help us debug ffmpeg problems with more detailed logging #1578

musicformellons commented 6 years ago

My screen resolution: 3200 x 1800.

screenshot from 2018-04-13 19-47-56

brian-mann commented 6 years ago

Can you update to 3.0.2 and see if this issue is resolved?

We updated ffmpeg to 4.x.x there and added many more debugging logs.

Also please be sure that you use DEBUG=cypress:* cypress run when running so that we can get the debug logs to understand what is happening.

musicformellons commented 6 years ago

Yeah, seems resolved! Tests now run and video is recorded, etc. Only thing is an error after everything has run fine:

[.....]
'http://localhost:45793', browserUrl: 'http://localhost:8080/__/', reporterUrl: 'http://localhost:8080/__cypress/reporter', xhrUrl: '__cypress/xhrs/' } } +1ms

====================================================================================================

  (Run Finished)

  cypress:server:cypress about to exit with code 2 +58ms
      Spec                                                Tests  Passing  Failing  Pending  Skipped 
  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ ✔ email_confirmations_spec.js               00:21        5        4        -        1        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✔ login_via_ux_spec.js                      00:16        5        5        -        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✖ extra_features_spec.js                      00:22        3        1        2        -        - │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘
    1 of 3 failed (33%)                         01:00       13       10        2        1        -  

npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! y1@1.0.0 localheadlessDEBUG: `DEBUG=cypress:server* cypress run`
npm ERR! Exit status 2
npm ERR! 
npm ERR! Failed at the y1@1.0.0 localheadlessDEBUG script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/usr/.npm/_logs/2018-07-01T12_55_21_607Z-debug.log

Furthermore: the video quality seems somewhat rough; is there a setting to have better quality maybe?

brian-mann commented 6 years ago

That's not an error - that's the correct behavior. The exit code was 2 because two tests failed. Whenever you're running from NPM if the child_process it spawns exits with anything other than 0 it says it failed (which it did).

I believe you can tell NPM to silence those with npm run <cmd> --silent

musicformellons commented 6 years ago

Ok, thanks. Any comment on the video quality maybe?

jennifer-shehane commented 6 years ago

@musicformellons

Furthermore: the video quality seems somewhat rough; is there a setting to have better quality maybe?

You could try lowering the videoCompression config, although this would result in a larger file size.

Going to close this issue as resolved, let me know if it should be reopened.