Am 27.11.24 um 09:55 schrieb Lennart Poettering:
SIGABRT has a pretty clear usecase: to abnormally terminate a program while creating a coredump. It seems you want to redefine what SIGABRT is supposed to do? That's quite problematic I would say. What's the rationale for that? Note that systemd sends SIGABRT for various reasons on its own, for example in context of the per-service watchdog logic. Hence, redefining locally what it means substantially changes the contract between services and the service manager.
The program has its own abort handler and does not use the core dump functionality of the system. It does its own analysis by starting gdb via fork() and execl(3), running some gdb scripts and then exits. The requested extra SIGKILL would only be used if something goes really wrong in these steps (instead of leaving the service in the "failed" state). Best regards, Georg