macOS 12 sometimes kills Node.js process when loading the QE library #14058
Labels
bug/2-confirmed
Bug has been reproduced and confirmed.
kind/bug
A reported bug.
team/client
Issue for team Client.
tech/engines
Issue for tech Engines.
topic: apple silicon
topic: macos
Milestone
When there's a fresh release that not a lot of people have run on their machines yet, macOS 12+ on Apple Silicon often kills the Node.js process when trying to load the library. This happens with dev builds all the time, and recently we started getting reports from people encountering it with public releases.
Logs in
/Applications/Utilities/Console.app
show it was killed because of "Invalid code signature".When this happens, one can either:
Sign the Query Engine with their own Apple Developer ID — this immediately fixes the issue locally.
(for example,
find . -name libquery_engine-darwin-arm64.dylib.node | xargs codesign -f -s 'Oleksii Orlenko'
)Wait until the Query Engine hash is whitelisted by macOS Gatekeeper and the issue magically resolves itself. This usually takes up to a day.
Try using the binary engine instead of the library. macOS is usually not as strict towards the standalone binary as it is towards a dynamic shared library loaded by the Node.js process. Perhaps also because Node.js binary itself is signed?
Ostensibly, this happens because we don't sign our binaries, and should be fixed by signing them with a valid Apple Developer ID.
Confirmed cases:
Suspected cases:
Some "keywords" to make this issue googleable and maybe gather more cases:
The text was updated successfully, but these errors were encountered: