Closed youshoubianer closed 1 month ago
I see aarch64
in those logs, wanted to verify that you have gotten the correct arch pulled in docker?
docker pull --platform=linux/arm64 ghcr.io/browserless/chromium:latest
@joelgriffith Thank you for your reply.
but I tried the command for the latest version of arm64, and got the same error...
the browserless debug error is:
puppeteer:protocol:SEND ► [
puppeteer:protocol:SEND ► '{"method":"Target.setAutoAttach","params":{"waitForDebuggerOnStart":true,"flatten":true,"autoAttach":true,"filter":[{}]},"id":1,"sessionId":"13A92AEF109DDD49E74D376B0E1A4859"}'
puppeteer:protocol:SEND ► ] +0ms
puppeteer:protocol:SEND ► [
puppeteer:protocol:SEND ► '{"method":"Runtime.runIfWaitingForDebugger","id":2,"sessionId":"13A92AEF109DDD49E74D376B0E1A4859"}'
puppeteer:protocol:SEND ► ] +0ms
puppeteer:protocol:RECV ◀ [
puppeteer:protocol:RECV ◀ '{"method":"Target.targetCreated","params":{"targetInfo":{"targetId":"33E3B8CD762BF1F9BBBA5CB9B5004CB9","type":"page","title":"","url":"about:blank","attached":false,"canAccessOpener":false,"browserContextId":"EE84E6C09BF11944C13D0D51389E729A"}}}'
puppeteer:protocol:RECV ◀ ] +0ms
puppeteer:protocol:RECV ◀ [
puppeteer:protocol:RECV ◀ '{"method":"Target.targetInfoChanged","params":{"targetInfo":{"targetId":"33E3B8CD762BF1F9BBBA5CB9B5004CB9","type":"page","title":"","url":"about:blank","attached":true,"canAccessOpener":false,"browserContextId":"EE84E6C09BF11944C13D0D51389E729A"}}}'
puppeteer:protocol:RECV ◀ ] +0ms
puppeteer:protocol:RECV ◀ [
puppeteer:protocol:RECV ◀ '{"method":"Target.attachedToTarget","params":{"sessionId":"05CA4763DB849B544C181308DA6A698E","targetInfo":{"targetId":"33E3B8CD762BF1F9BBBA5CB9B5004CB9","type":"page","title":"","url":"about:blank","attached":true,"canAccessOpener":false,"browserContextId":"EE84E6C09BF11944C13D0D51389E729A"},"waitingForDebugger":false},"sessionId":"13A92AEF109DDD49E74D376B0E1A4859"}'
puppeteer:protocol:RECV ◀ ] +0ms
puppeteer:protocol:SEND ► [
puppeteer:protocol:SEND ► '{"method":"Target.setAutoAttach","params":{"waitForDebuggerOnStart":true,"flatten":true,"autoAttach":true,"filter":[{}]},"id":1,"sessionId":"05CA4763DB849B544C181308DA6A698E"}'
puppeteer:protocol:SEND ► ] +0ms
puppeteer:protocol:SEND ► [
puppeteer:protocol:SEND ► '{"method":"Runtime.runIfWaitingForDebugger","id":2,"sessionId":"05CA4763DB849B544C181308DA6A698E"}'
puppeteer:protocol:SEND ► ] +0ms
puppeteer:protocol:SEND ► [
puppeteer:protocol:SEND ► '{"method":"Network.enable","id":3,"sessionId":"05CA4763DB849B544C181308DA6A698E"}'
puppeteer:protocol:SEND ► ] +0ms
puppeteer:protocol:SEND ► [
puppeteer:protocol:SEND ► '{"method":"Network.setCacheDisabled","params":{"cacheDisabled":false},"id":4,"sessionId":"05CA4763DB849B544C181308DA6A698E"}'
puppeteer:protocol:SEND ► ] +0ms
puppeteer:protocol:SEND ► [
puppeteer:protocol:SEND ► '{"method":"Fetch.disable","id":5,"sessionId":"05CA4763DB849B544C181308DA6A698E"}'
puppeteer:protocol:SEND ► ] +0ms
puppeteer:protocol:SEND ► [
puppeteer:protocol:SEND ► '{"method":"Page.enable","id":6,"sessionId":"05CA4763DB849B544C181308DA6A698E"}'
puppeteer:protocol:SEND ► ] +0ms
puppeteer:protocol:SEND ► [
puppeteer:protocol:SEND ► '{"method":"Page.getFrameTree","id":7,"sessionId":"05CA4763DB849B544C181308DA6A698E"}'
puppeteer:protocol:SEND ► ] +0ms
puppeteer:protocol:SEND ► [
puppeteer:protocol:SEND ► '{"method":"Page.setLifecycleEventsEnabled","params":{"enabled":true},"id":8,"sessionId":"05CA4763DB849B544C181308DA6A698E"}'
puppeteer:protocol:SEND ► ] +0ms
puppeteer:protocol:SEND ► [
puppeteer:protocol:SEND ► '{"method":"Runtime.enable","id":9,"sessionId":"05CA4763DB849B544C181308DA6A698E"}'
puppeteer:protocol:SEND ► ] +0ms
puppeteer:protocol:SEND ► [
puppeteer:protocol:SEND ► '{"method":"Performance.enable","id":10,"sessionId":"05CA4763DB849B544C181308DA6A698E"}'
puppeteer:protocol:SEND ► ] +0ms
puppeteer:protocol:SEND ► [
puppeteer:protocol:SEND ► '{"method":"Log.enable","id":11,"sessionId":"05CA4763DB849B544C181308DA6A698E"}'
puppeteer:protocol:SEND ► ] +0ms
puppeteer:protocol:RECV ◀ [
puppeteer:protocol:RECV ◀ '{"id":1,"result":{},"sessionId":"13A92AEF109DDD49E74D376B0E1A4859"}'
puppeteer:protocol:RECV ◀ ] +0ms
puppeteer:protocol:RECV ◀ [
puppeteer:protocol:RECV ◀ '{"id":2,"result":{},"sessionId":"13A92AEF109DDD49E74D376B0E1A4859"}'
puppeteer:protocol:RECV ◀ ] +0ms
puppeteer:protocol:RECV ◀ [
puppeteer:protocol:RECV ◀ '{"id":5,"result":{},"sessionId":"05CA4763DB849B544C181308DA6A698E"}'
puppeteer:protocol:RECV ◀ ] +0ms
puppeteer:protocol:RECV ◀ [
puppeteer:protocol:RECV ◀ '{"id":1,"result":{},"sessionId":"05CA4763DB849B544C181308DA6A698E"}'
puppeteer:protocol:RECV ◀ ] +0ms
puppeteer:protocol:RECV ◀ [
puppeteer:protocol:RECV ◀ '{"method":"Network.loadingFailed","params":{"requestId":"FF2857032CC547D22E13B1E9D20E3A55","timestamp":30518803.392214,"type":"Document","errorText":"net::ERR_ABORTED","canceled":true},"sessionId":"05CA4763DB849B544C181308DA6A698E"}'
puppeteer:protocol:RECV ◀ ] +0ms
puppeteer:protocol:RECV ◀ [
puppeteer:protocol:RECV ◀ '{"method":"Page.frameStoppedLoading","params":{"frameId":"33E3B8CD762BF1F9BBBA5CB9B5004CB9"},"sessionId":"05CA4763DB849B544C181308DA6A698E"}'
puppeteer:protocol:RECV ◀ ] +0ms
puppeteer:protocol:RECV ◀ [
puppeteer:protocol:RECV ◀ '{"method":"Inspector.targetCrashed","params":{},"sessionId":"05CA4763DB849B544C181308DA6A698E"}'
puppeteer:protocol:RECV ◀ ] +0ms
puppeteer:protocol:RECV ◀ [
puppeteer:protocol:RECV ◀ '{"method":"Target.targetCrashed","params":{"targetId":"33E3B8CD762BF1F9BBBA5CB9B5004CB9","status":"crashed","errorCode":139}}'
puppeteer:protocol:RECV ◀ ] +0ms
puppeteer:protocol:RECV ◀ [
puppeteer:protocol:RECV ◀ '{"id":1,"result":{},"sessionId":"673703F2022297AE9F301847D087043B"}'
puppeteer:protocol:RECV ◀ ] +0ms
puppeteer:protocol:RECV ◀ [
puppeteer:protocol:RECV ◀ '{"method":"Inspector.targetCrashed","params":{},"sessionId":"673703F2022297AE9F301847D087043B"}'
puppeteer:protocol:RECV ◀ ] +0ms
puppeteer:protocol:RECV ◀ [
puppeteer:protocol:RECV ◀ '{"method":"Target.targetCrashed","params":{"targetId":"DCAB677046B139BC26B8A007FA64CE73","status":"crashed","errorCode":139}}'
puppeteer:protocol:RECV ◀ ] +0ms
puppeteer:browsers:launcher Browser process 21 onExit +12s
puppeteer:error [
puppeteer:error TargetCloseError: Protocol error (Runtime.runIfWaitingForDebugger): Target closed
puppeteer:error at CallbackRegistry.clear (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js:69:36)
puppeteer:error at CdpCDPSession._onClosed (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CDPSession.js:98:25)
puppeteer:error at #onClose (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:163:21)
puppeteer:error at WebSocket.<anonymous> (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/node/NodeWebSocketTransport.js:43:30)
puppeteer:error at callListener (/usr/src/app/node_modules/puppeteer-core/node_modules/ws/lib/event-target.js:290:14)
puppeteer:error at WebSocket.onClose (/usr/src/app/node_modules/puppeteer-core/node_modules/ws/lib/event-target.js:220:9)
puppeteer:error at WebSocket.emit (node:events:518:28)
puppeteer:error at WebSocket.emitClose (/usr/src/app/node_modules/puppeteer-core/node_modules/ws/lib/websocket.js:272:10)
puppeteer:error at Socket.socketOnClose (/usr/src/app/node_modules/puppeteer-core/node_modules/ws/lib/websocket.js:1341:15)
puppeteer:error at Socket.emit (node:events:518:28) {
puppeteer:error cause: ProtocolError
puppeteer:error at <instance_members_initializer> (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js:89:14)
puppeteer:error at new Callback (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js:93:16)
puppeteer:error at CallbackRegistry.create (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js:19:26)
puppeteer:error at Connection._rawSend (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:86:26)
puppeteer:error at CdpCDPSession.send (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CDPSession.js:63:33)
puppeteer:error at #onAttachedToTarget (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/ChromeTargetManager.js:283:21)
puppeteer:error at listener (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/ChromeTargetManager.js:123:42)
puppeteer:error at file:///usr/src/app/node_modules/puppeteer-core/lib/esm/third_party/mitt/mitt.js:36:7
puppeteer:error at Array.map (<anonymous>)
puppeteer:error at Object.emit (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/third_party/mitt/mitt.js:35:20)
puppeteer:error }
puppeteer:error ] +0ms
puppeteer:error [
puppeteer:error TargetCloseError: Protocol error (Runtime.runIfWaitingForDebugger): Target closed
puppeteer:error at CallbackRegistry.clear (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js:69:36)
puppeteer:error at CdpCDPSession._onClosed (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CDPSession.js:98:25)
puppeteer:error at #onClose (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:163:21)
puppeteer:error at WebSocket.<anonymous> (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/node/NodeWebSocketTransport.js:43:30)
puppeteer:error at callListener (/usr/src/app/node_modules/puppeteer-core/node_modules/ws/lib/event-target.js:290:14)
puppeteer:error at WebSocket.onClose (/usr/src/app/node_modules/puppeteer-core/node_modules/ws/lib/event-target.js:220:9)
puppeteer:error at WebSocket.emit (node:events:518:28)
puppeteer:error at WebSocket.emitClose (/usr/src/app/node_modules/puppeteer-core/node_modules/ws/lib/websocket.js:272:10)
puppeteer:error at Socket.socketOnClose (/usr/src/app/node_modules/puppeteer-core/node_modules/ws/lib/websocket.js:1341:15)
puppeteer:error at Socket.emit (node:events:518:28) {
puppeteer:error cause: ProtocolError
puppeteer:error at <instance_members_initializer> (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js:89:14)
puppeteer:error at new Callback (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js:93:16)
puppeteer:error at CallbackRegistry.create (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js:19:26)
puppeteer:error at Connection._rawSend (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:86:26)
puppeteer:error at CdpCDPSession.send (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CDPSession.js:63:33)
puppeteer:error at #onAttachedToTarget (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/ChromeTargetManager.js:283:21)
puppeteer:error at listener (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/ChromeTargetManager.js:123:42)
puppeteer:error at file:///usr/src/app/node_modules/puppeteer-core/lib/esm/third_party/mitt/mitt.js:36:7
puppeteer:error at Array.map (<anonymous>)
puppeteer:error at Object.emit (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/third_party/mitt/mitt.js:35:20)
puppeteer:error }
puppeteer:error ] +0ms
puppeteer:error [
puppeteer:error TargetCloseError: Protocol error (Performance.enable): Target closed
puppeteer:error at CallbackRegistry.clear (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js:69:36)
puppeteer:error at CdpCDPSession._onClosed (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CDPSession.js:98:25)
puppeteer:error at #onClose (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:163:21)
puppeteer:error at WebSocket.<anonymous> (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/node/NodeWebSocketTransport.js:43:30)
puppeteer:error at callListener (/usr/src/app/node_modules/puppeteer-core/node_modules/ws/lib/event-target.js:290:14)
puppeteer:error at WebSocket.onClose (/usr/src/app/node_modules/puppeteer-core/node_modules/ws/lib/event-target.js:220:9)
puppeteer:error at WebSocket.emit (node:events:518:28)
puppeteer:error at WebSocket.emitClose (/usr/src/app/node_modules/puppeteer-core/node_modules/ws/lib/websocket.js:272:10)
puppeteer:error at Socket.socketOnClose (/usr/src/app/node_modules/puppeteer-core/node_modules/ws/lib/websocket.js:1341:15)
puppeteer:error at Socket.emit (node:events:518:28) {
puppeteer:error cause: ProtocolError
puppeteer:error at <instance_members_initializer> (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js:89:14)
puppeteer:error at new Callback (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js:93:16)
puppeteer:error at CallbackRegistry.create (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js:19:26)
puppeteer:error at Connection._rawSend (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:86:26)
puppeteer:error at CdpCDPSession.send (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CDPSession.js:63:33)
puppeteer:error at #initialize (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Page.js:281:43)
puppeteer:error at CdpPage._create (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Page.js:93:31)
puppeteer:error at file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Target.js:202:32
puppeteer:error at async PageTarget.page (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Target.js:205:17)
puppeteer:error at async ChromiumCDP.onTargetCreated (file:///usr/src/app/build/browsers/browsers.cdp.js:43:26)
puppeteer:error }
puppeteer:error ] +0ms
puppeteer:error [
puppeteer:error TargetCloseError: Protocol error (Emulation.setTouchEmulationEnabled): Session closed. Most likely the page has been closed.
puppeteer:error at CdpCDPSession.send (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CDPSession.js:61:35)
puppeteer:error at #applyViewport (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/EmulationManager.js:143:32)
puppeteer:error at EmulatedState.<anonymous> (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/util/decorators.js:139:23)
puppeteer:error at file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/EmulationManager.js:66:33
puppeteer:error at Array.map (<anonymous>)
puppeteer:error at EmulatedState.sync (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/EmulationManager.js:65:58)
puppeteer:error at EmulatedState.setState (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/EmulationManager.js:59:20)
puppeteer:error at EmulationManager.emulateViewport (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/EmulationManager.js:308:39)
puppeteer:error at CdpPage.setViewport (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Page.js:718:58)
puppeteer:error at CdpPage._create (file:///usr/src/app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Page.js:96:28)
puppeteer:error ] +0ms
It’s interesting that chrome does launch enough to get going, then suddenly fails. Can you describe more about the machine you’re running this on and the resources available to it?
The CPU model is Kunpeng 920 (Huawei Server).
$ lscpu
Architecture: aarch64
Byte Order: Little Endian
CPU(s): 64
On-line CPU(s) list: 0-63
Thread(s) per core: 1
Core(s) per socket: 32
Socket(s): 2
NUMA node(s): 2
Model: 0
CPU max MHz: 2600.0000
CPU min MHz: 200.0000
BogoMIPS: 200.00
L1d cache: 64K
L1i cache: 64K
L2 cache: 512K
L3 cache: 32768K
NUMA node0 CPU(s): 0-31
NUMA node1 CPU(s): 32-63
Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm ssbs
mem: 256G
docker version: Docker version 19.03.9, build 9d98839
and I suspect it might be a chromium issue, with compatibility problems on some special arm CPU.
Unfortunately this has come up a few times and I'm not sure how to solve it effectively. We use playwrights chromium binaries for this and there is potentially a problem with them in certain CPU architectures. Might take a look at the playwright issues and see if there's a relevant one tracking this?
Also looks like there might be some GPU flags as well. Perhaps trying without some of those flags will yield better/working results.
I find a similar issue of playwrights for Huiwei Kunpeng CPU. It mentions an error of System PageSize. https://github.com/microsoft/playwright/issues/15068 https://github.com/vogler/free-games-claimer/issues/38
And I test the arm64 version of browserless on different OS, the chromium works well on PAGESIZE 4K, but not on 64K.
Also, the chromium issue mentions it not support any arm system requiring the use of 64kB pages. https://issues.chromium.org/issues/40226770#comment6 😑
So I will use firefox instead of chromium to verify my scripts...
Thanks for the information, good to know that firefox works instead as well.
browserless is running on docker. browserless version: 2.17.1 arch: arm64
run the chromium lanuched command (from browserless container logs) in the browserless container.
I'm not sure why such an error occurs. Can you give me some help? 1、Received signal 11 SEGV_ACCERR ffff8a382a60 2、ERROR:gpu_process_host.cc(1007)] GPU process exited unexpectedly: exit_code=139
command:
the error log is: