JDK-8149797 : Compilation fails with "assert(in_hash) failed: node should be in igvn hash table"
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 9
  • Priority: P1
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2016-02-15
  • Updated: 2020-09-01
  • Resolved: 2016-02-15
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 9
9 b108Fixed
Related Reports
Relates :  
Relates :  
Description
#  Internal Error (/scratch/opt/jprt/T/P1/154359.rwestrel/s/hotspot/src/share/vm/opto/compile.cpp:4368), pid=7713, tid=7783
#  assert(in_hash) failed: node should be in igvn hash table

Current CompileTask:
C2:  77766 8145    b  4       jdk.management.resource.internal.WeakKeyConcurrentHashMap::computeIfAbsent (47 bytes)

Stack: [0x00007fda5db08000,0x00007fda5dc09000],  sp=0x00007fda5dc03940,  free space=1006k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x13d5025]  VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x155;;  VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x155
V  [libjvm.so+0x13d5d5f]  VMError::report_and_die(Thread*, char const*, int, char const*, char const*, __va_list_tag*)+0x2f;;  VMError::report_and_die(Thread*, char const*, int, char const*, char const*, __va_list_tag*)+0x2f
V  [libjvm.so+0x9517cd]  report_vm_error(char const*, int, char const*, char const*, ...)+0xdd;;  report_vm_error(char const*, int, char const*, char const*, ...)+0xdd
V  [libjvm.so+0x8b6e8c]  Compile::remove_speculative_types(PhaseIterGVN&) [clone .part.334]+0x55c;;  _ZN7Compile24remove_speculative_typesER12PhaseIterGVN.part.334+0x55c
V  [libjvm.so+0x8c7744]  Compile::Optimize()+0x414;;  Compile::Optimize()+0x414
V  [libjvm.so+0x8c971e]  Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0x136e;;  Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0x136e
V  [libjvm.so+0x72ef72]  C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+0x2d2;;  C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+0x2d2
V  [libjvm.so+0x8d4f74]  CompileBroker::invoke_compiler_on_method(CompileTask*)+0x554;;  CompileBroker::invoke_compiler_on_method(CompileTask*)+0x554
V  [libjvm.so+0x8d62b8]  CompileBroker::compiler_thread_loop()+0x458;;  CompileBroker::compiler_thread_loop()+0x458
V  [libjvm.so+0x133f109]  JavaThread::thread_main_inner()+0x1c9;;  JavaThread::thread_main_inner()+0x1c9
V  [libjvm.so+0x133f366]  JavaThread::run()+0x1c6;;  JavaThread::run()+0x1c6
V  [libjvm.so+0x10c6852]  java_start(Thread*)+0xd2;;  java_start(Thread*)+0xd2
C  [libpthread.so.0+0x6d8c]  start_thread+0xdc
Comments
verified by nightly testing
26-07-2017

I'm able to reproduce this with the latest hs-comp build and the following command: jtreg -vmoptions:"-server -Xcomp -XX:MaxRAMFraction=8 -XX:+CreateCoredumpOnCrash -ea -esa -XX:+TieredCompilation -XX:CompileThreshold=100 -XX:+UnlockExperimentalVMOptions -XX:+IgnoreUnrecognizedVMOptions -XX:+DeoptimizeALot" test/java/util/Map/Defaults.java I verified that this first shows up with the fix for JDK-8143542. Without the changes, I'm not able to reproduce the problem. [~roland], could you please have a look?
15-02-2016

ILW = Crash (integration blocker), many instances, no workaround = HHH = P1
15-02-2016