weston: remove SEGV and ABRT handlers

Graphics / Wayland / Weston - Pekka Paalanen [collabora.co.uk] - 9 February 2018 15:16 EST

Catching an ABRT is kind of ok, catching a SEGV is russian roulette. We have been quite lucky with it, but I've started hitting crashes inside malloc() which causes a deadlock when our SEGV handler needs to malloc() as well (weston_log_timestamp()).

One reason to catch SEGV and ABRT was to attempt to restore the VT on the DRM-backend. Nowadays that job is done by logind or weston-launch.

The signal handler also printed a backtrace, which for me personally has been extremely helpful. Arguably it's not necessary though, when we have core files and services that catch cores. For instance, if using systemd, 'coredumpctl gdb' is delightfully easy for getting into the saved core.

Therefore, this code does more harm than it is useful, so remove it. We also drop an optional dependency to libunwind.

bb707dc0 weston: remove SEGV and ABRT handlers
Makefile.am | 8 ++--
compositor/main.c | 119 ------------------------------------------------------
configure.ac | 20 ---------
man/weston.man | 14 -------
4 files changed, 4 insertions(+), 157 deletions(-)

Upstream: cgit.freedesktop.org

  • Share