New headless mode seems to cause hang in instantation (headless=new)

This issue has been tracked since 2023-03-09.

Describe the bug
Using the new launch flag headless=new causes hanging. Deleting the profile directory and downgrading from browserless/chrome:latest to browserless/chrome:1-chrome-stable seems to improve likelihood of rebooting but not consistent. Tried on 6 different machines with varying success so hard to reliably reproduce.

To Reproduce
Steps to reproduce the behavior:

sudo docker run \
-d --name browserless \
--network=mynet \
--log-opt max-size=10m \
-v /etc/timezone:/etc/timezone \
-v /home/me/new-browserless-cache:/browserless-cache \
-e 'DEFAULT_LAUNCH_ARGS=["--start-maximized","--window-size=1920,1100","--headless=new","--disable-blink-features=AutomationControlled"]' \
-e "DEFAULT_USER_DATA_DIR=/browserless-cache" \
-e "WORKSPACE_DELETE_EXPIRED=true" \
-e "WORKSPACE_EXPIRE_DAYS=7" \
-e "EXIT_ON_HEALTH_FAILURE=true" \
-e "ENABLE_API_GET=true" \
-e "USE_CHROME_STABLE=true" \
-e "ENABLE_CORS=true" \
-e "DEFAULT_STEALTH=true" \
-e "KEEP_ALIVE=false" \
-e "CHROME_REFRESH_TIME=3600000" \
-e "CONNECTION_TIMEOUT=2400000" \
-e "MAX_CONCURRENT_SESSIONS=3" \
-p 127.0.0.1:9222:3000  \
--restart always \
browserless/chrome:1-chrome-stable

Expected behavior

Normal boot

Screenshots

2023-03-09 03:02:48: error-1: [utils/Chrome.launch()]: [object Object] socket hang up undefined
2023-03-09 03:02:48: error-1: [People Scraper main] Closing connection Error: [utils/Chrome.launch()]: [object Object] socket hang up undefined [utils/Chrome.launch()]: [object Object] socket hang up undefined Error: [utils/Chrome.launch()]: [object Object] socket hang up undefined
2023-03-09T15:09:57.489Z browserless:system ProtocolError: Protocol error (Target.setAutoAttach): Target closed.
    at /usr/src/app/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js:104:24
    at new Promise (<anonymous>)
    at Connection.send (/usr/src/app/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js:100:16)
    at ChromeTargetManager.initialize (/usr/src/app/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ChromeTargetManager.js:247:82)
    at CDPBrowser._attach (/usr/src/app/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.js:156:76)
    at Function._create (/usr/src/app/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.js:49:23)
    at ChromeLauncher.launch (/usr/src/app/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ChromeLauncher.js:129:53)
    at async PuppeteerExtra.launch (/usr/src/app/node_modules/puppeteer-extra/dist/index.cjs.js:128:25)
    at async Object.launchChrome (/usr/src/app/build/chrome-helper.js:351:27)
    at async PuppeteerProvider.getChrome (/usr/src/app/build/puppeteer-provider.js:435:15) Issue launching Chrome, retrying 1 times.
2023-03-09T15:09:57.492Z browserless:chrome-helper Launching Chrome with args: {
  "args": [
    "--no-sandbox",
    "--enable-logging",
    "--v1=1",
    "--disable-dev-shm-usage",
    "--no-first-run",
    "--start-maximized",
    "--window-size=1920,1100",
    "--headless=new",
    "--disable-blink-features=AutomationControlled",
    "--remote-debugging-port=34043",
    "--user-data-dir=/browserless-cache",
    "--remote-debugging-pipe"
  ],
  "blockAds": false,
  "dumpio": false,
  "headless": true,
  "stealth": true,
  "ignoreDefaultArgs": false,
  "ignoreHTTPSErrors": false,
  "pauseOnConnect": false,
  "playwright": false,
  "userDataDir": "/browserless-cache",
  "meta": {
    "protocol": null,
    "slashes": null,
    "auth": null,
    "host": null,
    "port": null,
    "hostname": null,
    "hash": null,
    "search": null,
    "query": {},
    "pathname": "/",
    "path": "/",
    "href": "/"
  },
  "executablePath": "/usr/bin/google-chrome",
  "handleSIGINT": false,
  "handleSIGTERM": false,
  "handleSIGHUP": false
}
2023-03-09T15:09:57.726Z browserless:system ProtocolError: Protocol error (Target.setAutoAttach): Target closed.
    at /usr/src/app/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js:104:24
    at new Promise (<anonymous>)
    at Connection.send (/usr/src/app/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js:100:16)
    at ChromeTargetManager.initialize (/usr/src/app/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ChromeTargetManager.js:247:82)
    at CDPBrowser._attach (/usr/src/app/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.js:156:76)
    at Function._create (/usr/src/app/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.js:49:23)
    at ChromeLauncher.launch (/usr/src/app/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ChromeLauncher.js:129:53)
    at async PuppeteerExtra.launch (/usr/src/app/node_modules/puppeteer-extra/dist/index.cjs.js:128:25)
    at async Object.launchChrome (/usr/src/app/build/chrome-helper.js:351:27)
    at async PuppeteerProvider.getChrome (/usr/src/app/build/puppeteer-provider.js:435:15) Issue launching Chrome, retries exhausted.
2023-03-09T15:09:57.727Z browserless:job ProtocolError: Protocol error (Target.setAutoAttach): Target closed.
    at /usr/src/app/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js:104:24
    at new Promise (<anonymous>)
    at Connection.send (/usr/src/app/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js:100:16)
    at ChromeTargetManager.initialize (/usr/src/app/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ChromeTargetManager.js:247:82)
    at CDPBrowser._attach (/usr/src/app/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.js:156:76)
    at Function._create (/usr/src/app/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.js:49:23)
    at ChromeLauncher.launch (/usr/src/app/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ChromeLauncher.js:129:53)
    at async PuppeteerExtra.launch (/usr/src/app/node_modules/puppeteer-extra/dist/index.cjs.js:128:25)
    at async Object.launchChrome (/usr/src/app/build/chrome-helper.js:351:27)
    at async PuppeteerProvider.getChrome (/usr/src/app/build/puppeteer-provider.js:435:15) JNEBABM3ZUHSTFKUP6HD2FYR7R2LBV2I: Issue launching Chrome or proxying traffic, failing request
2023-03-09T15:09:57.728Z browserless:server JNEBABM3ZUHSTFKUP6HD2FYR7R2LBV2I: Recording failed stat, cleaning up: "Protocol error (Target.setAutoAttach): Target closed."
2023-03-09T15:09:57.728Z browserless:job JNEBABM3ZUHSTFKUP6HD2FYR7R2LBV2I: Cleaning up job

Desktop (please complete the following information):

Ubuntu 22 headless running on various vps providers with 2 to 16gb ram (several versions tried)

Smartphone (please complete the following information):

n/a

Additional context

  • changing to headless=true of course works fine.
    Thanks!
More Details About Repo
Owner Name browserless
Repo Name chrome
Full Name browserless/chrome
Language TypeScript
Created Date 2017-11-17
Updated Date 2023-03-22
Star Count 5309
Watcher Count 47
Fork Count 516
Issue Count 29

YOU MAY BE INTERESTED

Issue Title Created Date Updated Date