-
Bug
-
Resolution: Fixed
-
P3
-
10
-
b36
Jcov is used to gather jdk code coverage. To get this information we first instrument jdk and then run java tests against this instrumented jdk. The attempt to run HelloWord test using Graal as JIT compiler fails with:
Thread[JVMCI CompilerThread6,9,system]: Compilation of jdk.internal.jimage.ImageLocation.decompress(ByteBuffer) failed: org.graalvm.compi
ler.graph.GraalGraphError: jdk.vm.ci.common.JVMCIError: method contains safepoint, but has no deopt rescue slot
at node: 533|ForeignCall#new_array(KlassPointer,int,boolean)Object
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.core.gen.NodeLIRBuilder.doBlock(NodeLIRBuilder.java:366)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.core.LIRGenerationPhase.emitBlock(LIRGenerationPhase.java:79)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.core.LIRGenerationPhase.run(LIRGenerationPhase.java:69)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.core.LIRGenerationPhase.run(LIRGenerationPhase.java:44)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.lir.phases.LIRPhase.apply(LIRPhase.java:115)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.lir.phases.LIRPhase.apply(LIRPhase.java:107)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.core.GraalCompiler.emitLIR0(GraalCompiler.java:312)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.core.GraalCompiler.emitLIR(GraalCompiler.java:276)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.core.GraalCompiler.emitBackEnd(GraalCompiler.java:256)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.core.GraalCompiler.compile(GraalCompiler.java:173)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.core.GraalCompiler.compileGraph(GraalCompiler.java:158)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.hotspot.HotSpotGraalCompiler.compile(HotSpotGraalCompiler.java:180)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.hotspot.CompilationTask$HotSpotCompilationWrapper.performCompilation
(CompilationTask.java:168)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.hotspot.CompilationTask$HotSpotCompilationWrapper.performCompilation
(CompilationTask.java:93)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.core.CompilationWrapper.run(CompilationWrapper.java:165)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.hotspot.CompilationTask.runCompilation(CompilationTask.java:312)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.hotspot.HotSpotGraalCompiler.compileMethod(HotSpotGraalCompiler.java
:142)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.hotspot.HotSpotGraalCompiler.compileMethod(HotSpotGraalCompiler.java
:108)
at jdk.internal.vm.ci@10-internal/jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compileMethod(HotSpotJVMCIRuntime.java:445)
Caused by: jdk.vm.ci.common.JVMCIError: method contains safepoint, but has no deopt rescue slot
at jdk.internal.vm.ci@10-internal/jdk.vm.ci.hotspot.CompilerToVM.installCode(Native Method)
at jdk.internal.vm.ci@10-internal/jdk.vm.ci.hotspot.HotSpotCodeCacheProvider.installCode(HotSpotCodeCacheProvider.java:115)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.hotspot.stubs.Stub.getCode(Stub.java:203)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.hotspot.HotSpotForeignCallLinkageImpl.finalizeAddress(HotSpotForeign
CallLinkageImpl.java:245)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.hotspot.meta.HotSpotForeignCallsProviderImpl.lookupForeignCall(HotSp
otForeignCallsProviderImpl.java:171)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.hotspot.meta.HotSpotForeignCallsProviderImpl.lookupForeignCall(HotSp
otForeignCallsProviderImpl.java:57)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.nodes.extended.ForeignCallNode.generate(ForeignCallNode.java:167)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.core.gen.NodeLIRBuilder.emitNode(NodeLIRBuilder.java:455)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.core.gen.NodeLIRBuilder.doRoot(NodeLIRBuilder.java:445)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.core.gen.NodeLIRBuilder.doBlock(NodeLIRBuilder.java:362)
... 18 more
Graal team, please help to understand if this is graal issue or jcov does something which is not proper from graal point of view. Please note that we didn't try to run graal with instrumented jdk9/jdk10 before.
Thread[JVMCI CompilerThread6,9,system]: Compilation of jdk.internal.jimage.ImageLocation.decompress(ByteBuffer) failed: org.graalvm.compi
ler.graph.GraalGraphError: jdk.vm.ci.common.JVMCIError: method contains safepoint, but has no deopt rescue slot
at node: 533|ForeignCall#new_array(KlassPointer,int,boolean)Object
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.core.gen.NodeLIRBuilder.doBlock(NodeLIRBuilder.java:366)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.core.LIRGenerationPhase.emitBlock(LIRGenerationPhase.java:79)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.core.LIRGenerationPhase.run(LIRGenerationPhase.java:69)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.core.LIRGenerationPhase.run(LIRGenerationPhase.java:44)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.lir.phases.LIRPhase.apply(LIRPhase.java:115)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.lir.phases.LIRPhase.apply(LIRPhase.java:107)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.core.GraalCompiler.emitLIR0(GraalCompiler.java:312)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.core.GraalCompiler.emitLIR(GraalCompiler.java:276)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.core.GraalCompiler.emitBackEnd(GraalCompiler.java:256)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.core.GraalCompiler.compile(GraalCompiler.java:173)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.core.GraalCompiler.compileGraph(GraalCompiler.java:158)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.hotspot.HotSpotGraalCompiler.compile(HotSpotGraalCompiler.java:180)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.hotspot.CompilationTask$HotSpotCompilationWrapper.performCompilation
(CompilationTask.java:168)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.hotspot.CompilationTask$HotSpotCompilationWrapper.performCompilation
(CompilationTask.java:93)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.core.CompilationWrapper.run(CompilationWrapper.java:165)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.hotspot.CompilationTask.runCompilation(CompilationTask.java:312)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.hotspot.HotSpotGraalCompiler.compileMethod(HotSpotGraalCompiler.java
:142)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.hotspot.HotSpotGraalCompiler.compileMethod(HotSpotGraalCompiler.java
:108)
at jdk.internal.vm.ci@10-internal/jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compileMethod(HotSpotJVMCIRuntime.java:445)
Caused by: jdk.vm.ci.common.JVMCIError: method contains safepoint, but has no deopt rescue slot
at jdk.internal.vm.ci@10-internal/jdk.vm.ci.hotspot.CompilerToVM.installCode(Native Method)
at jdk.internal.vm.ci@10-internal/jdk.vm.ci.hotspot.HotSpotCodeCacheProvider.installCode(HotSpotCodeCacheProvider.java:115)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.hotspot.stubs.Stub.getCode(Stub.java:203)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.hotspot.HotSpotForeignCallLinkageImpl.finalizeAddress(HotSpotForeign
CallLinkageImpl.java:245)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.hotspot.meta.HotSpotForeignCallsProviderImpl.lookupForeignCall(HotSp
otForeignCallsProviderImpl.java:171)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.hotspot.meta.HotSpotForeignCallsProviderImpl.lookupForeignCall(HotSp
otForeignCallsProviderImpl.java:57)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.nodes.extended.ForeignCallNode.generate(ForeignCallNode.java:167)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.core.gen.NodeLIRBuilder.emitNode(NodeLIRBuilder.java:455)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.core.gen.NodeLIRBuilder.doRoot(NodeLIRBuilder.java:445)
at jdk.internal.vm.compiler@10-internal/org.graalvm.compiler.core.gen.NodeLIRBuilder.doBlock(NodeLIRBuilder.java:362)
... 18 more
Graal team, please help to understand if this is graal issue or jcov does something which is not proper from graal point of view. Please note that we didn't try to run graal with instrumented jdk9/jdk10 before.
- duplicates
-
JDK-8193439 Update Graal
-
- Resolved
-