Skip to content

electron concurrency issue and zombie processes #449

@kiskele

Description

@kiskele

Hi

I am trying to troubleshoot an issue: I am running ace-electron in docker and when multiple ace processes are running parallel, it seems they are blocking each other and ACE is failing with various error messages, like:

error:   Ace processing error: Error: Failed to check Content Document '949.html': did-fail-load: -3 -  - acehttps://0.0.0.0/Ops/949.html?AXE_RUNNER=948 - true - 7 - 1

I was able to reproduce the issue even without docker. In the process tree I can see this:

 |   |   \-+= 99767 kiskele node /Users/kiskele/temp/ace/node_modules/.bin/electron ./packages/ace-axe-runner-electron/lib/cli.js --verbose --out out2 /Users/kiskele/Downloads/test.epub
 |   |       |--- 99771 kiskele /Users/kiskele/temp/ace/node_modules/electron/dist/Electron.app/Contents/Frameworks/Electron Helper (GPU).app/Contents/MacOS/Electron Helper (GPU) --type=gpu-process --user-data-dir=/Users/kiskele/Library/Application Support/Electron --gpu-preferences=UAAAAAAAAAAgAAAEAAAAAAAAAAAAAAAAAABgAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAA --shared-files --field-trial-handle=1718379636,r,6378836638113066318,16088629395246184720,262144 --enable-features=ScreenCaptureKitPickerScreen,ScreenCaptureKitStreamPickerSonoma --disable-features=MacWebContentsOcclusion,SpareRendererForSitePerProcess,TimeoutHangingVideoCaptureStarts --variations-seed-version --seatbelt-client=35
 |   |       \--- 99772 kiskele /Users/kiskele/temp/ace/node_modules/electron/dist/Electron.app/Contents/Frameworks/Electron Helper.app/Contents/MacOS/Electron Helper --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-GB --service-sandbox-type=network --user-data-dir=/Users/kiskele/Library/Application Support/Electron --standard-schemes=acehttps --secure-schemes=acehttps --cors-schemes=acehttps --fetch-schemes=acehttps --streaming-schemes=acehttps --shared-files --field-trial-handle=1718379636,r,6378836638113066318,16088629395246184720,262144 --enable-features=ScreenCaptureKitPickerScreen,ScreenCaptureKitStreamPickerSonoma --disable-features=MacWebContentsOcclusion,SpareRendererForSitePerProcess,TimeoutHangingVideoCaptureStarts --variations-seed-version --seatbelt-client=35

and this:

 |       \-+= 99677 kiskele node /Users/kiskele/temp/ace/node_modules/.bin/electron ./packages/ace-axe-runner-electron/lib/cli.js --verbose --out out /Users/kiskele/Downloads/test.epub
 |           |--- 99681 kiskele /Users/kiskele/temp/ace/node_modules/electron/dist/Electron.app/Contents/Frameworks/Electron Helper (GPU).app/Contents/MacOS/Electron Helper (GPU) --type=gpu-process --user-data-dir=/Users/kiskele/Library/Application Support/Electron --gpu-preferences=UAAAAAAAAAAgAAAEAAAAAAAAAAAAAAAAAABgAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAA --shared-files --field-trial-handle=1718379636,r,9488308668255699911,12629781689342009476,262144 --enable-features=ScreenCaptureKitPickerScreen,ScreenCaptureKitStreamPickerSonoma --disable-features=MacWebContentsOcclusion,SpareRendererForSitePerProcess,TimeoutHangingVideoCaptureStarts --variations-seed-version --seatbelt-client=37
 |           \--- 99682 kiskele /Users/kiskele/temp/ace/node_modules/electron/dist/Electron.app/Contents/Frameworks/Electron Helper.app/Contents/MacOS/Electron Helper --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-GB --service-sandbox-type=network --user-data-dir=/Users/kiskele/Library/Application Support/Electron --standard-schemes=acehttps --secure-schemes=acehttps --cors-schemes=acehttps --fetch-schemes=acehttps --streaming-schemes=acehttps --shared-files --field-trial-handle=1718379636,r,9488308668255699911,12629781689342009476,262144 --enable-features=ScreenCaptureKitPickerScreen,ScreenCaptureKitStreamPickerSonoma --disable-features=MacWebContentsOcclusion,SpareRendererForSitePerProcess,TimeoutHangingVideoCaptureStarts --variations-seed-version --seatbelt-client=37

What I can see as a possible issue, that both electron instances are using the same user-data-dir. Is there any way to enter a diferent user-data-dir from the cli?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions