Skip to content

Print backtrace on terminate

Andrey Popov requested to merge stacktrace into master

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.

Merge request reports