yjpagent.dll wih Websphere JVM

Questions about YourKit Java Profiler
Post Reply
Stefan
Posts: 2
Joined: Thu Jan 29, 2015 8:05 pm

yjpagent.dll wih Websphere JVM

Post by Stefan »

I am new to the product but so far, excellent first impression.
I am trying to run with an old Websphere App Server version: 6.1 (dont ask!).
After trying latest YourKit version i noticed that JDK 1.5 is no longer supported and i downloaded last version supporting JDK 1.5, where WAS 6.1 is present in J2EE servers integration list.
After switching server.xml server starts fine i can connect the agent but my Web app deployed on WAS 6.1 ends up in a ClassNotFound exception for a Java class!
I checked the classpath of server when agent is configured and is identical with the one "without" which works fine!
The only change that makes the error appear is this config in server.xml:
-agentpath:C:\PROGRA~2\YOURKI~1.30\bin\win32\yjpagent.dll

And here is the resulting error:
Caused by: java.lang.ClassNotFoundException: java.util.ServiceLoader

Any hints if I need another version in order to profile WAS 6.1?
thanks,
Stefan
Anton Katilin
Posts: 6172
Joined: Wed Aug 11, 2004 8:37 am

Re: yjpagent.dll wih Websphere JVM

Post by Anton Katilin »

Hi Stefan

Indeed, WAS 6.1 runs on Java 5 and the latest YourKit version supporting Java 5 is YourKit Java Profiler 8.0 which is now unsupported.

I can only suggest the following:

- Try to specify the agent startup option "disableall" to disable all optional profiling capabilities. If it helps you may try to choose a subset of other less strict "disable*" options.

- What is the full exception stack trace? If the issue is related with OSGi restricting class loading, try to add com.yourkit.* to the list of allowed classes. Please refer to OSGi docs on how to do this.

Best regards,
Anton
Stefan
Posts: 2
Joined: Thu Jan 29, 2015 8:05 pm

Re: yjpagent.dll wih Websphere JVM

Post by Stefan »

thanks Anton, before i try the other options, complete stack trace:

[29/01/15 13:50:31:352 EST] 0000000a WsServerImpl A WSVR0001I: Server server1 open for e-business
[29/01/15 13:50:36:700 EST] 00000021 WebApp A SRVE0180I: [MyWebAppServiceEAR-5.2.0#MyWebAppWeb-5.2.0.war] [/MyWebAppWeb] [Servlet.LOG]: Initializing Spring FrameworkServlet 'CustomerMyApp'
[29/01/15 13:50:36:701 EST] 00000021 DispatcherSer I org.springframework.web.servlet.FrameworkServlet initServletBean FrameworkServlet 'CustomerMyApp': initialization started
[29/01/15 13:50:36:702 EST] 00000021 DispatcherSer E org.springframework.web.servlet.FrameworkServlet initServletBean Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.validation.beanvalidation.LocalValidatorFactoryBean#0': Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: java.util.ServiceLoader
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1488)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
at com.ibm.ws.wswebcontainer.webapp.WebApp.notifyServletContextCreated(WebApp.java:917)
at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinish(WebApp.java:386)
at com.ibm.ws.wswebcontainer.webapp.WebApp.initialize(WebApp.java:338)
at com.ibm.ws.wswebcontainer.webapp.WebGroup.addWebApplication(WebGroup.java:93)
at com.ibm.ws.wswebcontainer.VirtualHost.addWebApplication(VirtualHost.java:162)
at com.ibm.ws.wswebcontainer.WebContainer.addWebApp(WebContainer.java:673)
at com.ibm.ws.wswebcontainer.WebContainer.addWebApplication(WebContainer.java:626)
at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:395)
at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:611)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1274)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1164)
at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:591)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:831)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:945)
at com.ibm.ws.runtime.component.ApplicationMgrImpl$AppInitializer.run(ApplicationMgrImpl.java:2120)
at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:342)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1595)
Caused by: java.lang.NoClassDefFoundError: java.util.ServiceLoader
at javax.validation.Validation$GetValidationProviderListAction.loadProviders(Validation.java:351)
at javax.validation.Validation$GetValidationProviderListAction.run(Validation.java:329)
at javax.validation.Validation$GetValidationProviderListAction.getValidationProviderList(Validation.java:316)
at javax.validation.Validation$DefaultValidationProviderResolver.getValidationProviders(Validation.java:299)
at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:257)
at org.springframework.validation.beanvalidation.LocalValidatorFactoryBean.afterPropertiesSet(LocalValidatorFactoryBean.java:182)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485)
... 29 more
Caused by: java.lang.ClassNotFoundException: java.util.ServiceLoader
at com.ibm.ws.classloader.CompoundClassLoader.findClass(CompoundClassLoader.java:607)
Anton Katilin
Posts: 6172
Joined: Wed Aug 11, 2004 8:37 am

Re: yjpagent.dll wih Websphere JVM

Post by Anton Katilin »

I don't see any YourKit code in the stack, and it's unclear what went wrong in particular.

At the moment I have no better recommendation than to try the "disable*" options as I earlier suggested.
Post Reply