UMA Agent Liberty Server - java.lang.NoClassDefFoundError: com.wily.introscope.agent.AgentShim
search cancel

UMA Agent Liberty Server - java.lang.NoClassDefFoundError: com.wily.introscope.agent.AgentShim

book

Article ID: 199707

calendar_today

Updated On:

Products

CA Application Performance Management SaaS

Issue/Introduction

Experiencing issues with the UMA Auto-Attach features,  specifically related to containers that are running an OpenLiberty application server. 
 
On one particular pod we noticed that the UMA agent is causing the container to crash frequently.   
 
CA APM: Initiated Java Agent
CA APM: Adding Transformer

[err] Exception in thread "Default Executor-thread-12"
[err] Exception in thread "Default Executor-thread-6"
[err] java.lang.NoClassDefFoundError: com.wily.introscope.agent.AgentShim
[err] java.lang.NoClassDefFoundError: com/wily/introscope/agent/AgentShim
[err]   at com.ibm.ws.threading.internal.ExecutorServiceImpl$RunnableWrapper.run(ExecutorServiceImpl.java)
[err] Exception in thread "Default Executor-thread-10"
[err] Exception in thread "Default Executor-thread-11"
[err] Exception in thread "Default Executor-thread-18"
[err] java.lang.NoClassDefFoundError: com/wily/introscope/agent/AgentShim
[err]   at com.ibm.ws.threading.internal.ExecutorServiceImpl$RunnableWrapper.run(ExecutorServiceImpl.java)
[err]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[err]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[err] java.lang.NoClassDefFoundError: com/wily/introscope/agent/AgentShim
[err] java.lang.NoClassDefFoundError: com/wily/introscope/agent/AgentShim
[err]   at java.lang.Thread.run(Thread.java:823)
[err]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[err]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[err]   at java.lang.Thread.run(Thread.java:823)
[err] Caused by:
[err] java.lang.ClassNotFoundException: com.wily.introscope.agent.AgentShim cannot be found by com.ibm.ws.threading_1.1.44.cl200920200820-0913
[err]   at com.ibm.ws.threading.internal.ExecutorServiceImpl$RunnableWrapper.run(ExecutorServiceImpl.java)
[err]   at com.ibm.ws.threading.internal.ExecutorServiceImpl$RunnableWrapper.run(ExecutorServiceImpl.java)
[err]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[err]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[err]   at java.lang.Thread.run(Thread.java:823)
[err]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[err]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[err]   at java.lang.Thread.run(Thread.java:823)
[err]   at com.ibm.ws.threading.internal.ExecutorServiceImpl$RunnableWrapper.run(ExecutorServiceImpl.java)
[err]   at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:516)
[err]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[err]   at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:171)
[err]   at java.lang.ClassLoader.loadClass(ClassLoader.java:881)
[err]   ... 4 more
[err]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[err]   at java.lang.Thread.run(Thread.java:823)
[err] Exception in thread "Executor Service Control Timer"
[err] java.lang.NoClassDefFoundError: com.wily.introscope.agent.AgentShim
[err]   at com.ibm.ws.threading.internal.IntervalTask.run(ThreadPoolController.java)
[err]   at java.util.TimerThread.mainLoop(Timer.java:555)
[err]   at java.util.TimerThread.run(Timer.java:505)
[err] Caused by:
[err] java.lang.ClassNotFoundException: com.wily.introscope.agent.AgentShim cannot be found by com.ibm.ws.threading_1.1.44.cl200920200820-0913
[err]   at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:516)
[err]   at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:171)
[err]   at java.lang.ClassLoader.loadClass(ClassLoader.java:881)
[err]   ... 3 more
We are wondering if perhaps UMA isn’t applying the necessary JVM arguments for Open Liberty instances?

Environment

  • Release: SAAS
  • Component: UMA version is 20.6.0.28

Cause

Per Engineering, it is  a known issue that WAS Liberty needs the bootdelegation option to instrument properly, which our AutoAttach probably missed:

-Dorg.osgi.framework.bootdelegation=com.wily.*

Resolution

- It's already planned to add support for Liberty in the future.

- Workaround currently available is to add the needed option to the container directly.

Currently, you have to pass boot delegation as jvm arg to docker container.

For example:

docker run --name wlp -h wlp --rm -p 9085:9085 -e JVM_ARGS='-Dorg.osgi.framework.bootdelegation=com.wily.*,ibm.*,com.ibm.*’ your_wlp_image