Skip to content

Commit ebea3e0

Browse files
authored
DPL: enable exception / segmentation fault backtraces by default (#5373)
1 parent 0ddb65a commit ebea3e0

File tree

3 files changed

+7
-5
lines changed

3 files changed

+7
-5
lines changed

Framework/Core/src/DeviceSpecHelpers.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1211,7 +1211,7 @@ boost::program_options::options_description DeviceSpecHelpers::getForwardedDevic
12111211
("shm-throw-bad-alloc", bpo::value<std::string>()->default_value("true"), "throw if insufficient shm memory") //
12121212
("shm-segment-id", bpo::value<std::string>()->default_value("0"), "shm segment id") //
12131213
("environment", bpo::value<std::string>(), "comma separated list of environment variables to set for the device") //
1214-
("stacktrace-on-signal", bpo::value<std::string>()->default_value("none"), //
1214+
("stacktrace-on-signal", bpo::value<std::string>()->default_value("all"), //
12151215
"dump stacktrace on specified signal(s) (any of `all`, `segv`, `bus`, `ill`, `abrt`, `fpe`, `sys`.)") //
12161216
("post-fork-command", bpo::value<std::string>(), "post fork command to execute (e.g. numactl {pid}") //
12171217
("session", bpo::value<std::string>(), "unique label for the shared memory session") //

Framework/Core/test/test_FrameworkDataFlowToDDS.cxx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,16 +99,16 @@ BOOST_AUTO_TEST_CASE(TestDDS)
9999
dumpDeviceSpec2DDS(ss, devices, executions);
100100
BOOST_CHECK_EQUAL(ss.str(), R"EXPECTED(<topology name="o2-dataflow">
101101
<decltask name="A">
102-
<exe reachable="true">foo --id A --control static --shm-monitor false --log-color false --color false --jobs 4 --severity info --shm-mlock-segment false --shm-segment-id 0 --shm-throw-bad-alloc true --shm-zero-segment false --stacktrace-on-signal none --session dpl_workflow-id --plugin-search-path $FAIRMQ_ROOT/lib --plugin dds</exe>
102+
<exe reachable="true">foo --id A --control static --shm-monitor false --log-color false --color false --jobs 4 --severity info --shm-mlock-segment false --shm-segment-id 0 --shm-throw-bad-alloc true --shm-zero-segment false --stacktrace-on-signal all --session dpl_workflow-id --plugin-search-path $FAIRMQ_ROOT/lib --plugin dds</exe>
103103
</decltask>
104104
<decltask name="B">
105-
<exe reachable="true">foo --id B --control static --shm-monitor false --log-color false --color false --jobs 4 --severity info --shm-mlock-segment false --shm-segment-id 0 --shm-throw-bad-alloc true --shm-zero-segment false --stacktrace-on-signal none --session dpl_workflow-id --plugin-search-path $FAIRMQ_ROOT/lib --plugin dds</exe>
105+
<exe reachable="true">foo --id B --control static --shm-monitor false --log-color false --color false --jobs 4 --severity info --shm-mlock-segment false --shm-segment-id 0 --shm-throw-bad-alloc true --shm-zero-segment false --stacktrace-on-signal all --session dpl_workflow-id --plugin-search-path $FAIRMQ_ROOT/lib --plugin dds</exe>
106106
</decltask>
107107
<decltask name="C">
108-
<exe reachable="true">foo --id C --control static --shm-monitor false --log-color false --color false --jobs 4 --severity info --shm-mlock-segment false --shm-segment-id 0 --shm-throw-bad-alloc true --shm-zero-segment false --stacktrace-on-signal none --session dpl_workflow-id --plugin-search-path $FAIRMQ_ROOT/lib --plugin dds</exe>
108+
<exe reachable="true">foo --id C --control static --shm-monitor false --log-color false --color false --jobs 4 --severity info --shm-mlock-segment false --shm-segment-id 0 --shm-throw-bad-alloc true --shm-zero-segment false --stacktrace-on-signal all --session dpl_workflow-id --plugin-search-path $FAIRMQ_ROOT/lib --plugin dds</exe>
109109
</decltask>
110110
<decltask name="D">
111-
<exe reachable="true">foo --id D --control static --shm-monitor false --log-color false --color false --jobs 4 --severity info --shm-mlock-segment false --shm-segment-id 0 --shm-throw-bad-alloc true --shm-zero-segment false --stacktrace-on-signal none --session dpl_workflow-id --plugin-search-path $FAIRMQ_ROOT/lib --plugin dds</exe>
111+
<exe reachable="true">foo --id D --control static --shm-monitor false --log-color false --color false --jobs 4 --severity info --shm-mlock-segment false --shm-segment-id 0 --shm-throw-bad-alloc true --shm-zero-segment false --stacktrace-on-signal all --session dpl_workflow-id --plugin-search-path $FAIRMQ_ROOT/lib --plugin dds</exe>
112112
</decltask>
113113
<declcollection name="DPL">
114114
<tasks>

Framework/Foundation/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ o2_add_library(FrameworkFoundation
1515
SOURCES src/RuntimeError.cxx
1616
TARGETVARNAME targetName
1717
)
18+
set(DPL_ENABLE_BACKTRACE ON CACHE BOOL "Enable backtrace on o2::framework::runtime_error")
19+
1820
if (DPL_ENABLE_BACKTRACE)
1921
target_compile_definitions(${targetName} PUBLIC -DDPL_ENABLE_BACKTRACE)
2022
endif()

0 commit comments

Comments
 (0)