diff --git a/src/core/reactor.cc b/src/core/reactor.cc index 8c15e9ebc0b..fbfe6ecd5aa 100644 --- a/src/core/reactor.cc +++ b/src/core/reactor.cc @@ -4442,6 +4442,11 @@ static void sigill_action(siginfo_t *info, ucontext_t* uc) noexcept { reraise_signal(SIGILL); } +static void sigfpe_action(siginfo_t *info, ucontext_t* uc) noexcept { + print_with_backtrace("Floating point exception"); + reraise_signal(SIGFPE); +} + // We don't need to handle SIGSEGV when asan is enabled. #ifdef SEASTAR_ASAN_ENABLED template<> @@ -4627,6 +4632,7 @@ void smp::configure(const smp_options& smp_opts, const reactor_options& reactor_ install_oneshot_signal_handler(); install_oneshot_signal_handler(); install_oneshot_signal_handler(); + install_oneshot_signal_handler(); #ifdef SEASTAR_HAVE_DPDK const auto* native_stack = dynamic_cast(reactor_opts.network_stack.get_selected_candidate_opts());