When I run the following:
ant
-Dderby.junit.testclass=org.apache.derbyTesting.functionTests.tests.upgradeTests._Suite
jacoco-junit-single
I get an internal exception thrown out of the JaCoCo dynamic
instrumentation runtime (see below).
Does this occur for anyone else? Do you think this indicates a bug
in JaCoCo (I tried using the latest JaCoCo download from the Eclipse
web site).
thanks,
bryan
=================================================================================
Buildfile: C:\Users\Bryan\derby\trunk\build.xml
jacoco-enable:
junit-init-nocp:
[mkdir] Created dir:
C:\Users\Bryan\derby\trunk\junit_20130705_1948\testout
junit-init:
emit-junit-classpath-jars:
[echo] Running with jars: C:\Users\Bryan\derby\trunk/jars/sane
[echo] CLASSPATH (environment variable): ${env.CLASSPATH}
emit-junit-classpath:
junit-single:
[junit] Running
org.apache.derbyTesting.functionTests.tests.upgradeTests._Suite
[junit] java.lang.instrument.IllegalClassFormatException: Error
while instrumenting class
org/apache/derby/impl/store/access/btree/BTreeController.
[junit] at
org.jacoco.agent.rt.internal_9dd1198.CoverageTransformer.transform(CoverageTransformer.java:89)
[junit] at
sun.instrument.TransformerManager.transform(TransformerManager.java:188)
[junit] at
sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)
[junit] at java.lang.ClassLoader.defineClass1(Native Method)
[junit] at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
[junit] at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
[junit] at
java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
[junit] at
java.net.URLClassLoader.access$100(URLClassLoader.java:71)
[junit] at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
[junit] at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
[junit] at java.security.AccessController.doPrivileged(Native
Method)
[junit] at
java.net.URLClassLoader.findClass(URLClassLoader.java:354)
[junit] at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
[junit] at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
[junit] at
org.apache.derby.impl.store.access.btree.index.B2IFactory.createConglomerate(B2IFactory.java)
[junit] at
org.apache.derby.impl.store.access.RAMTransaction.createConglomerate(RAMTransaction.java)
[junit] at
org.apache.derby.impl.sql.catalog.DataDictionaryImpl.bootstrapOneIndex(DataDictionaryImpl.java)
[junit] at
org.apache.derby.impl.sql.catalog.DataDictionaryImpl.bootStrapSystemIndexes(DataDictionaryImpl.java)
[junit] at
org.apache.derby.impl.sql.catalog.DataDictionaryImpl.createDictionaryTables(DataDictionaryImpl.java)
[junit] at
org.apache.derby.impl.sql.catalog.DataDictionaryImpl.boot(DataDictionaryImpl.java)
[junit] at
org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java)
[junit] at
org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java)
[junit] at
org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java)
[junit] at
org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java)
[junit] at
org.apache.derby.impl.sql.conn.GenericLanguageConnectionFactory.bootDataDictionary(GenericLanguageConnectionFactory.java)
[junit] at
org.apache.derby.impl.sql.conn.GenericLanguageConnectionFactory.boot(GenericLanguageConnectionFactory.java)
[junit] at
org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java)
[junit] at
org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java)
[junit] at
org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java)
[junit] at
org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java)
[junit] at
org.apache.derby.impl.db.BasicDatabase.boot(BasicDatabase.java)
[junit] at
org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java)
[junit] at
org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java)
[junit] at
org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java)
[junit] at
org.apache.derby.impl.services.monitor.BaseMonitor.createPersistentService(BaseMonitor.java)
[junit] at
org.apache.derby.iapi.services.monitor.Monitor.createPersistentService(Monitor.java)
[junit] at
org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(EmbedConnection.java)
[junit] at
org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java)
[junit] at
org.apache.derby.impl.jdbc.EmbedConnection20.<init>(EmbedConnection20.java)
[junit] at
org.apache.derby.impl.jdbc.EmbedConnection30.<init>(EmbedConnection30.java)
[junit] at
org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Driver30.java)
[junit] at org.apache.derby.jdbc.Driver169.connect(Driver169.java)
[junit] at
org.apache.derby.jdbc.EmbeddedDataSource.getConnection(EmbeddedDataSource.java)
[junit] at
org.apache.derby.jdbc.EmbeddedDataSource.getConnection(EmbeddedDataSource.java)
[junit] at
org.apache.derbyTesting.functionTests.tests.upgradeTests.PhaseChanger.setUp(PhaseChanger.java:117)
[junit] at junit.extensions.TestSetup$1.protect(TestSetup.java:20)
[junit] at
junit.framework.TestResult.runProtected(TestResult.java:124)
[junit] at junit.extensions.TestSetup.run(TestSetup.java:25)
[junit] at
org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
[junit] at
junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
[junit] at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
[junit] at
junit.framework.TestResult.runProtected(TestResult.java:124)
[junit] at junit.extensions.TestSetup.run(TestSetup.java:25)
[junit] at junit.framework.TestSuite.runTest(TestSuite.java:230)
[junit] at junit.framework.TestSuite.run(TestSuite.java:225)
[junit] at
junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
[junit] at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
[junit] at
junit.framework.TestResult.runProtected(TestResult.java:124)
[junit] at junit.extensions.TestSetup.run(TestSetup.java:25)
[junit] at
org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
[junit] at
junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
[junit] at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
[junit] at
junit.framework.TestResult.runProtected(TestResult.java:124)
[junit] at junit.extensions.TestSetup.run(TestSetup.java:25)
[junit] at
junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
[junit] at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
[junit] at
junit.framework.TestResult.runProtected(TestResult.java:124)
[junit] at junit.extensions.TestSetup.run(TestSetup.java:25)
[junit] at
org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
[junit] at
junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
[junit] at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
[junit] at
junit.framework.TestResult.runProtected(TestResult.java:124)
[junit] at junit.extensions.TestSetup.run(TestSetup.java:25)
[junit] at
junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
[junit] at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
[junit] at
junit.framework.TestResult.runProtected(TestResult.java:124)
[junit] at junit.extensions.TestSetup.run(TestSetup.java:25)
[junit] at
org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
[junit] at
junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
[junit] at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
[junit] at
junit.framework.TestResult.runProtected(TestResult.java:124)
[junit] at junit.extensions.TestSetup.run(TestSetup.java:25)
[junit] at
junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
[junit] at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
[junit] at
junit.framework.TestResult.runProtected(TestResult.java:124)
[junit] at junit.extensions.TestSetup.run(TestSetup.java:25)
[junit] at
org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
[junit] at
junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
[junit] at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
[junit] at
junit.framework.TestResult.runProtected(TestResult.java:124)
[junit] at junit.extensions.TestSetup.run(TestSetup.java:25)
[junit] at
junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
[junit] at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
[junit] at
junit.framework.TestResult.runProtected(TestResult.java:124)
[junit] at junit.extensions.TestSetup.run(TestSetup.java:25)
[junit] at
org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
[junit] at
junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
[junit] at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
[junit] at
junit.framework.TestResult.runProtected(TestResult.java:124)
[junit] at junit.extensions.TestSetup.run(TestSetup.java:25)
[junit] at
junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
[junit] at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
[junit] at
junit.framework.TestResult.runProtected(TestResult.java:124)
[junit] at junit.extensions.TestSetup.run(TestSetup.java:25)
[junit] at
org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
[junit] at
junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
[junit] at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
[junit] at
junit.framework.TestResult.runProtected(TestResult.java:124)
[junit] at junit.extensions.TestSetup.run(TestSetup.java:25)
[junit] at
junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
[junit] at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
[junit] at
junit.framework.TestResult.runProtected(TestResult.java:124)
[junit] at junit.extensions.TestSetup.run(TestSetup.java:25)
[junit] at
junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
[junit] at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
[junit] at
junit.framework.TestResult.runProtected(TestResult.java:124)
[junit] at junit.extensions.TestSetup.run(TestSetup.java:25)
[junit] at junit.framework.TestSuite.runTest(TestSuite.java:230)
[junit] at junit.framework.TestSuite.run(TestSuite.java:225)
[junit] at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:523)
[junit] at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1063)
[junit] at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:914)
[junit] Caused by: java.io.IOException: Error while instrumenting
class org/apache/derby/impl/store/access/btree/BTreeController.
[junit] at
org.jacoco.agent.rt.internal_9dd1198.core.instr.Instrumenter.instrumentError(Instrumenter.java:147)
[junit] at
org.jacoco.agent.rt.internal_9dd1198.core.instr.Instrumenter.instrument(Instrumenter.java:98)
[junit] at
org.jacoco.agent.rt.internal_9dd1198.CoverageTransformer.transform(CoverageTransformer.java:87)
[junit] ... 121 more
[junit] Caused by: java.lang.IndexOutOfBoundsException
[junit] at
org.jacoco.agent.rt.internal_9dd1198.asm.tree.InsnList.get(Unknown Source)
[junit] at
org.jacoco.agent.rt.internal_9dd1198.asm.commons.JSRInlinerAdapter.markSubroutineWalkDFS(Unknown
Source)
[junit] at
org.jacoco.agent.rt.internal_9dd1198.asm.commons.JSRInlinerAdapter.markSubroutineWalkDFS(Unknown
Source)
[junit] at
org.jacoco.agent.rt.internal_9dd1198.asm.commons.JSRInlinerAdapter.markSubroutineWalkDFS(Unknown
Source)
[junit] at
org.jacoco.agent.rt.internal_9dd1198.asm.commons.JSRInlinerAdapter.markSubroutineWalkDFS(Unknown
Source)
[junit] at
org.jacoco.agent.rt.internal_9dd1198.asm.commons.JSRInlinerAdapter.markSubroutineWalk(Unknown
Source)
[junit] at
org.jacoco.agent.rt.internal_9dd1198.asm.commons.JSRInlinerAdapter.markSubroutines(Unknown
Source)
[junit] at
org.jacoco.agent.rt.internal_9dd1198.asm.commons.JSRInlinerAdapter.visitEnd(Unknown
Source)
[junit] at
org.jacoco.agent.rt.internal_9dd1198.core.internal.flow.ClassProbesAdapter$1.visitEnd(ClassProbesAdapter.java:113)
[junit] at
org.jacoco.agent.rt.internal_9dd1198.asm.ClassReader.b(Unknown Source)
[junit] at
org.jacoco.agent.rt.internal_9dd1198.asm.ClassReader.accept(Unknown Source)
[junit] at
org.jacoco.agent.rt.internal_9dd1198.asm.ClassReader.accept(Unknown Source)
[junit] at
org.jacoco.agent.rt.internal_9dd1198.core.instr.Instrumenter.instrument(Instrumenter.java:78)
[junit] at
org.jacoco.agent.rt.internal_9dd1198.core.instr.Instrumenter.instrument(Instrumenter.java:96)
[junit] ... 122 more