From 16dd71bdab13170374cf4b0d119a7de3d07be79c Mon Sep 17 00:00:00 2001 From: Radoslaw Zarzynski Date: Tue, 22 Jun 2021 14:24:22 +0000 Subject: [PATCH] crimson/common: dump entire siginfo on segmentation fault. Signed-off-by: Radoslaw Zarzynski --- src/crimson/common/fatal_signal.cc | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/crimson/common/fatal_signal.cc b/src/crimson/common/fatal_signal.cc index 43909fee418a6..e7e4024290d64 100644 --- a/src/crimson/common/fatal_signal.cc +++ b/src/crimson/common/fatal_signal.cc @@ -68,7 +68,30 @@ static void print_backtrace(std::string_view cause) { static void print_segv_info(const siginfo_t& siginfo) { - std::cerr << "Fault at location: " << siginfo.si_addr << std::endl; + std::cerr \ + << "Dump of siginfo:" << std::endl + << " si_signo: " << siginfo.si_signo << std::endl + << " si_errno: " << siginfo.si_errno << std::endl + << " si_code: " << siginfo.si_code << std::endl + << " si_pid: " << siginfo.si_pid << std::endl + << " si_uid: " << siginfo.si_uid << std::endl + << " si_status: " << siginfo.si_status << std::endl + << " si_utime: " << siginfo.si_utime << std::endl + << " si_stime: " << siginfo.si_stime << std::endl + << " si_int: " << siginfo.si_int << std::endl + << " si_ptr: " << siginfo.si_ptr << std::endl + << " si_overrun: " << siginfo.si_overrun << std::endl + << " si_timerid: " << siginfo.si_timerid << std::endl + << " si_addr: " << siginfo.si_addr << std::endl + << " si_band: " << siginfo.si_band << std::endl + << " si_fd: " << siginfo.si_fd << std::endl + << " si_addr_lsb: " << siginfo.si_addr_lsb << std::endl + << " si_lower: " << siginfo.si_lower << std::endl + << " si_upper: " << siginfo.si_upper << std::endl + << " si_pkey: " << siginfo.si_pkey << std::endl + << " si_call_addr: " << siginfo.si_call_addr << std::endl + << " si_syscall: " << siginfo.si_syscall << std::endl + << " si_arch: " << siginfo.si_arch << std::endl; std::cerr << std::flush; } -- 2.47.3