JDK-8181855 : [Graal] runtime/ReservedStack/ReservedStackTest.java triggers: assert(thread->deopt_mark() == __null) failed: no stack overflow from deopt blob/uncommon trap
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 10,11
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2016-01-04
  • Updated: 2019-09-13
  • Resolved: 2018-07-16
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 11 JDK 12
11 b23Fixed 12Fixed
Related Reports
Duplicate :  
Relates :  
Relates :  
Description
I think this is finally a manifestation of JDK-8032410 which needs to be implemented in Graal.

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/opt/jprt/T/P1/172249.cthaling/s/hotspot/src/share/vm/runtime/sharedRuntime.cpp:853), pid=20888, tid=3461
#  assert(thread->deopt_mark() == __null) failed: no stack overflow from deopt blob/uncommon trap
#
# JRE version: Java(TM) SE Runtime Environment (9.0) (build 9-internal+0-2015-12-31-172249.cthaling.aot)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (9-internal+0-2015-12-31-172249.cthaling.aot, mixed mode, tiered, jvmci, jvmci compiler, compressed oops, g1 gc, linux-amd64)
# Core dump will be written. Default location: Core dumps may be processed with "/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e" (or dumping to /scratch/aurora/sandbox/results/workDir/runtime/ReservedStack/ReservedStackTest/core.20888)
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#

Comments
Thanks Tom.
30-05-2018

It's buried down in the assembly generation. It's just a a little epilogue just before returning.
30-05-2018

I don't see C2 doing anything special to support StackReservedPages, so I'm not sure what Graal needs to do. What am I missing?
30-05-2018

I was able to reproduce this with -Xcomp -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler.
22-05-2018

[~dtherkel] requesting help from your team on this.
03-05-2018

Failed tests: runtime/ReservedStack/ReservedStackTestCompiler.java
12-01-2018

Seems like this is still an issue (JDK-8181804). I moved this from the Graal project to JDK. Any updates on this?
09-06-2017

ILW = Crash during deoptimization, only with Graal which is used for experimental AOT in JDK 9, disable Graal/AOT = HLM = P3
09-06-2017

[~never], I see that we added jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod.hasReservedStackAccess() but it doesn't seem to be used in Graal yet. Could you please create an issue on github if this hasn't been fixed some other way in Graal and then close this issue.
22-02-2017

It makes the logic in DeoptimizationStub simpler and less fragile.
04-01-2016

Wow. That's pretty ugly.
04-01-2016

Maybe [~never] can look into this one.
04-01-2016