I the server log I see this for some classes:
Any idea what I may be doing wrong?
16:02:43,886 ERROR [stderr] (MSC service thread 1-4) java.lang.instrument.IllegalClassFormatException: Error while instrumenting class org/rhq/enterprise/server/rest/ResourceHandlerBean$$$view46.
16:02:43,887 ERROR [stderr] (MSC service thread 1-4) at org.jacoco.agent.rt.internal_5d10cad.CoverageTransformer.transform(CoverageTransformer.java:91)
16:02:43,887 ERROR [stderr] (MSC service thread 1-4) at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
16:02:43,888 ERROR [stderr] (MSC service thread 1-4) at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)
16:02:43,888 ERROR [stderr] (MSC service thread 1-4) at java.lang.ClassLoader.defineClass1(Native Method)
16:02:43,888 ERROR [stderr] (MSC service thread 1-4) at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
16:02:43,889 ERROR [stderr] (MSC service thread 1-4) at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
16:02:43,889 ERROR [stderr] (MSC service thread 1-4) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
16:02:43,889 ERROR [stderr] (MSC service thread 1-4) at java.lang.reflect.Method.invoke(Method.java:601)
16:02:43,890 ERROR [stderr] (MSC service thread 1-4) at org.jboss.classfilewriter.ClassFile.define(ClassFile.java:275)
16:02:43,890 ERROR [stderr] (MSC service thread 1-4) at org.jboss.invocation.proxy.AbstractClassFactory.defineClass(AbstractClassFactory.java:164)
16:02:43,901 ERROR [stderr] (MSC service thread 1-4) at org.jboss.invocation.proxy.AbstractProxyFactory.getCachedMethods(AbstractProxyFactory.java:145)
16:02:43,902 ERROR [stderr] (MSC service thread 1-4) at org.jboss.as.ejb3.component.stateless.StatelessComponentDescription$3.configure(StatelessComponentDescription.java:138)
16:02:43,903 ERROR [stderr] (MSC service thread 1-4) at org.jboss.as.ee.component.ComponentDescription$DefaultComponentConfigurator.configure(ComponentDescription.java:921)
16:02:43,903 ERROR [stderr] (MSC service thread 1-4) at org.jboss.as.ee.component.deployers.EEModuleConfigurationProcessor.deploy(EEModuleConfigurationProcessor.java:81)
16:02:43,904 ERROR [stderr] (MSC service thread 1-4) at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113)
16:02:43,906 ERROR [stderr] (MSC service thread 1-4) at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
16:02:43,906 ERROR [stderr] (MSC service thread 1-4) at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
16:02:43,907 ERROR [stderr] (MSC service thread 1-4) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
16:02:43,907 ERROR [stderr] (MSC service thread 1-4) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
16:02:43,908 ERROR [stderr] (MSC service thread 1-4) at java.lang.Thread.run(Thread.java:722)
16:02:43,908 ERROR [stderr] (MSC service thread 1-4) Caused by: java.lang.ArrayIndexOutOfBoundsException
sorry - stupid me
I am using the jacoco-0.6.2.201302030002 version with
java version "1.7.0_15"
Java(TM) SE Runtime Environment (build 1.7.0_15-b03)
Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)
on OS/X with a JbossAS 7.1.1 server
21:51:53,230 ERROR [stderr] (MSC service thread 1-3) java.lang.instrument.IllegalClassFormatException: Error while instrumenting class org/rhq/enterprise/server/rest/ReportsHandlerBean$$$view26.
21:51:53,232 ERROR [stderr] (MSC service thread 1-3) at org.jacoco.agent.rt.internal_5d10cad.CoverageTransformer.transform(CoverageTransformer.java:91)
21:51:53,234 ERROR [stderr] (MSC service thread 1-3) at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
21:51:53,242 ERROR [stderr] (MSC service thread 1-3) at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)
21:51:53,242 ERROR [stderr] (MSC service thread 1-3) at java.lang.ClassLoader.defineClass1(Native Method)
21:51:53,243 ERROR [stderr] (MSC service thread 1-3) at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
21:51:53,243 ERROR [stderr] (MSC service thread 1-3) at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
21:51:53,244 ERROR [stderr] (MSC service thread 1-3) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
21:51:53,244 ERROR [stderr] (MSC service thread 1-3) at java.lang.reflect.Method.invoke(Method.java:601)
21:51:53,245 ERROR [stderr] (MSC service thread 1-3) at org.jboss.classfilewriter.ClassFile.define(ClassFile.java:275)
21:51:53,245 ERROR [stderr] (MSC service thread 1-3) at org.jboss.invocation.proxy.AbstractClassFactory.defineClass(AbstractClassFactory.java:164)
21:51:53,246 ERROR [stderr] (MSC service thread 1-3) at org.jboss.invocation.proxy.AbstractProxyFactory.getCachedMethods(AbstractProxyFactory.java:145)
21:51:53,246 ERROR [stderr] (MSC service thread 1-3) at org.jboss.as.ejb3.component.stateless.StatelessComponentDescription$3.configure(StatelessComponentDescription.java:138)
21:51:53,247 ERROR [stderr] (MSC service thread 1-3) at org.jboss.as.ee.component.ComponentDescription$DefaultComponentConfigurator.configure(ComponentDescription.java:921)
21:51:53,248 ERROR [stderr] (MSC service thread 1-3) at org.jboss.as.ee.component.deployers.EEModuleConfigurationProcessor.deploy(EEModuleConfigurationProcessor.java:81)
21:51:53,258 ERROR [stderr] (MSC service thread 1-3) at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113)
21:51:53,259 ERROR [stderr] (MSC service thread 1-3) at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
21:51:53,261 ERROR [stderr] (MSC service thread 1-3) at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
21:51:53,262 ERROR [stderr] (MSC service thread 1-3) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
21:51:53,262 ERROR [stderr] (MSC service thread 1-3) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
21:51:53,263 ERROR [stderr] (MSC service thread 1-3) at java.lang.Thread.run(Thread.java:722)
21:51:53,263 ERROR [stderr] (MSC service thread 1-3) Caused by: java.lang.ArrayIndexOutOfBoundsException: 183
21:51:53,264 ERROR [stderr] (MSC service thread 1-3) at org.jacoco.agent.rt.internal_5d10cad.asm.ClassReader.a(Unknown Source)
21:51:53,264 ERROR [stderr] (MSC service thread 1-3) at org.jacoco.agent.rt.internal_5d10cad.asm.ClassReader.readUTF8(Unknown Source)
21:51:53,264 ERROR [stderr] (MSC service thread 1-3) at org.jacoco.agent.rt.internal_5d10cad.asm.ClassReader.accept(Unknown Source)
21:51:53,265 ERROR [stderr] (MSC service thread 1-3) at org.jacoco.agent.rt.internal_5d10cad.asm.ClassReader.accept(Unknown Source)
21:51:53,266 ERROR [stderr] (MSC service thread 1-3) at org.jacoco.agent.rt.internal_5d10cad.core.instr.Instrumenter.instrument(Instrumenter.java:74)
21:51:53,266 ERROR [stderr] (MSC service thread 1-3) at org.jacoco.agent.rt.internal_5d10cad.core.instr.Instrumenter.instrument(Instrumenter.java:87)
21:51:53,267 ERROR [stderr] (MSC service thread 1-3) at org.jacoco.agent.rt.internal_5d10cad.CoverageTransformer.transform(CoverageTransformer.java:89)
21:51:53,267 ERROR [stderr] (MSC service thread 1-3) ... 19 more
Looks like dynamically created -- probably the "local interface" of an EJB, as the
source class uses only @Stateless and thus making this a no-interface EJB.
> file is dynamically created you might specify the classdumpdir option of
As I don't know if it is possible to attach files here, I've zipped up the relevant package
and put into dropbox at https://dl.dropbox.com/u/21627069/rest.zip
Thanks
Heiko
Thanks
Do you have an idea on how long ASM usually takes to fix those issues and release a newer version?
Heiko
Good idea.
Do those need "escapes" or such?
I have includes=org.rhq.server.rest.*,excludes=*.$$$* as arguments to the agent, but that seems to produce no output at all
Thanks
Heiko
As java agent directly on the running server like this:
RHQ_SERVER_ADDITIONAL_JAVA_OPTS="$RHQ_SERVER_ADDITIONAL_JAVA_OPTS -XX:-UseSplitVerifier -javaagent:/Users/hrupp/downloads/jacoco/lib/jacocoagent.jar=dumponexit=true,output=file,destfile=/im/rhq/rest-api-jacoco.exec,includes=org.rhq.server.rest.*,excludes=*.$$$*"
With all the testing / trying / fiddling I finally selected the wrong package name for inclusion, which explains the empty output.
Time for weekend :)
<jacoco:agent property="agentvmparam" destfile="target/jacoco.exec" excludes="com/aepona/tws/aoc/*"
java.lang.instrument.IllegalClassFormatException: Error while instrumenting class com/aepona/tws/aoc/AdditionalInfo.
[junit] at org.jacoco.agent.rt.internal_51ffc39.CoverageTransformer.transform(CoverageTransformer.java:89)
[junit] at sun.instrument.TransformerManager.transform(TransformerManager.java:169)
[junit] at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:365)
[junit] at java.lang.ClassLoader.defineClass1(Native Method)
[junit] at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
[junit] at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
[junit] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
[junit] at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
[junit] at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
[junit] at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
[junit] at java.security.AccessController.doPrivileged(Native Method)
[junit] at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
[junit] at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
[junit] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
[junit] at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
[junit] at java.lang.Class.getDeclaredMethods0(Native Method)
[junit] at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
[junit] at java.lang.Class.getDeclaredMethods(Class.java:1791)
[junit] at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findPersistenceMetadata(PersistenceAnnotationBeanPostProcessor.java:384)
[junit] at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(PersistenceAnnotationBeanPostProcessor.java:322)
[junit] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:844)
[junit] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:498)
[junit] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)
[junit] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
[junit] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
[junit] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
[junit] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
[junit] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:607)
[junit] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)
[junit] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
[junit] at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:106)
[junit] at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:57)
[junit] at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.delegateLoading(AbstractDelegatingSmartContextLoader.java:100)
[junit] at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.loadContext(AbstractDelegatingSmartContextLoader.java:248)
[junit] at org.springframework.test.context.TestContext.loadApplicationContext(TestContext.java:124)
[junit] at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:148)
[junit] at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:109)
[junit] at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:75)
[junit] at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:313)
[junit] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:211)
[junit] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:288)
[junit] at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
[junit] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:284)
[junit] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:231)
[junit] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:88)
[junit] at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
[junit] at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
[junit] at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
[junit] at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
[junit] at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
[junit] at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
[junit] at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71)
[junit] at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
[junit] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:174)
[junit] at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39)
[junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:422)
[junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:931)
[junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:758)
[junit] Caused by: java.io.IOException: Error while instrumenting class com/aepona/tws/aoc/AdditionalInfo.
[junit] at org.jacoco.agent.rt.internal_51ffc39.core.instr.Instrumenter.instrumentError(Instrumenter.java:147)
[junit] at org.jacoco.agent.rt.internal_51ffc39.core.instr.Instrumenter.instrument(Instrumenter.java:98)
[junit] at org.jacoco.agent.rt.internal_51ffc39.CoverageTransformer.transform(CoverageTransformer.java:87)
[junit] ... 57 more
[junit] Caused by: java.lang.IllegalStateException: Missing or invalid stackmap frames.
[junit] at org.jacoco.agent.rt.internal_51ffc39.core.internal.instr.FrameTracker.get(FrameTracker.java:663)
[junit] at org.jacoco.agent.rt.internal_51ffc39.core.internal.instr.FrameTracker.visitVarInsn(FrameTracker.java:367)
[junit] at org.jacoco.agent.rt.internal_51ffc39.asm.MethodVisitor.visitVarInsn(Unknown Source)
[junit] at org.jacoco.agent.rt.internal_51ffc39.asm.MethodVisitor.visitVarInsn(Unknown Source)
[junit] at org.jacoco.agent.rt.internal_51ffc39.asm.tree.VarInsnNode.accept(Unknown Source)
[junit] at org.jacoco.agent.rt.internal_51ffc39.asm.tree.InsnList.accept(Unknown Source)
[junit] at org.jacoco.agent.rt.internal_51ffc39.asm.tree.MethodNode.accept(Unknown Source)
[junit] at org.jacoco.agent.rt.internal_51ffc39.core.internal.flow.ClassProbesAdapter$1.visitEnd(ClassProbesAdapter.java:124)
[junit] at org.jacoco.agent.rt.internal_51ffc39.asm.ClassReader.b(Unknown Source)
[junit] at org.jacoco.agent.rt.internal_51ffc39.asm.ClassReader.accept(Unknown Source)
[junit] at org.jacoco.agent.rt.internal_51ffc39.asm.ClassReader.accept(Unknown Source)
[junit] at org.jacoco.agent.rt.internal_51ffc39.core.instr.Instrumenter.instrument(Instrumenter.java:78)
[junit] at org.jacoco.agent.rt.internal_51ffc39.core.instr.Instrumenter.instrument(Instrumenter.java:96)
[junit] ... 58 more
did you report a bug to JBoss for this? I have the same problem here...