panic_action and GDB/LLDB
Arran Cudbard-Bell
a.cudbardb at freeradius.org
Wed Nov 5 17:27:33 CET 2014
> On 5 Nov 2014, at 09:02, Sam Hartman <hartmans at mit.edu> wrote:
>
> Why do the signal handlers get in the way?
> I'd expect the debugger to get the signal before freeradius does.
Alan indicated in his experience, that this was sometimes not the case
and that when running the server under a debugger he was unable to
get a backtrace on fatal signals if the panic_action signal handlers
were installed.
> If you want to resume the program without passing along the signal use
> the signal 0 command.
> If you want to mask the signals in the debugger so that the program
> never sees them do something like
> handle 11 nopass
>
>
> I don't understand the use case for this change
Principle of least surprise when debugging the server. If you start the
server with CAP_SYS_PTRACE in it's effective capabilities list, it just
works (which is what happens when you run it as root).
That's superior to having to manually mask signals in the debugger.
> and it seems kind of complex.
I agree, the code to determine if we can attach to the process is stupidly
complex for what it's doing, but I don't know of a better way of detecting
if a debugger is already attached.
-Arran
Arran Cudbard-Bell <a.cudbardb at freeradius.org>
FreeRADIUS development team
FD31 3077 42EC 7FCD 32FE 5EE2 56CF 27F9 30A8 CAA2
More information about the Freeradius-Devel
mailing list