8250637: UseOSErrorReporting times out (on Mac and Linux)

Reviewed-by: stuefe, dholmes
This commit is contained in:
Gerard Ziemski 2020-11-05 16:15:27 +00:00
parent 31918c55f3
commit ba2ff3a6d2
7 changed files with 15 additions and 18 deletions

View File

@ -88,7 +88,6 @@
// Use Use64KPages or Use16MPages instead.
define_pd_global(bool, UseLargePages, false);
define_pd_global(bool, UseLargePagesIndividualAllocation, false);
define_pd_global(bool, UseOSErrorReporting, false);
define_pd_global(bool, UseThreadPriorities, true) ;
#endif // OS_AIX_GLOBALS_AIX_HPP

View File

@ -44,7 +44,6 @@
//
define_pd_global(bool, UseLargePages, false);
define_pd_global(bool, UseLargePagesIndividualAllocation, false);
define_pd_global(bool, UseOSErrorReporting, false);
define_pd_global(bool, UseThreadPriorities, true) ;
#endif // OS_BSD_GLOBALS_BSD_HPP

View File

@ -92,7 +92,6 @@
//
define_pd_global(bool, UseLargePages, false);
define_pd_global(bool, UseLargePagesIndividualAllocation, false);
define_pd_global(bool, UseOSErrorReporting, false);
define_pd_global(bool, UseThreadPriorities, true) ;
#endif // OS_LINUX_GLOBALS_LINUX_HPP

View File

@ -28,24 +28,25 @@
//
// Declare Windows specific flags. They are not available on other platforms.
//
#define RUNTIME_OS_FLAGS(develop, \
develop_pd, \
product, \
product_pd, \
notproduct, \
range, \
constraint)
#define RUNTIME_OS_FLAGS(develop, \
develop_pd, \
product, \
product_pd, \
notproduct, \
range, \
constraint) \
\
product(bool, UseOSErrorReporting, false, \
"Let VM fatal error propagate to the OS (ie. WER on Windows)")
// end of RUNTIME_OS_FLAGS
//
// Defines Windows-specific default values. The flags are available on all
// platforms, but they may have different default values on other platforms.
//
define_pd_global(bool, UseLargePages, false);
define_pd_global(bool, UseLargePagesIndividualAllocation, true);
define_pd_global(bool, UseOSErrorReporting, false); // for now.
define_pd_global(bool, UseThreadPriorities, true) ;
#endif // OS_WINDOWS_GLOBALS_WINDOWS_HPP

View File

@ -2354,7 +2354,7 @@ static inline void report_error(Thread* t, DWORD exception_code,
address addr, void* siginfo, void* context) {
VMError::report_and_die(t, exception_code, addr, siginfo, context);
// If UseOsErrorReporting, this will return here and save the error file
// If UseOSErrorReporting, this will return here and save the error file
// somewhere where we can find it in the minidump.
}

View File

@ -532,9 +532,6 @@ const intx ObjectAlignmentInBytes = 8;
"error log in case of a crash.") \
range(0, (uint64_t)max_jlong/1000) \
\
product_pd(bool, UseOSErrorReporting, \
"Let VM fatal error propagate to the OS (ie. WER on Windows)") \
\
product(bool, SuppressFatalErrorMessage, false, \
"Report NO fatal error message (avoid deadlock)") \
\

View File

@ -1420,10 +1420,12 @@ void VMError::report_and_die(int id, const char* message, const char* detail_fmt
// are handled properly.
reset_signal_handlers();
} else {
// If UseOsErrorReporting we call this for each level of the call stack
#if defined(_WINDOWS)
// If UseOSErrorReporting we call this for each level of the call stack
// while searching for the exception handler. Only the first level needs
// to be reported.
if (UseOSErrorReporting && log_done) return;
#endif
// This is not the first error, see if it happened in a different thread
// or in the same thread during error reporting.
@ -1613,7 +1615,7 @@ void VMError::report_and_die(int id, const char* message, const char* detail_fmt
OnError = NULL;
}
if (!UseOSErrorReporting) {
if (WINDOWS_ONLY(!UseOSErrorReporting) NOT_WINDOWS(true)) {
// os::abort() will call abort hooks, try it first.
static bool skip_os_abort = false;
if (!skip_os_abort) {