rules_graalvm
rules_graalvm copied to clipboard
Native coverage instrumentation
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.