JDK-8221514 : [Graal] java/lang/String/CompactString/ tests fail with "GraalError: failed guarantee: no FrameState at DeoptimizingNode" in Graal -Xcomp mode
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 13
  • Priority: P2
  • Status: Closed
  • Resolution: Duplicate
  • Submitted: 2019-03-26
  • Updated: 2019-07-17
  • Resolved: 2019-06-12
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 13 JDK 14
13Fixed 14 b05Resolved
Related Reports
Duplicate :  
Description
A lot of java/lang/String/CompactString/ tests fail with 
Thread[JVMCI CompilerThread3,9,system]: Compilation of java.util.Formatter$FormatSpecifier.print(Object, Locale) failed:
org.graalvm.compiler.debug.GraalError: failed guarantee: no FrameState at DeoptimizingNode 365|Deopt
        at jdk.internal.vm.compiler@13-internal/org.graalvm.compiler.debug.GraalError.guarantee(GraalError.java:86)
        at jdk.internal.vm.compiler@13-internal/org.graalvm.compiler.phases.common.FrameStateAssignmentPhase$FrameStateAssignmentClosure.processNode(FrameStateAssignmentPhase.java:69)
        at jdk.internal.vm.compiler@13-internal/org.graalvm.compiler.phases.common.FrameStateAssignmentPhase$FrameStateAssignmentClosure.processNode(FrameStateAssignmentPhase.java:61)
        at jdk.internal.vm.compiler@13-internal/org.graalvm.compiler.phases.graph.ReentrantNodeIterator.apply(ReentrantNodeIterator.java:125)
        at jdk.internal.vm.compiler@13-internal/org.graalvm.compiler.phases.graph.ReentrantNodeIterator.apply(ReentrantNodeIterator.java:102)
        at jdk.internal.vm.compiler@13-internal/org.graalvm.compiler.phases.common.FrameStateAssignmentPhase.run(FrameStateAssignmentPhase.java:127)
        at jdk.internal.vm.compiler@13-internal/org.graalvm.compiler.phases.Phase.run(Phase.java:49)
        at jdk.internal.vm.compiler@13-internal/org.graalvm.compiler.phases.BasePhase.apply(BasePhase.java:197)
        at jdk.internal.vm.compiler@13-internal/org.graalvm.compiler.phases.BasePhase.apply(BasePhase.java:139)
        at jdk.internal.vm.compiler@13-internal/org.graalvm.compiler.phases.PhaseSuite.run(PhaseSuite.java:212)
        at jdk.internal.vm.compiler@13-internal/org.graalvm.compiler.phases.BasePhase.apply(BasePhase.java:197)
        at jdk.internal.vm.compiler@13-internal/org.graalvm.compiler.phases.BasePhase.apply(BasePhase.java:139)
        at jdk.internal.vm.compiler@13-internal/org.graalvm.compiler.core.GraalCompiler.emitFrontEnd(GraalCompiler.java:225)
        at jdk.internal.vm.compiler@13-internal/org.graalvm.compiler.core.GraalCompiler.compile(GraalCompiler.java:144)
        at jdk.internal.vm.compiler@13-internal/org.graalvm.compiler.core.GraalCompiler.compileGraph(GraalCompiler.java:129)
        at jdk.internal.vm.compiler@13-internal/org.graalvm.compiler.hotspot.HotSpotGraalCompiler.compileHelper(HotSpotGraalCompiler.java:185)
        at jdk.internal.vm.compiler@13-internal/org.graalvm.compiler.hotspot.HotSpotGraalCompiler.compile(HotSpotGraalCompiler.java:198)
        at jdk.internal.vm.compiler@13-internal/org.graalvm.compiler.hotspot.CompilationTask$HotSpotCompilationWrapper.performCompilation(CompilationTask.java:190)
        at jdk.internal.vm.compiler@13-internal/org.graalvm.compiler.hotspot.CompilationTask$HotSpotCompilationWrapper.performCompilation(CompilationTask.java:98)
        at jdk.internal.vm.compiler@13-internal/org.graalvm.compiler.core.CompilationWrapper.run(CompilationWrapper.java:177)
        at jdk.internal.vm.compiler@13-internal/org.graalvm.compiler.hotspot.CompilationTask.runCompilation(CompilationTask.java:339)
        at jdk.internal.vm.compiler@13-internal/org.graalvm.compiler.hotspot.HotSpotGraalCompiler.compileMethod(HotSpotGraalCompiler.java:138)
        at jdk.internal.vm.compiler@13-internal/org.graalvm.compiler.hotspot.HotSpotGraalCompiler.compileMethod(HotSpotGraalCompiler.java:105)
        at jdk.internal.vm.ci/jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.compileMethod(HotSpotJVMCIRuntime.java:524)


when running in Graal as JIT mode and -Xcomp.
All failures seems to be when tests are run with -XX:-CompactStrings flag.

Was not able to reproduce without "-Xcomp" flag.
Comments
Closing as duplicate of the Graal Update (JDK-8223807) which will pull GR-14801.
12-06-2019

This should be resolved by https://github.com/oracle/graal/commit/18a4f0b1913be4af9c292932fc6880e2ed1cb664
07-06-2019

This is hs-tier8-graal testing which is not used nightly Graal testing which run: builds-tier1,hs-tier1,hs-tier3-graal,hs-tier4-graal. I agree that we should add hs-tier8-graal. I am using it for JDK-8220623 testing and see consistent 30-40 failures each time from which this bug caused the most failures currently.
28-03-2019

[~kvn] [~dlong] [~jwilhelm] any idea why this was not caught night the nightly Graal testing? Are we not running these tests? Maybe we should.
28-03-2019

[~dnsimon] please, re-assign.
28-03-2019

The regression seems was introduced with JDK-8218074 "Update Graal".
26-03-2019

To reproduce run for example java/lang/String/CompactString/CharAt.java: > make run-test TEST="java/lang/String/CompactString/CharAt.java" TEST_VM_OPTS="-server -ea -esa -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+TieredCompilation -XX:+UseJVMCICompiler -Djvmci.Compiler=graal -Xcomp"
26-03-2019