Marc,

 

A separate issue I have seen when I tried to upgrade to the latest version of 
JaCoCo 0.8.4.

I get ArrayIndexOutOfBoundsExceptions with 0.8.4 version, on command line 
builds.

I am running JaCoCo in combination with JMockit 1.46.

This does not occur with version 0.8.3.

 

>From command line build:

 

[INFO] -------------------------------------------------------

[INFO]  T E S T S

[INFO] -------------------------------------------------------

[INFO] Running com.sos.saloons.service.rest.GlobalPropertiesTest

[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.872 s 
- in com.sos.saloons.service.rest.GlobalPropertiesTest

[INFO] Running com.sos.saloons.service.rest.resources.AboutResourceTest

[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.797 s 
<<< FAILURE! - in com.sos.saloons.service.rest.resources.AboutResourceTest

[ERROR] getAboutTest  Time elapsed: 0.017 s  <<< ERROR!

java.lang.ArrayIndexOutOfBoundsException: Index 18729 out of bounds for length 
159

 

[INFO] Running com.sos.saloons.service.rest.resources.ContactUsResourceTest

[ERROR] Tests run: 3, Failures: 0, Errors: 3, Skipped: 0, Time elapsed: 0.899 s 
<<< FAILURE! - in com.sos.saloons.service.rest.resources.ContactUsResourceTest

[ERROR] submitContactUsTest  Time elapsed: 0.014 s  <<< ERROR!

java.lang.ArrayIndexOutOfBoundsException: Index 10767 out of bounds for length 
6722

 

[ERROR] submitContactUsExceptionTest  Time elapsed: 0.001 s  <<< ERROR!

java.lang.ArrayIndexOutOfBoundsException: Index 10767 out of bounds for length 
6722

 

[ERROR] submitContactUsValidatorErrorsTest  Time elapsed: 0 s  <<< ERROR!

java.lang.ArrayIndexOutOfBoundsException

 

[INFO] Running com.sos.saloons.service.rest.resources.CrashReportResourceTest

[ERROR] Tests run: 3, Failures: 0, Errors: 3, Skipped: 0, Time elapsed: 0.223 s 
<<< FAILURE! - in com.sos.saloons.service.rest.resources.CrashReportResourceTest

[ERROR] submitCrashReportTest  Time elapsed: 0.019 s  <<< ERROR!

java.lang.ArrayIndexOutOfBoundsException: Index 41100 out of bounds for length 
17578

 

[ERROR] submitCrashReportValidationErrorTest  Time elapsed: 0 s  <<< ERROR!

java.lang.ArrayIndexOutOfBoundsException: Index 41100 out of bounds for length 
17578

 

[ERROR] submitContactUsExceptionTest  Time elapsed: 0.001 s  <<< ERROR!

java.lang.ArrayIndexOutOfBoundsException: Index 41100 out of bounds for length 
17578

 

If you would like me to post an issue about the JaCoCo 0.8.4 
ArrayIndexOutOfBoundsException, let me know.

 

Thanks again,

JD

 

From: jacoco@googlegroups.com <jacoco@googlegroups.com> On Behalf Of Marc 
Hoffmann
Sent: Friday, June 21, 2019 9:21 AM
To: jacoco@googlegroups.com
Subject: Re: [java code coverage] Eclipse 2019-03 EclEmma plugin is causing 
UnsupportedOperationException

 

Does this error also occur when you run your tests in Eclipse in normal “run” 
mode (no coverage)?

 

In this case JaCoCo or EclEmma is not involved in your runtime classpath at 
all. And even when you run your application with with JaCoCo the JaCoCo agent 
includes its own repackaged version of ASM which will not interfere with other 
ASM versions on the class path.

 

Regards,

-marc

 

 

On 21. Jun 2019, at 17:12, jahunsmythe <jdsm...@smithoptimalsolutions.com 
<mailto:jdsm...@smithoptimalsolutions.com> > wrote:

 

This error does not occur with command line builds of my project.

 

But in Eclipse, when running the JUnit tests, this error occurs.

I am assuming that this is occurring is the version of JaCoCo that EclEmma is 
using has a dependency on an older version of ASM that has not fixed the 
problem with NestHost and NestMembers.

Just an FYI:  I am using EclEmma/JaCoCo combined with JMockit.  This shouldn't 
be the cause, as this is a known problem with ASM.

See the JMockit issue for more information about this:

 

https://github.com/jmockit/jmockit1/pull/555

 

My environment:

 

Windows 10

Eclipse 2019-03

Java 11.0.1

JUnit 5

JMockit 1.46

ASM 7.1

 

The Exception from a JUnit test in Eclipse that is failing:

 

java.lang.UnsupportedOperationException: class redefinition failed: attempted 
to change the class NestHost or NestMembers attribute

                at 
java.instrument/sun.instrument.InstrumentationImpl.redefineClasses0(Native 
Method)

                at 
java.instrument/sun.instrument.InstrumentationImpl.redefineClasses(InstrumentationImpl.java:193)

                at 
mockit.internal.startup.Startup.redefineMethods(Startup.java:159)

                at 
mockit.internal.state.MockFixture.redefineClasses(MockFixture.java:159)

                at 
mockit.internal.expectations.mocking.BaseTypeRedefinition.applyClassRedefinition(BaseTypeRedefinition.java:221)

                at 
mockit.internal.expectations.mocking.BaseTypeRedefinition.redefineClass(BaseTypeRedefinition.java:215)

                at 
mockit.internal.expectations.mocking.BaseTypeRedefinition.redefineClassAndItsSuperClasses(BaseTypeRedefinition.java:188)

                at 
mockit.internal.expectations.mocking.BaseTypeRedefinition.redefineClassAndItsSuperClasses(BaseTypeRedefinition.java:204)

                at 
mockit.internal.expectations.mocking.BaseTypeRedefinition.redefineMethodsAndConstructorsInTargetType(BaseTypeRedefinition.java:175)

                at 
mockit.internal.expectations.mocking.BaseTypeRedefinition.redefineTargetClassAndCreateInstanceFactory(BaseTypeRedefinition.java:251)

                at 
mockit.internal.expectations.mocking.BaseTypeRedefinition.redefineType(BaseTypeRedefinition.java:67)

                at 
mockit.internal.expectations.mocking.TypeRedefinition.redefineType(TypeRedefinition.java:28)

                at 
mockit.internal.expectations.mocking.FieldTypeRedefinitions.redefineFieldType(FieldTypeRedefinitions.java:78)

                at 
mockit.internal.expectations.mocking.FieldTypeRedefinitions.redefineFieldType(FieldTypeRedefinitions.java:65)

                at 
mockit.internal.expectations.mocking.FieldTypeRedefinitions.redefineFieldTypes(FieldTypeRedefinitions.java:53)

                at 
mockit.internal.expectations.mocking.FieldTypeRedefinitions.<init>(FieldTypeRedefinitions.java:33)

                at 
mockit.integration.internal.TestRunnerDecorator.handleMockFieldsForWholeTestClass(TestRunnerDecorator.java:141)

                at 
mockit.integration.junit5.JMockitExtension.postProcessTestInstance(JMockitExtension.java:52)

                at 
org.junit.jupiter.engine.descriptor.ClassTestDescriptor.lambda$invokeTestInstancePostProcessors$3(ClassTestDescriptor.java:215)

                at 
org.junit.jupiter.engine.descriptor.JupiterTestDescriptor.executeAndMaskThrowable(JupiterTestDescriptor.java:141)

                at 
org.junit.jupiter.engine.descriptor.ClassTestDescriptor.lambda$invokeTestInstancePostProcessors$4(ClassTestDescriptor.java:215)

                at 
java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)

                at 
java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)

                at 
java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654)

                at 
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)

                at 
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)

                at 
java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:312)

                at 
java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734)

                at 
java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734)

                at 
java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658)

                at 
org.junit.jupiter.engine.descriptor.ClassTestDescriptor.invokeTestInstancePostProcessors(ClassTestDescriptor.java:214)

                at 
org.junit.jupiter.engine.descriptor.ClassTestDescriptor.instantiateAndPostProcessTestInstance(ClassTestDescriptor.java:196)

                at 
org.junit.jupiter.engine.descriptor.ClassTestDescriptor.lambda$testInstanceProvider$0(ClassTestDescriptor.java:185)

                at 
org.junit.jupiter.engine.descriptor.ClassTestDescriptor.lambda$testInstanceProvider$1(ClassTestDescriptor.java:189)

                at java.base/java.util.Optional.orElseGet(Optional.java:369)

                at 
org.junit.jupiter.engine.descriptor.ClassTestDescriptor.lambda$testInstanceProvider$2(ClassTestDescriptor.java:188)

                at 
org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:81)

                at 
org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:58)

                at 
org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.prepare(HierarchicalTestExecutor.java:89)

                at 
org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.execute(HierarchicalTestExecutor.java:74)

                at 
org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.lambda$executeRecursively$2(HierarchicalTestExecutor.java:121)

                at 
java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)

                at 
java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)

                at 
java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)

                at 
java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)

                at 
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)

                at 
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)

                at 
java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)

                at 
java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)

                at 
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)

                at 
java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)

                at 
org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.lambda$executeRecursively$3(HierarchicalTestExecutor.java:121)

                at 
org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)

                at 
org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.executeRecursively(HierarchicalTestExecutor.java:108)

                at 
org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.execute(HierarchicalTestExecutor.java:79)

                at 
org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.lambda$executeRecursively$2(HierarchicalTestExecutor.java:121)

                at 
java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)

                at 
java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)

                at 
java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)

                at 
java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)

                at 
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)

                at 
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)

                at 
java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)

                at 
java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)

                at 
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)

                at 
java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)

                at 
org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.lambda$executeRecursively$3(HierarchicalTestExecutor.java:121)

                at 
org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)

                at 
org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.executeRecursively(HierarchicalTestExecutor.java:108)

                at 
org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.execute(HierarchicalTestExecutor.java:79)

                at 
org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:55)

                at 
org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:43)

                at 
org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:229)

                at 
org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:197)

                at 
org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:211)

                at 
org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:191)

                at 
org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:137)

                at 
org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:89)

                at 
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41)

                at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:541)

                at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:763)

                at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:463)

                at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:209)

 

 

-- 
You received this message because you are subscribed to the Google Groups 
"JaCoCo and EclEmma Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jacoco+unsubscr...@googlegroups.com 
<mailto:jacoco+unsubscr...@googlegroups.com> .
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jacoco/24302a95-cbc1-4b6e-bbac-884b2d9ba510%40googlegroups.com
 
<https://groups.google.com/d/msgid/jacoco/24302a95-cbc1-4b6e-bbac-884b2d9ba510%40googlegroups.com?utm_medium=email&utm_source=footer>
 .

 

-- 
You received this message because you are subscribed to the Google Groups 
"JaCoCo and EclEmma Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jacoco+unsubscr...@googlegroups.com 
<mailto:jacoco+unsubscr...@googlegroups.com> .
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jacoco/2DCA27FD-EB3C-44F3-889C-389E9EDBA8B3%40mountainminds.com
 
<https://groups.google.com/d/msgid/jacoco/2DCA27FD-EB3C-44F3-889C-389E9EDBA8B3%40mountainminds.com?utm_medium=email&utm_source=footer>
 .

-- 
You received this message because you are subscribed to the Google Groups 
"JaCoCo and EclEmma Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jacoco+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jacoco/001101d5284c%2436f85e90%24a4e91bb0%24%40smithoptimalsolutions.com.

Reply via email to