JDK-7131302 : connode.cpp:205 Error: ShouldNotReachHere()
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 8-pool
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2012-01-19
  • Updated: 2012-03-24
  • Resolved: 2012-03-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 7 JDK 8 Other
7u4Fixed 8Fixed hs23Fixed
Related Reports
Relates :  
intelsdv39% java -Xcomp -XX:-PrintVMOptions -XX:-TieredCompilation -XX:CompileThreshold=100 -XX:DefaultMaxRAMFraction=8 -XX:+UnlockExperimentalVMOptions -XX:-DontCompileHugeMethods -Xmx128M Test
# A fatal error has been detected by the Java Runtime Environment:
#  Internal Error (/tmp/jprt/P1/210149.vkozlov/source/src/share/vm/opto/connode.cpp:205), pid=5262, tid=16
#  Error: ShouldNotReachHere()
# JRE version: 7.0_04-b06
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.0-b10-internal-201201132101.vkozlov.7129618-fastdebug compiled mode solaris-amd64 compressed oops)
# Core dump written. Default location: /export/local/57536.JDK7.NIGHTLY.VM_solaris-amd64_jittester_server_comp_testlist/results/wrk_dir1326890056482/core or core.5262
# 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 (0x0000000000fe1800):  JavaThread "C2 CompilerThread1" daemon [_thread_in_native, id=16, stack(0xfffffd7ffdfdd000,0xfffffd7ffe0dd000)]

Stack: [0xfffffd7ffdfdd000,0xfffffd7ffe0dd000],  sp=0xfffffd7ffe0d2e80,  free space=983k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x2785998]  void VMError::report(outputStream*)+0x8c8;;  void VMError::report(outputStream*)+0x8c8
V  [libjvm.so+0x2786add]  void VMError::report_and_die()+0x4fd;;  void VMError::report_and_die()+0x4fd
V  [libjvm.so+0xee94e6]  void report_should_not_reach_here(const char*,int)+0x522;;  void report_should_not_reach_here(const char*,int)+0x522
V  [libjvm.so+0xe64b01]  CMoveNode*CMoveNode::make(Compile*,Node*,Node*,Node*,Node*,const Type*)+0x59;;  CMoveNode*CMoveNode::make(Compile*,Node*,Node*,Node*,Node*,const Type*)+0x59
V  [libjvm.so+0x1e29fca]  Node*PhaseIdealLoop::conditional_move(Node*)+0x9c2;;  Node*PhaseIdealLoop::conditional_move(Node*)+0x9c2
V  [libjvm.so+0x1e2e753]  void PhaseIdealLoop::split_if_with_blocks(VectorSet&,Node_Stack&)+0x497;;  void PhaseIdealLoop::split_if_with_blocks(VectorSet&,Node_Stack&)+0x497
V  [libjvm.so+0x1e0f80f]  void PhaseIdealLoop::build_and_optimize(bool,bool)+0xfe7;;  void PhaseIdealLoop::build_and_optimize(bool,bool)+0xfe7
V  [libjvm.so+0xd44678]  void Compile::Optimize()+0x1974;;  void Compile::Optimize()+0x1974
V  [libjvm.so+0xd3ade0]  Compile::Compile(ciEnv*,C2Compiler*,ciMethod*,int,bool,bool)+0x14c4;;  Compile::Compile(ciEnv*,C2Compiler*,ciMethod*,int,bool,bool)+0x14c4
V  [libjvm.so+0xabe7f7]  void C2Compiler::compile_method(ciEnv*,ciMethod*,int)+0x16b;;  void C2Compiler::compile_method(ciEnv*,ciMethod*,int)+0x16b
V  [libjvm.so+0xd63283]  void CompileBroker::invoke_compiler_on_method(CompileTask*)+0x14cb;;  void CompileBroker::invoke_compiler_on_method(CompileTask*)+0x14cb
V  [libjvm.so+0xd6115b]  void CompileBroker::compiler_thread_loop()+0xc8f;;  void CompileBroker::compiler_thread_loop()+0xc8f
V  [libjvm.so+0x26432f4]  void JavaThread::thread_main_inner()+0x4d4;;  void JavaThread::thread_main_inner()+0x4d4
V  [libjvm.so+0x2642c06]  void JavaThread::run()+0x61e;;  void JavaThread::run()+0x61e
V  [libjvm.so+0x21e1396]  java_start+0x6a6;;  java_start+0x6a6
C  [libc.so.1+0x121021]  _thrp_setup+0xa5;;  _thrp_setup+0xa5
C  [libc.so.1+0x1212c0]  _lwp_start+0x0;;  _lwp_start+0x0

Current CompileTask:
C2: 224224 5079    b        Test_Class_1::<clinit> (471 bytes)

EVALUATION http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/53a127075045

EVALUATION Split_thru_phi optimization used LoadNode::Value() and incorrectly replaced LoadS(StoreC(65535)) with constant (65535) which does not fit into SHORT type. As result merged Phi type become top. Add Value() methods to short and byte Load nodes to truncate constants which does not fit.

EVALUATION http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/53a127075045

EVALUATION The type of CMove phi is TOP after CCP phase reset it: [t@45 l@45]: print phi->dump(1) 26 ConI === 0 [[ 231 ]] #int:91 310 ConI === 0 [[ 231 ]] #int:-30144 225 Region === 225 221 222 [[ 225 248 231 247 244 ]] !orig=[237] !jvms: Test_Class_1::<clinit> @ bci:174 231 Phi === 225 310 26 [[ 244 ]] #int:-30144..91 !jvms: Test_Class_1::<clinit> @ bci:174 [t@45 l@45]: print this->type(n)->dump() top