JDK-8216137 : assert(Compile::current()->live_nodes() < Compile::current()->max_node_limit()) failed: Live Node limit exceeded limit
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 11,12,13
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2019-01-03
  • Updated: 2022-03-10
  • Resolved: 2019-05-03
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 13
11.0.16-oracleFixed 13 b20Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Description
Kitchesnink24H crashed with 
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/scratch/opt/mach5/mesos/work_dir/slaves/2dd962d0-8988-479b-a804-57ab764ada59-S1252/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/0b1cac01-1b57-4837-a3c3-a8012289f88e/runs/b4ec946e-6bcb-4bfd-b1db-f7ce8a7de14d/workspace/open/src/hotspot/share/opto/node.cpp:81), pid=17012, tid=17053
#  assert(Compile::current()->live_nodes() < Compile::current()->max_node_limit()) failed: Live Node limit exceeded limit
#
# JRE version: Java(TM) SE Runtime Environment (13.0) (fastdebug build 13-internal+0-2019-01-03-0738241.leonid.mesnik.jdk-clean)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 13-internal+0-2019-01-03-0738241.leonid.mesnik.jdk-clean, mixed mode, sharing, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# V  [libjvm.so+0x1420dda]  Node::verify_construction()+0x13a
#
# Core dump will be written. Default location: /scratch/opt/mach5/mesos/work_dir/slaves/2dd962d0-8988-479b-a804-57ab764ada59-S77590/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/e593a391-8ee4-4686-86c7-68a1180a384f/runs/298045ac-1255-4a65-b19b-f8d205f35c25/testOutput/test-support/jtreg_closed_test_hotspot_jtreg_applications_kitchensink_Kitchensink24HStress_java/scratch/0/core.17012
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#

---------------  S U M M A R Y ------------

Command Line: -XX:MaxRAMPercentage=6 -XX:-TieredCompilation -XX:MaxRAMPercentage=50 -XX:+HeapDumpOnOutOfMemoryError -XX:+CrashOnOutOfMemoryError -Djava.net.preferIPv6Addresses=false -XX:+DisplayVMOutputToStderr -XX:+UsePerfData -Xlog:gc*,gc+heap=debug:gc.log:uptime,timemillis,level,tags -XX:+DisableExplicitGC -XX:+StartAttachListener -XX:NativeMemoryTracking=detail -XX:+FlightRecorder --add-exports=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-exports=java.xml/com.sun.org.apache.xerces.internal.parsers=ALL-UNNAMED --add-exports=java.xml/com.sun.org.apache.xerces.internal.util=ALL-UNNAMED -Djava.io.tmpdir=/scratch/opt/mach5/mesos/work_dir/slaves/2dd962d0-8988-479b-a804-57ab764ada59-S77590/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/e593a391-8ee4-4686-86c7-68a1180a384f/runs/298045ac-1255-4a65-b19b-f8d205f35c25/testOutput/test-support/jtreg_closed_test_hotspot_jtreg_applications_kitchensink_Kitchensink24HStress_java/scratch/0/java.io.tmpdir -Duser.home=/scratch/opt/mach5/mesos/work_dir/slaves/2dd962d0-8988-479b-a804-57ab764ada59-S77590/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/e593a391-8ee4-4686-86c7-68a1180a384f/runs/298045ac-1255-4a65-b19b-f8d205f35c25/testOutput/test-support/jtreg_closed_test_hotspot_jtreg_applications_kitchensink_Kitchensink24HStress_java/scratch/0/user.home applications.kitchensink.process.stress.Main /scratch/opt/mach5/mesos/work_dir/slaves/2dd962d0-8988-479b-a804-57ab764ada59-S77590/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/e593a391-8ee4-4686-86c7-68a1180a384f/runs/298045ac-1255-4a65-b19b-f8d205f35c25/testOutput/test-support/jtreg_closed_test_hotspot_jtreg_applications_kitchensink_Kitchensink24HStress_java/scratch/0/kitchensink.final.properties

Host: sca00lnk.us.oracle.com, Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz, 8 cores, 59G, Oracle Linux Server release 7.1
Time: Thu Jan  3 08:31:46 2019 PST elapsed time: 30781 seconds (0d 8h 33m 1s)

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

Current thread (0x00007f9384436800):  JavaThread "C2 CompilerThread0" daemon [_thread_in_vm, id=17053, stack(0x00007f9322c74000,0x00007f9322d75000)]


Current CompileTask:
C2:30781169 65447 %           org.sunflow.core.bucket.HilbertBucketOrder::getBucketSequence @ 58 (368 bytes)

Stack: [0x00007f9322c74000,0x00007f9322d75000],  sp=0x00007f9322d6f120,  free space=1004k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x1420dda]  Node::verify_construction()+0x13a
V  [libjvm.so+0x1429946]  Node::clone() const+0x1c6
V  [libjvm.so+0x1275b99]  PhaseIdealLoop::clone_for_use_outside_loop(IdealLoopTree*, Node*, Node_List&)+0x289
V  [libjvm.so+0x1278313]  PhaseIdealLoop::partial_peel(IdealLoopTree*, Node_List&)+0x1963
V  [libjvm.so+0x123f00c]  IdealLoopTree::iteration_split_impl(PhaseIdealLoop*, Node_List&)+0x29c
V  [libjvm.so+0x123f5aa]  IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)+0x24a
V  [libjvm.so+0x1265f69]  PhaseIdealLoop::build_and_optimize(LoopOptsMode)+0xd99
V  [libjvm.so+0xa03eb1]  Compile::Optimize()+0x981
V  [libjvm.so+0xa051cc]  Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0xd6c
V  [libjvm.so+0x8067e1]  C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+0xd1
V  [libjvm.so+0xa123d9]  CompileBroker::invoke_compiler_on_method(CompileTask*)+0x409
V  [libjvm.so+0xa134f8]  CompileBroker::compiler_thread_loop()+0x458
V  [libjvm.so+0x17ae34f]  JavaThread::thread_main_inner()+0x2cf
V  [libjvm.so+0x17b81ec]  JavaThread::run()+0x1cc
V  [libjvm.so+0x17b5960]  Thread::call_run()+0x100
V  [libjvm.so+0x149f77d]  thread_native_entry(Thread*)+0x10d


Comments
Git URL: https://github.com/openjdk/jdk/commit/e08506e6831667c17f1197345261f4c5e34294dc
10-03-2022

Fix Request (11u): Should get backported for parity with 11.0.16-oracle. Applies partially cleanly. Review: https://github.com/openjdk/jdk11u-dev/pull/868 Nightly tests have passed.
09-03-2022

A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk11u-dev/pull/868 Date: 2022-03-09 10:47:54 +0000
09-03-2022

URL: http://hg.openjdk.java.net/jdk/jdk/rev/fc7627bf4b01 User: phedlin Date: 2019-05-03 09:00:17 +0000
03-05-2019

And another one with the same symptoms but different source (loop unswitching): JDK-8219520 This happened with the fix for JDK-8210392, so I don't think we should close these as not an issue.
21-02-2019

Same symptom(s), from different source (loop peeling). However, after resolving JDK-8210293, this seems to be less of a problem (perhaps to the extent that we can close the issue for now).
20-02-2019

Hi [~phedlin], Request help. Is this 8216137 a duplicate of JDK-8210392 which is closed/fixed now?
16-01-2019

This is similar to JDK-8210392 where we create too many nodes during split if but in this case we are failing afterwards during iteration splitting. I think IdealLoopTree::policy_peeling should prevent this, maybe we need to adjust that limit computation as well. [~phedlin], could you please have a look?
04-01-2019

ILW = Assert during compilation (should not affect product builds), with long run of Kitchensink, disable partial peeling or disable affected method from compilation = MMM = P3
04-01-2019