From 89de8c271c279c9b39bd3b85770d43375314be85 Mon Sep 17 00:00:00 2001 From: Aleksey Shipilev Date: Mon, 2 Nov 2020 11:14:03 +0100 Subject: [PATCH 1/2] 8255741: Zero: print signal name in unhandled signal handler --- src/hotspot/os_cpu/linux_zero/os_linux_zero.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/hotspot/os_cpu/linux_zero/os_linux_zero.cpp b/src/hotspot/os_cpu/linux_zero/os_linux_zero.cpp index bbacc5f0029eb..982e085558923 100644 --- a/src/hotspot/os_cpu/linux_zero/os_linux_zero.cpp +++ b/src/hotspot/os_cpu/linux_zero/os_linux_zero.cpp @@ -240,9 +240,16 @@ JVM_handle_linux_signal(int sig, } #endif // !PRODUCT - char buf[64]; - - sprintf(buf, "caught unhandled signal %d", sig); + char buf[128]; + char exc_buf[32]; + + if (os::exception_name(sig, exc_buf, sizeof(exc_buf))) { + snprintf(buf, sizeof(buf), "caught unhandled signal: %s %s", + exc_buf, + (info != NULL && os::signal_sent_by_kill(info)) ? "(sent by kill)" : ""); + } else { + snprintf(buf, sizeof(buf), "caught unhandled signal: %d", sig); + } // Silence -Wformat-security warning for fatal() PRAGMA_DIAG_PUSH From 3356bd3f5f5a956c4a9af82c8b507cf3e80f1f81 Mon Sep 17 00:00:00 2001 From: Aleksey Shipilev Date: Mon, 2 Nov 2020 18:59:00 +0100 Subject: [PATCH 2/2] Minor stylistic change --- src/hotspot/os_cpu/linux_zero/os_linux_zero.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/hotspot/os_cpu/linux_zero/os_linux_zero.cpp b/src/hotspot/os_cpu/linux_zero/os_linux_zero.cpp index 982e085558923..8f2c8b8bc162f 100644 --- a/src/hotspot/os_cpu/linux_zero/os_linux_zero.cpp +++ b/src/hotspot/os_cpu/linux_zero/os_linux_zero.cpp @@ -244,9 +244,9 @@ JVM_handle_linux_signal(int sig, char exc_buf[32]; if (os::exception_name(sig, exc_buf, sizeof(exc_buf))) { + bool sent_by_kill = (info != NULL && os::signal_sent_by_kill(info)); snprintf(buf, sizeof(buf), "caught unhandled signal: %s %s", - exc_buf, - (info != NULL && os::signal_sent_by_kill(info)) ? "(sent by kill)" : ""); + exc_buf, sent_by_kill ? "(sent by kill)" : ""); } else { snprintf(buf, sizeof(buf), "caught unhandled signal: %d", sig); }