ostinato icon indicating copy to clipboard operation
ostinato copied to clipboard

v1.2 Segmentation Fault on MacOS

Open ripnet opened this issue 2 years ago • 1 comments

I just downloaded v1.2 on my Mac and now Ostinato (or drone) won't start. Running from the command line reveals a segfault:

➜  ~ /Applications/Ostinato.app/Contents/MacOS/Ostinato
[1]    56082 segmentation fault  /Applications/Ostinato.app/Contents/MacOS/Ostinato
➜  ~ /Applications/drone.app/Contents/MacOS/drone
Starting (will take a few seconds) ...
[1]    56104 segmentation fault  /Applications/drone.app/Contents/MacOS/drone
➜  ~

macOS Monterey Version 12.4 Intel

I can't do a debug either:

➜  ~ lldb /Applications/Ostinato.app/Contents/MacOS/Ostinato
(lldb) target create "/Applications/Ostinato.app/Contents/MacOS/Ostinato"
Current executable set to '/Applications/Ostinato.app/Contents/MacOS/Ostinato' (x86_64).
(lldb) run
error: process exited with status -1 (attach failed (Not allowed to attach to process.  Look in the console messages (Console.app), near the debugserver entries, when the attach failed.  The subsystem that denied the attach permission will likely have logged an informative message about why it was denied.))
(lldb)

I suspect the debug issue has to do with the get-task-allow entitlement missing:

➜  ~ codesign -d /Applications/Ostinato.app/Contents/MacOS/Ostinato --entitlements -
Executable=/Applications/Ostinato.app/Contents/MacOS/Ostinato
➜  ~

Let me know what else I can provide to help.

ripnet avatar Sep 19 '22 20:09 ripnet

@ripnet - Yes, looks to be entitlements related. Earlier versions of the binaries were not code signed - so this was not seen earlier.

Unfortunately, though I'm not able to repro it on my Mac - not sure why. Can you please email [email protected] from the email you had used to purchase Ostinato - I would like to provide you a different dmg to try.

pstavirs avatar Sep 20 '22 10:09 pstavirs

This segfault is not due to the code itself but because of the packaging - specifically the MacOS notarization.

Notarization of the app with the hardened-runtime requires certain exceptions required for QtScript to be added as entitlements while signing viz.

  • allow-jit
  • allow-unsigned-executable-memory

pstavirs avatar Sep 28 '22 17:09 pstavirs