JDK-8039247 : C2: assert((n == empty_memory()) == n->is_top()) failed: sanity
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs24,7u80
  • Priority: P2
  • Status: Closed
  • Resolution: Duplicate
  • Submitted: 2014-04-04
  • Updated: 2019-09-13
  • Resolved: 2014-04-15
Related Reports
Duplicate :  
Description
The hs_err head is:
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/opt/jprt/T/P1/145625.kwalls/s/src/share/vm/opto/memnode.hpp:1111), pid=31737, tid=140308316575488
#  assert((n == empty_memory()) == n->is_top()) failed: sanity
#
# JRE version: Java(TM) SE Runtime Environment (7.0_40-b43) (build 1.7.0_40-fastdebug-b43)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.80-b06-internal-201404031456.kwalls.hotspot-fastdebug mixed mode linux-amd64 compressed oops)
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# 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 (0x00007f9c682b3000):  JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=31765, stack(0x00007f9c134e5000,0x00007f9c135e6000)]

Stack: [0x00007f9c134e5000,0x00007f9c135e6000],  sp=0x00007f9c135df5c0,  free space=1001k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0xdd2c82]  VMError::report_and_die()+0x302
V  [libjvm.so+0x69e2b4]  report_vm_error(char const*, int, char const*, char const*)+0x84
V  [libjvm.so+0xaf8ba3]  MergeMemNode::memory_at(unsigned int) const+0x143
V  [libjvm.so+0xb02287]  MergeMemNode::Ideal(PhaseGVN*, bool)+0x1b7
V  [libjvm.so+0xc10bb5]  PhaseIterGVN::transform_old(Node*)+0xa5
V  [libjvm.so+0xc0e890]  PhaseIterGVN::optimize()+0x2b0
V  [libjvm.so+0xaa36eb]  PhaseIdealLoop::build_and_optimize(bool, bool)+0x116b
V  [libjvm.so+0x61d40a]  Compile::Optimize()+0x92a
V  [libjvm.so+0x621a7b]  Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool)+0x172b
V  [libjvm.so+0x527170]  C2Compiler::compile_method(ciEnv*, ciMethod*, int)+0x250
V  [libjvm.so+0x62c6a8]  CompileBroker::invoke_compiler_on_method(CompileTask*)+0x548
V  [libjvm.so+0x62d974]  CompileBroker::compiler_thread_loop()+0x564
V  [libjvm.so+0xd6be14]  JavaThread::thread_main_inner()+0x194
V  [libjvm.so+0xd6c0b9]  JavaThread::run()+0x259
V  [libjvm.so+0xba7198]  java_start(Thread*)+0x108


Current CompileTask:
C2:    704   33    b        TestDoubleVect::test_2vi_unaln (32 bytes)
Comments
Looks like 8038785 changes were incorrect. The test passed with proper fix from 8039050.
15-04-2014

Please verify if this bug applies to JDK 8 and 9.
09-04-2014

ILW=Assert, always, none=MHH=P2
09-04-2014

Seems to be a follow-up issue from JDK-8038785. This must either be fixed, or we need to roll out the JDK 6 fix (if this happens in JDK 6 that is)
07-04-2014