Hello all,
fixed in git hash [3c82dfbb](https://bitbucket.org/eschnett/carpet/commits/3c82dfbb8c7b399d07884ca9143357...) "CarpetLib: trap SEGV signals and generate backtrace" of [carpet](https://bitbucket.org/eschnett/carpet) after some discussion on gitter https://gitter.im/EinsteinToolkit/EinsteinToolkit?at=6024071d9d5c644f66623c5...
Yours, Roland
Hello all,
I noticed that the routine request_backtrace in CarpetLib/src/backtrace.cc only sets signal handlers for some of the signals, namely:
void request_backtraces() { signal(SIGQUIT, signal_handler); signal(SIGILL, signal_handler); signal(SIGABRT, signal_handler); signal(SIGFPE, signal_handler); signal(SIGBUS, signal_handler); }
which has the unfortunate side effect that in a test run of mine on Stampede2 (2020_05 option lists, Intel MPI stack and compiler) no backtrace was generated when I triggered a SEGFAULT.
The only indication for a SEGFAULT was the error number (11) reported by MPI.
Obviously adding
signal(SIGSEGV, signal_handler);
is trivial and it does indeed give a me a backtrace.
Given the simplicity I am wondering if there was a reason whey SIGSEGV is not trapped by CarpetLib?
Yours, Roland