diff --git a/src/hotspot/share/utilities/vmError.cpp b/src/hotspot/share/utilities/vmError.cpp index 156a0fd2ec6..656fe9403fe 100644 --- a/src/hotspot/share/utilities/vmError.cpp +++ b/src/hotspot/share/utilities/vmError.cpp @@ -2082,8 +2082,13 @@ bool VMError::check_timeout() { #ifdef ASSERT typedef void (*voidfun_t)(); -// Crash with an authentic sigfpe +// Crash with an authentic sigfpe; behavior is subtly different from a real signal +// compared to one generated with raise (asynchronous vs synchronous). See JDK-8065895. volatile int sigfpe_int = 0; + +#if defined(__clang__) || defined(__GNUC__) +__attribute__((no_sanitize("undefined"))) +#endif static void ALWAYSINLINE crash_with_sigfpe() { // generate a native synchronous SIGFPE where possible;