Closed dmorilha-twilio closed 3 years ago
This is due to different signal handling implementations on the target OSes. Signal handlers are not guaranteed to run on top of the active thread stack. See https://man7.org/linux/man-pages/man2/signal.2.html :
The only portable use of signal() is to set a signal's disposition to
SIG_DFL or SIG_IGN. The semantics when using signal() to establish a
signal handler vary across systems (and POSIX.1 explicitly permits
this variation); do not use it for this purpose.
I am getting an incomplete stacktrace when I use
boost::stacktrace
1.73.0 on a Darwin Kernel Version 19.6.0 for my signal handler.Here is what I get for the same code on Linux: