Skip to content

tools: Disable fault signal handlers in gst-launch/gst-validate on macOS

Fixes #2906 (closed)

By default, macOS attempts to run lldb against a misbehaving process to handle the crash. This does not play well with the SISEGV/SIGQUIT handler we add in gst-launch/gst-validate. The 'spinning' mechanism causes lldb and debugserver ran by macOS to misbehave, taking 100% CPU and rendering both themselves and the GStreamer instance frozen and very hard to effectively kill. macOS's Activity Monitor is also unusable while this is happening. Sometimes even a system restart might be needed in order to really get rid of those processes.

This patch takes the quickest possible solution of just disabling those signal handlers entirely on macOS.

Merge request reports