8027914: Client JVM silently exit with fail exit code when running in compact(1,2) with options -Dcom.sun.management and -XX:+ManagementServer
authorbpittore
Wed, 08 Jan 2014 20:23:16 -0500
changeset 23476 78871f5c479b
parent 22173 f130ca87de66
child 23477 6c2348280d09
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
hotspot/src/share/vm/services/management.cpp
--- 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);