From ec75b36f9fe4f84b3b98e6635e5c5dba6a11a184 Mon Sep 17 00:00:00 2001 From: Matan Breizman Date: Thu, 12 Jun 2025 12:32:38 +0000 Subject: [PATCH] crimson/common/fatal_signal: Log error before collecting backtrace Signed-off-by: Matan Breizman --- src/crimson/common/fatal_signal.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/crimson/common/fatal_signal.cc b/src/crimson/common/fatal_signal.cc index a5887f6de7b46..709c3d6a47ca3 100644 --- a/src/crimson/common/fatal_signal.cc +++ b/src/crimson/common/fatal_signal.cc @@ -95,6 +95,17 @@ void FatalSignal::install_oneshot_signal_handler() // about e.g. sigreturn(2) calling; see the man page). constexpr std::size_t FRAMES_TO_SKIP = 2 + 1; + // Let's inform regarding the abort before getting the stacktrace + std::string pre_backtrace = fmt::format( + "Aborting {} on shard {} - Stopping all shards", + cause, + seastar::engine_is_ready() ? std::to_string(seastar::this_shard_id()) : "no shard"); + + GENERIC_ERROR("{}", pre_backtrace); + std::cerr << pre_backtrace << std::flush; + + seastar::engine().exit(1); + std::string backtrace = fmt::format("{} on shard {} \nBacktrace:\n {}", cause, seastar::engine_is_ready() ? std::to_string(seastar::this_shard_id()) : "no shard", -- 2.39.5