United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7003130 assert(iterations<CG_BUILD_ITER_LIMIT) failed: infinite EA connection graph ...
JDK-7003130 : assert(iterations

Details
Type:
Bug
Submit Date:
2010-11-29
Status:
Closed
Updated Date:
2011-04-23
Project Name:
JDK
Resolved Date:
2011-04-23
Component:
hotspot
OS:
generic
Sub-Component:
compiler
CPU:
generic
Priority:
P4
Resolution:
Fixed
Affected Versions:
hs20
Fixed Versions:
hs20 (b06)

Related Reports
Backport:
Backport:

Sub Tasks

Description
Application crashes after 4 hours (solaris-sparcv9, fastdebug, -d64 -server -XX:-UseCompressedOops -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:+AggressiveOpts -XX:CompileThreshold=100 -XX:+UseCodeCacheFlushing):

# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/export/HUDSON/workspace/jdk7-2-build-solaris-sparcv9-product/jdk7/hotspot/src/share/vm/opto/escape.cpp:1655), pid=9422, tid=30
#  assert(iterations<CG_BUILD_ITER_LIMIT) failed: infinite EA connection graph build with 8941 nodes and worklist size 464
#
# JRE version: 7.0-b119
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20.0-b03-fastdebug mixed mode solaris-sparc )

Current thread (0x000000010a400800):  JavaThread "C2 CompilerThread1" daemon [_thread_in_native, id=30, stack(0xfffffffeebe00000,0xfffffffeebf00000)]

Stack: [0xfffffffeebe00000,0xfffffffeebf00000],  sp=0xfffffffeebef7850,  free space=990k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x12c366c];;  void VMError::report_and_die()+0x734
V  [libjvm.so+0x71b1e8];;  void report_vm_error(const char*,int,const char*,const char*)+0x78
V  [libjvm.so+0x7b531c];;  bool ConnectionGraph::compute_escape()+0x954
V  [libjvm.so+0x7b4960];;  void ConnectionGraph::do_analysis(Compile*,PhaseIterGVN*)+0x5c
V  [libjvm.so+0x65525c];;  void Compile::Optimize()+0x1b4
V  [libjvm.so+0x650954];;  Compile::Compile(ciEnv*,C2Compiler*,ciMethod*,int,bool,bool)+0xe9c
V  [libjvm.so+0x4c14b4];;  void C2Compiler::compile_method(ciEnv*,ciMethod*,int)+0xb4
V  [libjvm.so+0x668574];;  void CompileBroker::invoke_compiler_on_method(CompileTask*)+0x1d4c
V  [libjvm.so+0x6661ec];;  void CompileBroker::compiler_thread_loop()+0xb24
V  [libjvm.so+0x11f1f5c];;  void JavaThread::thread_main_inner()+0x1a4
V  [libjvm.so+0x11f1d98];;  void JavaThread::run()+0x248
V  [libjvm.so+0xf380d8];;  java_start+0x300

Current CompileTask:
C2:12264531 12135      com.sun.tools.javac.comp.TransTypes.addBridge(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Symbol$MethodSymbol;Lcom/sun/tools/javac/code/Symbol$MethodSymbol;Lcom/sun/tools/javac/code/Symbol$ClassSymbol;ZLcom/sun/tools/javac/util/ListBuffer;)V (330 bytes)

                                    

Comments
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/a21ff35351ec
                                     
2010-12-22
PUBLIC COMMENTS

It seems, 10 for CG_BUILD_ITER_LIMIT is small.
I rerun current VM with jvm2008 and observed 8 iterations.
So a case with 10 may be not as rare as I thought.
I tried to collect statistic on the correlation
of this number with total number of nodes and number
of particular idead nodes (addp,load,store,call) but
I did not find any correlation. It seems, it depends
more on the order of nodes on worklist than on number
of nodes.

Bumping CG_BUILD_ITER_LIMIT to 20.

Note: in product VM we recompile a method without EA
so it is not a critical problem.
                                     
2010-12-22



Hardware and Software, Engineered to Work Together