Can not start Java app using 20.4.0.17 Other Java agent

book

Article ID: 193540

calendar_today

Updated On:

Products

CA Application Performance Management SaaS

Issue/Introduction

I am attempting to install the version 20.4.0.17 "Other Java Agent" on a Windows JAVA agent server.

The JVM is not starting and giving this error:
2020-06-08  13:08:36,948 === XEngine Server start up is configured. Time: 1344 ms ===
2020-06-08  13:08:37,979 Starting background process...
2020-06-08  13:08:38,323 FATAL ERROR in native method: processing of -javaagent failed, appending to system class path failed
2020-06-08  13:08:38,323 System class loader does not define the appendToClassPathForInstrumentation method
2020-06-08  13:08:38,323 Unable to add d:\wily\Agent.jar to system class path - the system class loader does not define the appendToClassPathForInstrumentation method or the method failed

Here is the JVM command line option for the agent.
-javaagent:d:\wily\agent.jar
-Dcom.wily.introscope.agentProfile=d:\wily\releases\20.4\core\config\IntroscopeAgent.profile
-Dcom.wily.introscope.agent.agentName=${XESProfileName}

The Windows JAVA agent is using "jdk-11.0.7"

Environment

Release : APM SAAS

Component : APM Agents

Resolution

The vendor (Edifecs) is adding the required classes to their classloader to enable the monitor to work with the APM agent. We tested it on one of their instances and it the application started with the -javaagent installed and we were able to see metrics.


Additional Information

Please check with the app development if their XESClassLoader implementation would already include a definition for appendToClassPathForInstrumentation method per JDK 11 docs https://docs.oracle.com/en/java/javase/11/docs/api/java.instrument/java/lang/instrument/package-summary.html

"If a custom system class loader is configured (by means of the system property java.system.class.loader as specified in the getSystemClassLoader method) then it must define the appendToClassPathForInstrumentation method as specified in appendToSystemClassLoaderSearch. In other words, a custom system class loader must support the mechanism to add an agent JAR file to the system class loader search."