Describe the bug
Connection to chrome is killed because of timeout while actions are takeing place
To Reproduce
using c# with PuppeteerSharp
after CONNECTION_TIMEOUT connection is lost/reset
docker run --rm \
-p 3000:3000 \
-e "DEFAULT_LAUNCH_ARGS=[\"--disable-gpu\",\"--disable-software-rasterizer\",\"--no-zygote\",\"--disable-features=IsolateOrigins,site-per-process\",\"--disable-site-isolation-trials\",\"--disable-web-security\",\"--disable-dev-shm-usage\"]" \
-e "DEFAULT_IGNORE_DEFAULT_ARGS=true" \
-e "CONNECTION_TIMEOUT=120000" \
browserless/chrome
If I do not set the timeout the connection is aborted after 60sec (which is the default value)
Expected behavior
timeout only happening when no actions are taking place
Screenshots
This is on ubuntu/docker when connection from win10 maschine
2022-11-20T13:50:33.655Z browserless:chrome-helper Chrome PID: 71
2022-11-20T13:50:33.656Z browserless:chrome-helper Finding prior pages
2022-11-20T13:50:33.678Z browserless:chrome-helper Found 1 pages
2022-11-20T13:50:33.679Z browserless:chrome-helper Setting up page Unknown
2022-11-20T13:50:33.679Z browserless:chrome-helper Injecting download dir "/usr/src/app/workspace"
2022-11-20T13:50:33.679Z browserless:system Chrome launched 179ms
2022-11-20T13:50:33.679Z browserless:system Got chrome instance
2022-11-20T13:50:33.679Z browserless:job RN4N5SAP6DS7VJTRF4BBOMYXA8L9TWYR: Starting session.
2022-11-20T13:50:33.680Z browserless:job RN4N5SAP6DS7VJTRF4BBOMYXA8L9TWYR: Proxying request to /devtools/browser route: ws://127.0.0.1:42151/devtools/browser/4b21ab93-8e16-4a61-a6c4-90154f88a4ab.
2022-11-20T13:50:33.689Z browserless:chrome-helper Setting up file:// protocol request rejection
2022-11-20T13:50:44.428Z browserless:chrome-helper Setting up page Unknown
2022-11-20T13:50:44.428Z browserless:chrome-helper Injecting download dir "/usr/src/app/workspace"
2022-11-20T13:50:44.428Z browserless:chrome-helper Setting up file:// protocol request rejection
2022-11-20T13:51:03.006Z browserless:chrome-helper Setting up page Unknown
2022-11-20T13:51:03.006Z browserless:chrome-helper Injecting download dir "/usr/src/app/workspace"
2022-11-20T13:51:03.007Z browserless:chrome-helper Setting up file:// protocol request rejection
2022-11-20T13:51:26.039Z browserless:chrome-helper Setting up page Unknown
2022-11-20T13:51:26.039Z browserless:chrome-helper Injecting download dir "/usr/src/app/workspace"
2022-11-20T13:51:26.040Z browserless:chrome-helper Setting up file:// protocol request rejection
2022-11-20T13:51:49.917Z browserless:chrome-helper Setting up page Unknown
2022-11-20T13:51:49.917Z browserless:chrome-helper Injecting download dir "/usr/src/app/workspace"
2022-11-20T13:51:49.918Z browserless:chrome-helper Setting up file:// protocol request rejection
2022-11-20T13:52:12.870Z browserless:chrome-helper Setting up page Unknown
2022-11-20T13:52:12.870Z browserless:chrome-helper Injecting download dir "/usr/src/app/workspace"
2022-11-20T13:52:12.870Z browserless:chrome-helper Setting up file:// protocol request rejection
2022-11-20T13:52:33.500Z browserless:server RN4N5SAP6DS7VJTRF4BBOMYXA8L9TWYR: Recording timedout stat.
2022-11-20T13:52:33.500Z browserless:job RN4N5SAP6DS7VJTRF4BBOMYXA8L9TWYR: Job has timed-out, closing the WebSocket.
2022-11-20T13:52:33.501Z browserless:job RN4N5SAP6DS7VJTRF4BBOMYXA8L9TWYR: Cleaning up job
2022-11-20T13:52:33.501Z browserless:job RN4N5SAP6DS7VJTRF4BBOMYXA8L9TWYR: Browser not needed, closing
2022-11-20T13:52:33.501Z browserless:chrome-helper Shutting down browser with close command
2022-11-20T13:52:33.501Z browserless:job RN4N5SAP6DS7VJTRF4BBOMYXA8L9TWYR: Browser cleanup complete.
2022-11-20T13:52:33.502Z browserless:server Current workload complete.
2022-11-20T13:52:33.502Z browserless:chrome-helper Sending SIGKILL signal to browser process 71
2022-11-20T13:52:33.516Z browserless:chrome-helper Removing temp data-dir /tmp/browserless-data-dir-XWK2ER
2022-11-20T13:52:33.599Z browserless:chrome-helper Garbage collecting and removing listeners
2022-11-20T13:52:33.672Z browserless:chrome-helper Temp dir /tmp/browserless-data-dir-XWK2ER removed successfully
this is on minikube (with default params) when connection within the same k8s cluster
2022-11-20T13:19:52.283Z browserless:system Got chrome instance
2022-11-20T13:19:52.283Z browserless:job 6S0QRMHI94MBGR39JNANNQ6U8HU05ECW: Starting session.
2022-11-20T13:19:52.283Z browserless:job 6S0QRMHI94MBGR39JNANNQ6U8HU05ECW: Proxying request to /devtools/browser route: ws://127.0.0.1:34851/devtools/browser/43690537-cf75-42bb-bfc8-2b7966e3dd64.
2022-11-20T13:19:52.284Z browserless:chrome-helper Setting up file:// protocol request rejection
2022-11-20T13:20:03.230Z browserless:chrome-helper Setting up page Unknown
2022-11-20T13:20:03.230Z browserless:chrome-helper Injecting download dir "/usr/src/app/workspace"
2022-11-20T13:20:03.230Z browserless:chrome-helper Setting up file:// protocol request rejection
2022-11-20T13:20:25.086Z browserless:chrome-helper Setting up page Unknown
2022-11-20T13:20:25.086Z browserless:chrome-helper Injecting download dir "/usr/src/app/workspace"
2022-11-20T13:20:25.087Z browserless:chrome-helper Setting up file:// protocol request rejection
2022-11-20T13:20:52.090Z browserless:server 6S0QRMHI94MBGR39JNANNQ6U8HU05ECW: Recording timedout stat.
2022-11-20T13:20:52.090Z browserless:job 6S0QRMHI94MBGR39JNANNQ6U8HU05ECW: Job has timed-out, closing the WebSocket.
2022-11-20T13:20:52.090Z browserless:job 6S0QRMHI94MBGR39JNANNQ6U8HU05ECW: Cleaning up job
2022-11-20T13:20:52.090Z browserless:job 6S0QRMHI94MBGR39JNANNQ6U8HU05ECW: Browser not needed, closing
2022-11-20T13:20:52.090Z browserless:chrome-helper Shutting down browser with close command
2022-11-20T13:20:52.090Z browserless:job 6S0QRMHI94MBGR39JNANNQ6U8HU05ECW: Browser cleanup complete.
2022-11-20T13:20:52.091Z browserless:server Current workload complete.
2022-11-20T13:20:52.091Z browserless:chrome-helper Sending SIGKILL signal to browser process 217
2022-11-20T13:20:52.104Z browserless:chrome-helper Removing temp data-dir /tmp/browserless-data-dir-EQIlao
2022-11-20T13:20:52.107Z browserless:server Error with inbound socket Error [ERR_STREAM_WRITE_AFTER_END]: write after end
Error [ERR_STREAM_WRITE_AFTER_END]: write after end
at new NodeError (node:internal/errors:387:5)
at _write (node:internal/streams/writable:321:11)
at Socket.Writable.write (node:internal/streams/writable:336:10)
at Socket.ondata (node:internal/streams/readable:754:22)
at Socket.emit (node:events:513:28)
at addChunk (node:internal/streams/readable:315:12)
at readableAddChunk (node:internal/streams/readable:289:9)
at Socket.Readable.push (node:internal/streams/readable:228:10)
at TCP.onStreamRead (node:internal/stream_base_commons:190:23)
2022-11-20T13:20:52.181Z browserless:chrome-helper Garbage collecting and removing listeners
2022-11-20T13:20:52.280Z browserless:chrome-helper Temp dir /tmp/browserless-data-dir-EQIlao removed successfully
Additional context
sounds similar to #228
2022-11-20T13:50:33.679Z browserless:job RN4N5SAP6DS7VJTRF4BBOMYXA8L9TWYR: Starting session
....
2022-11-20T13:52:33.500Z browserless:server RN4N5SAP6DS7VJTRF4BBOMYXA8L9TWYR: Recording timedout stat.
Looks like expected behavior, browserless will timeout jobs that meet the CONNECTION_TIMEOUT
, regardless of whether the browser is sitting idle or doing something. Are you trying to remove the timeout entirely?
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 |
Issue Title | Created Date | Updated Date |
---|