JDK-8257917 : [JVMCI] crash when materializing boxed values under -Xcomp
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 11,16
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2020-12-08
  • Updated: 2021-01-15
  • Resolved: 2020-12-09
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 16
11.0.11-oracleFixed 16 b28Fixed
Related Reports
Relates :  
Description
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (deoptimization.cpp:798), pid=26877, tid=8195
#  guarantee(ik->is_initialized()) failed: java/lang/Character$CharacterCache must be initialized
#

The above crash can happen when JVMCI compiled code escape analyzes a boxed char and needs to materialize it when deoptimizing the compiled code. The problem occurs when the caching class (java/lang/Character$CharacterCache in this case) has not been initialized. In normal execution where code is first interpreted and then compiled, this should never happen as the class will be initialized during interpretation. However, with `-XX:-TieredCompilation -Xcomp` it's possible for class initialization to not be interpreted meaning that it has to be done before the compiled code is executed.
Comments
https://github.com/graalvm/labs-openjdk-11/commit/f6cbbc5ebb706802b070552651cd428f6aa67edd
12-01-2021

Changeset: baf4c1a4 Author: Doug Simon <dnsimon@openjdk.org> Date: 2020-12-09 20:26:55 +0000 URL: https://git.openjdk.java.net/jdk/commit/baf4c1a4
09-12-2020