]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/common/fatal_signal: Log error before collecting backtrace 63673/head
authorMatan Breizman <mbreizma@redhat.com>
Thu, 12 Jun 2025 12:32:38 +0000 (12:32 +0000)
committerMatan Breizman <mbreizma@redhat.com>
Sun, 22 Jun 2025 09:08:57 +0000 (09:08 +0000)
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
src/crimson/common/fatal_signal.cc

index a5887f6de7b469551a87f97c5774458be6b5d21a..709c3d6a47ca3afabc93089a625d0930f7b381ff 100644 (file)
@@ -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",