OnetapInc / chromy

Chromy is a library for operating headless chrome. 🍺🍺🍺
MIT License
605 stars 41 forks source link

Error: Failed to launch a browser. #45

Closed sattaman closed 6 years ago

sattaman commented 6 years ago

I'm not sure with repo this issue belongs in.

createBitmaps | Selcted 6 of 6 scenarios.
Starting Chromy: port:9222 --window-size=320,480
Starting Chromy: port:9223 --window-size=1280,768
Starting Chromy: port:9224 --window-size=320,480
Starting Chromy: port:9225 --window-size=1280,768
Starting Chromy: port:9226 --window-size=320,480
Starting Chromy: port:9227 --window-size=1280,768
Starting Chromy: port:9228 --window-size=320,480
Starting Chromy: port:9229 --window-size=1280,768
Starting Chromy: port:9230 --window-size=320,480
Starting Chromy: port:9231 --window-size=1280,768
Error: Failed to launch a browser.
    at Chromy.start$ (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\chromy\dist\index.js:147:21)
    at tryCatch (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:65:40)
    at GeneratorFunctionPrototype.invoke [as _invoke] (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:303:22)
    at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:117:21)
    at tryCatch (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:65:40)
    at invoke (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:155:20)
    at C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:165:13
Error: Failed to launch a browser.
    at Chromy.start$ (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\chromy\dist\index.js:147:21)
    at tryCatch (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:65:40)
    at GeneratorFunctionPrototype.invoke [as _invoke] (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:303:22)
    at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:117:21)
    at tryCatch (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:65:40)
    at invoke (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:155:20)
    at C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:165:13
Error: Failed to launch a browser.
    at Chromy.start$ (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\chromy\dist\index.js:147:21)
    at tryCatch (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:65:40)
    at GeneratorFunctionPrototype.invoke [as _invoke] (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:303:22)
    at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:117:21)
    at tryCatch (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:65:40)
    at invoke (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:155:20)
    at C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:165:13
Error: Failed to launch a browser.
    at Chromy.start$ (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\chromy\dist\index.js:147:21)
    at tryCatch (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:65:40)
    at GeneratorFunctionPrototype.invoke [as _invoke] (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:303:22)
    at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:117:21)
    at tryCatch (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:65:40)
    at invoke (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:155:20)
    at C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:165:13
Error: Failed to launch a browser.
    at Chromy.start$ (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\chromy\dist\index.js:147:21)
    at tryCatch (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:65:40)
    at GeneratorFunctionPrototype.invoke [as _invoke] (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:303:22)
    at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:117:21)
    at tryCatch (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:65:40)
    at invoke (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:155:20)
    at C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:165:13
Error: Failed to launch a browser.
    at Chromy.start$ (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\chromy\dist\index.js:147:21)
    at tryCatch (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:65:40)
    at GeneratorFunctionPrototype.invoke [as _invoke] (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:303:22)
    at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:117:21)
    at tryCatch (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:65:40)
    at invoke (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:155:20)
    at C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:165:13
Error: Failed to launch a browser.
    at Chromy.start$ (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\chromy\dist\index.js:147:21)
    at tryCatch (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:65:40)
    at GeneratorFunctionPrototype.invoke [as _invoke] (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:303:22)
    at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:117:21)
    at tryCatch (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:65:40)
    at invoke (C:\Users\SATTA-WORK\AppData\Roaming\npm\node_modules\backstopjs\node_modules\regenerator-runtime\runtime.js:155:20)
    at C:\Users\SATTA-WOR
dotneet commented 6 years ago

Hi @sattaman,

Is Chrome installed on you machine?

Here is the search logic:

export function win32() {
  const installations: Array<string> = [];
  const suffixes = [
    '\\Google\\Chrome SxS\\Application\\chrome.exe', '\\Google\\Chrome\\Application\\chrome.exe'
  ];
  const prefixes =
      [process.env.LOCALAPPDATA, process.env.PROGRAMFILES, process.env['PROGRAMFILES(X86)']];

  const customChromePath = resolveChromePath();
  if (customChromePath) {
    installations.push(customChromePath);
  }

  prefixes.forEach(prefix => suffixes.forEach(suffix => {
    const chromePath = path.join(prefix, suffix);
    if (canAccess(chromePath)) {
      installations.push(chromePath);
    }
  }));
  return installations;
}

from https://github.com/GoogleChrome/lighthouse/blob/master/chrome-launcher/chrome-finder.ts

sattaman commented 6 years ago

@dotneet This was working previously, is working again on a restart. It has happened on a couple of machines though so maybe something else going on? I'll close now anyhow

laubsauger commented 6 years ago

@sattaman I'm late but maybe someone else lands here: This happens if a test breaks (exception, timeout or similar). The started chrome processes are not always killed. I have this problem regularly.

Infact i'm running pkill -f "(chrome)*?(--headless)" to get rid of stale chrome instances in a cleanup script after chromy should be done.