rules_graalvm icon indicating copy to clipboard operation
rules_graalvm copied to clipboard

Native coverage instrumentation

Open sgammon opened this issue 7 months ago • 1 comments

Currently, building a Native Image target with coverage enabled yields a nasty error, which boils down to:

Caused by: java.lang.NoClassDefFoundError: org/jacoco/agent/rt/internal_43a39aa/Offline
	at jdk.internal.vm.ci/jdk.vm.ci.hotspot.CompilerToVM.resolvePossiblyCachedConstantInPool(Native Method)
	at jdk.internal.vm.ci/jdk.vm.ci.hotspot.CompilerToVM.resolvePossiblyCachedConstantInPool(CompilerToVM.java:283)
	at jdk.internal.vm.ci/jdk.vm.ci.hotspot.HotSpotConstantPool.lookupConstant(HotSpotConstantPool.java:668)
	at jdk.internal.vm.compiler/org.graalvm.compiler.serviceprovider.GraalServices.lookupConstant(GraalServices.java:484)
	at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.lookupConstant(BytecodeParser.java:4395)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.lookupConstant(SharedGraphBuilderPhase.java:221)
	at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.genLoadConstant(BytecodeParser.java:3991)
	at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBytecode(BytecodeParser.java:5277)
	at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3431)
	... 57 more
Caused by: java.lang.ClassNotFoundException: org.jacoco.agent.rt.internal_43a39aa.Offline
	... 66 more

We probably need to inject Jacoco.

sgammon avatar Jan 02 '24 03:01 sgammon