Print backtrace on terminate
This is useful to guess where from an unhandled exception has been risen without gdb. Example output (with a deliberately broken GenWeight::EnvelopeMEScale
):
[ERROR] Program termination requested. Stack trace:
0# logged_terminate() in runHZZanalysis
1# 0x00007FF68CA72E76 in /cvmfs/sft.cern.ch/lcg/releases/gcc/8.2.0-3fa06/x86_64-slc6/lib64/libstdc++.so.6
2# 0x00007FF68CA72EB1 in /cvmfs/sft.cern.ch/lcg/releases/gcc/8.2.0-3fa06/x86_64-slc6/lib64/libstdc++.so.6
3# 0x00007FF68CA730E3 in /cvmfs/sft.cern.ch/lcg/releases/gcc/8.2.0-3fa06/x86_64-slc6/lib64/libstdc++.so.6
4# 0x0000000000448A32 in runHZZanalysis
5# GenWeight::EnvelopeMEScale(GenWeight::Var) const in runHZZanalysis
6# LooperMain::Loop() in runHZZanalysis
7# main in runHZZanalysis
8# __libc_start_main in /lib64/libc.so.6
9# 0x000000000044D6D1 in runHZZanalysis
Further details:
terminate called after throwing an instance of 'std::runtime_error'
what(): Cannot access ME scale variations (weights with indices 1 to 9) because only 223 weights are available.
Aborted
Does not affect physics results.