# HG changeset patch # User bpittore # Date 1389230596 18000 # Node ID ffae627760ca6d05b22fa9a588fee0aece3aad01 # Parent d68158e12cea4ae415460ff8d9610285ef2634c4 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 diff -r d68158e12cea -r ffae627760ca src/share/vm/services/management.cpp --- a/src/share/vm/services/management.cpp Wed Mar 11 13:36:57 2015 -0700 +++ b/src/share/vm/services/management.cpp Wed Jan 08 20:23:16 2014 -0500 @@ -155,11 +155,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);