JDK-8027422 : assert(_gvn.type(obj)->higher_equal(tjp)) failed: cast_up is no longer needed
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs25
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2013-10-29
  • Updated: 2014-07-29
  • Resolved: 2014-01-24
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 8 JDK 9
8u20Fixed 9 b04Fixed
Description
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/opt/jprt/T/P1/203123.amurillo/s/src/share/vm/opto/parse3.cpp:125), pid=19177, tid=25
#  assert(_gvn.type(obj)->higher_equal(tjp)) failed: cast_up is no longer needed
#
# JRE version: Java(TM) SE Runtime Environment (8.0-b113) (build 1.8.0-ea-fastdebug-b113)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.0-b56-internal-201310252031.amurillo.hs25-b56-snapshot-fastdebug mixed mode solaris-amd64 compressed oops)
# Core dump written. Default location: /export/local/aurora/sandbox/results/workDir/closed/java/util/Calendar/CalendarRegression/core or core.19177
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
#

---------------  T H R E A D  ---------------

Current thread (0x00000000007a1000):  JavaThread "C2 CompilerThread5" daemon [_thread_in_native, id=25, stack(0xfffffd7ff9c71000,0xfffffd7ff9d71000)]

Stack: [0xfffffd7ff9c71000,0xfffffd7ff9d71000],  sp=0xfffffd7ff9d67070,  free space=984k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x28d507c]  void VMError::report(outputStream*)+0x92c
V  [libjvm.so+0x28d65b8]  void VMError::report_and_die()+0x56c
V  [libjvm.so+0xfceb8f]  void report_vm_error(const char*,int,const char*,const char*)+0x55f
V  [libjvm.so+0x2374e3c]  void Parse::do_field_access(bool,bool)+0x8d8
V  [libjvm.so+0x236ea6f]  void Parse::do_one_bytecode()+0x3fa3
V  [libjvm.so+0x23396b2]  void Parse::do_one_block()+0x56e
V  [libjvm.so+0x2328d64]  void Parse::do_all_blocks()+0x2238
V  [libjvm.so+0x2326500]  Parse::Parse #Nvariant 1(JVMState*,ciMethod*,float,Parse*)+0xa34
V  [libjvm.so+0xc2dbf8]  JVMState*ParseGenerator::generate(JVMState*,Parse*)+0x108
V  [libjvm.so+0x10e1531]  void Parse::do_call()+0xba9
V  [libjvm.so+0x236ac07]  void Parse::do_one_bytecode()+0x13b
V  [libjvm.so+0x23396b2]  void Parse::do_one_block()+0x56e
V  [libjvm.so+0x2328d64]  void Parse::do_all_blocks()+0x2238
V  [libjvm.so+0x2326500]  Parse::Parse #Nvariant 1(JVMState*,ciMethod*,float,Parse*)+0xa34
V  [libjvm.so+0xc2dbf8]  JVMState*ParseGenerator::generate(JVMState*,Parse*)+0x108
V  [libjvm.so+0x10e1531]  void Parse::do_call()+0xba9
V  [libjvm.so+0x236ac07]  void Parse::do_one_bytecode()+0x13b
V  [libjvm.so+0x23396b2]  void Parse::do_one_block()+0x56e
V  [libjvm.so+0x2328d64]  void Parse::do_all_blocks()+0x2238
V  [libjvm.so+0x2326500]  Parse::Parse #Nvariant 1(JVMState*,ciMethod*,float,Parse*)+0xa34
V  [libjvm.so+0xc2dbf8]  JVMState*ParseGenerator::generate(JVMState*,Parse*)+0x108
V  [libjvm.so+0x10e1531]  void Parse::do_call()+0xba9
V  [libjvm.so+0x236ac07]  void Parse::do_one_bytecode()+0x13b
V  [libjvm.so+0x23396b2]  void Parse::do_one_block()+0x56e
V  [libjvm.so+0x2328d64]  void Parse::do_all_blocks()+0x2238
V  [libjvm.so+0x2326500]  Parse::Parse #Nvariant 1(JVMState*,ciMethod*,float,Parse*)+0xa34
V  [libjvm.so+0xc2dbf8]  JVMState*ParseGenerator::generate(JVMState*,Parse*)+0x108
V  [libjvm.so+0x10e1531]  void Parse::do_call()+0xba9
V  [libjvm.so+0x236ac07]  void Parse::do_one_bytecode()+0x13b
V  [libjvm.so+0x23396b2]  void Parse::do_one_block()+0x56e
V  [libjvm.so+0x2328d64]  void Parse::do_all_blocks()+0x2238
V  [libjvm.so+0x2326500]  Parse::Parse #Nvariant 1(JVMState*,ciMethod*,float,Parse*)+0xa34
V  [libjvm.so+0xc2dbf8]  JVMState*ParseGenerator::generate(JVMState*,Parse*)+0x108
V  [libjvm.so+0x10e1531]  void Parse::do_call()+0xba9
V  [libjvm.so+0x236ac07]  void Parse::do_one_bytecode()+0x13b
V  [libjvm.so+0x23396b2]  void Parse::do_one_block()+0x56e
V  [libjvm.so+0x2328d64]  void Parse::do_all_blocks()+0x2238
V  [libjvm.so+0x2326500]  Parse::Parse #Nvariant 1(JVMState*,ciMethod*,float,Parse*)+0xa34
V  [libjvm.so+0xc2dbf8]  JVMState*ParseGenerator::generate(JVMState*,Parse*)+0x108
V  [libjvm.so+0x10e1531]  void Parse::do_call()+0xba9
V  [libjvm.so+0x236ac07]  void Parse::do_one_bytecode()+0x13b
V  [libjvm.so+0x23396b2]  void Parse::do_one_block()+0x56e
V  [libjvm.so+0x2328d64]  void Parse::do_all_blocks()+0x2238
V  [libjvm.so+0x2326500]  Parse::Parse #Nvariant 1(JVMState*,ciMethod*,float,Parse*)+0xa34
V  [libjvm.so+0xc2dbf8]  JVMState*ParseGenerator::generate(JVMState*,Parse*)+0x108
V  [libjvm.so+0xe7b1c8]  Compile::Compile(ciEnv*,C2Compiler*,ciMethod*,int,bool,bool,bool)+0x1510
V  [libjvm.so+0xc2bf37]  void C2Compiler::compile_method(ciEnv*,ciMethod*,int)+0x1b3
V  [libjvm.so+0xea44c5]  void CompileBroker::invoke_compiler_on_method(CompileTask*)+0x4e1
V  [libjvm.so+0xea3a65]  void CompileBroker::compiler_thread_loop()+0x3c5
V  [libjvm.so+0x27398dd]  void JavaThread::thread_main_inner()+0x521
V  [libjvm.so+0x2738ff3]  void JavaThread::run()+0x84f
V  [libjvm.so+0x22a3bae]  java_start+0x1ce
C  [libc.so.1+0x1222ad]  _thrp_setup+0xa5
C  [libc.so.1+0x122550]  _lwp_start+0x0


Current CompileTask:
C2:   1157  551       4       java.util.GregorianCalendar::getWeekYear (308 bytes)
Comments
likelihood is low, because TypeSpeculation is experimental feature disabled by default. ILW=MLH=>P4
30-10-2013

Azeem, I don't think that not using TypeSpeculation is valid workaround for bug in TypeSpeculation. So it's should be P3, but I'm OK to defer it to 8uX
30-10-2013

ILW=MML=P4 since the workaround is to not use TypeSpeculation which is disabled by default for JDK8. This should be fixed for JDK8 update or whenever TypeSpeculation is enabled by default
29-10-2013

since a couple of tests are affected, likelihood is medium: ILW=MMH=>P3
29-10-2013

ILW=MLH=>P4
29-10-2013

version: 1.8.0 b113 (1.8.0-ea-fastdebug-b113) / 25.0 b56 (25.0-b56-internal-201310252031.amurillo.hs25-b56-snapshot-fastdebug) vm_opts: -Xmixed -d64 -server -XX:+UnlockExperimentalVMOptions -XX:+UseTypeSpeculation -XX:TypeProfileLevel=222
29-10-2013