gst-launch: fault handlers cause builtin macOS crash handling to misbehave
Whenever something goes wrong in a GStreamer pipeline ran via gst-launch, resulting in a SIGSEGV, macOS's builtin crash reporting will try to spin up lldb to handle the crash in its own way. This conflicts with gst-launch's fault handler, which tries to spin in order to make it possible to hook up GDB and debug further manually.
The result is usually gst-launch being completely frozen, while lldb
and debugserver
take up 100% CPU in the background and are very hard to kill in some cases. Often this also causes Activity Monitor to become completely unresponsive, which is additionally annoying.
Reproduction steps: Put raise (SIGSEGV);
anywhere in your element (aside from the plugin initialization) and run it under macOS with gst-launch.
Similar issue I found was present in GIMP: https://gitlab.gnome.org/GNOME/gimp/-/issues/7785. Just disabling our own handlers completely on macOS would probably be enough.