8027914: Client JVM silently exit with fail exit code when running in compact(1,2) with options -Dcom.sun.management and -XX:+ManagementServer
Summary: Check for sun.management.Agent class and print message and exit VM if not found at startup.
Reviewed-by: dholmes, mchung
--- a/hotspot/src/share/vm/services/management.cpp Wed Jul 05 19:26:54 2017 +0200
+++ b/hotspot/src/share/vm/services/management.cpp Wed Jan 08 20:23:16 2014 -0500
@@ -152,11 +152,14 @@
// Load and initialize the sun.management.Agent class
// invoke startAgent method to start the management server
Handle loader = Handle(THREAD, SystemDictionary::java_system_loader());
- Klass* k = SystemDictionary::resolve_or_fail(vmSymbols::sun_management_Agent(),
+ Klass* k = SystemDictionary::resolve_or_null(vmSymbols::sun_management_Agent(),
loader,
Handle(),
- true,
- CHECK);
+ THREAD);
+ if (k == NULL) {
+ vm_exit_during_initialization("Management agent initialization failure: "
+ "class sun.management.Agent not found.");
+ }
instanceKlassHandle ik (THREAD, k);
JavaValue result(T_VOID);