United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6766316 assert(!nocreate,"Cannot build a phi for a block already parsed.")
JDK-6766316 : assert(!nocreate,"Cannot build a phi for a block already parsed.")

Details
Type:
Bug
Submit Date:
2008-10-31
Status:
Closed
Updated Date:
2011-03-08
Project Name:
JDK
Resolved Date:
2011-03-08
Component:
hotspot
OS:
solaris_10
Sub-Component:
compiler
CPU:
sparc
Priority:
P3
Resolution:
Fixed
Affected Versions:
hs14
Fixed Versions:
hs14 (b08)

Related Reports
Backport:
Backport:

Sub Tasks

Description
The regression was introduced with the next push:

6384206: Phis which are later unneeded are impairing our ability to inline based on static types

hsdev-13% unzip -q /net/prt-archiver/data/jprt/archive/2008/09/2008-09-17-200034.never.6384206/bundles/solaris_i586_5.10-debug.zip

hsdev-13% bin/java -server -Xss4m -Xverify:all -XX:-ShowMessageBoxOnError -XX:+CompileTheWorld -XX:CompileTheWorldStartAt=1 -Xbootclasspath/p:/net/vmsqe.sfbay/export/backup/testbase/CompileTheWorld/jarfiles/Dynamo4.1.0.jar
...
CompileTheWorld (809) : atg/server/http/HttpRequestServerBeanInfo
CompileTheWorld (810) : atg/server/tcp/RequestServerHandler
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/parse1.cpp:1804
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/tmp/jprt-jprtadm/P2/B/200034.never/source/src/share/vm/opto/parse1.cpp:1804), pid=20910, tid=21
#  Error: assert(!nocreate,"Cannot build a phi for a block already parsed.")
#
# Java VM: OpenJDK Server VM (14.0-b04-2008-09-17-200034.never.6384206-jvmg mixed mode solaris-x86 )
# An error report file with more information is saved as:
# /export/kvn/ctw/hs_err_pid20910.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#
Current thread is 21
Dumping core ...
Abort
hsdev-13% hs_err hs_err_pid20910.log
# 
# A fatal error has been detected by the Java Runtime Environment: 
# 
#  Internal Error (/tmp/jprt-jprtadm/P2/B/200034.never/source/src/share/vm/opto/parse1.cpp:1804), pid=20910, tid=21 
#  Error: assert(!nocreate,"Cannot build a phi for a block already parsed.") 
# 
# Java VM: OpenJDK Server VM (14.0-b04-2008-09-17-200034.never.6384206-jvmg mixed mode solaris-x86 ) 
# If you would like to submit a bug report, please visit: 
#   http://java.sun.com/webapps/bugreport/crash.jsp 
# 
 
---------------  T H R E A D  --------------- 
 
Current thread (0x08260c00):  JavaThread "CompilerThread1" daemon [_thread_in_native, id=21, stack(0xb5816000,0xb5856000)] 
 
Stack: [0xb5816000,0xb5856000],  sp=0xb58542f8,  free space=248k 
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) 
V  [libjvm.so+0x97e086] void VMError::report(outputStream*) + 0x906
V  [libjvm.so+0x97f093] void VMError::report_and_die() + 0x653
V  [libjvm.so+0x4944a9] void report_assertion_failure(const char*,int,const char*) + 0x79
V  [libjvm.so+0x80d365] PhiNode*Parse::ensure_phi(int,bool) + 0x145
V  [libjvm.so+0x80c67b] void Parse::merge_common(Parse::Block*,int) + 0x79b
V  [libjvm.so+0x80bc58] void Parse::merge(int) + 0xa8
V  [libjvm.so+0x813f24] void Parse::do_jsr() + 0x184
V  [libjvm.so+0x819a27] void Parse::do_one_bytecode() + 0x3fa7
V  [libjvm.so+0x80b9ff] void Parse::do_one_block() + 0x53f
V  [libjvm.so+0x80835c] void Parse::do_all_blocks() + 0x28c
V  [libjvm.so+0x807ff9] Parse::Parse(JVMState*,ciMethod*,float) + 0xdd9
V  [libjvm.so+0x388114] JVMState*ParseGenerator::generate(JVMState*) + 0xc4
V  [libjvm.so+0x441cca] Compile::Compile(ciEnv*,C2Compiler*,ciMethod*,int,bool,bool) + 0xa2a
V  [libjvm.so+0x387139] void C2Compiler::compile_method(ciEnv*,ciMethod*,int) + 0xa9
V  [libjvm.so+0x451786] void CompileBroker::invoke_compiler_on_method(CompileTask*) + 0x4b6
V  [libjvm.so+0x450e0f] void CompileBroker::compiler_thread_loop() + 0x42f
V  [libjvm.so+0x9235e2] void compiler_thread_entry(JavaThread*,Thread*) + 0x62
V  [libjvm.so+0x91edbf] void JavaThread::thread_main_inner() + 0xdf
V  [libjvm.so+0x91ecd1] void JavaThread::run() + 0x1d1
V  [libjvm.so+0x7db5e6] java_start + 0x1f6
C  [libc.so.1+0xaa1c0]  _thrp_setup+0x70 _thrp_setup + 0x70
C  [libc.so.1+0xaa420]  _lwp_start+0x0 _lwp_start + 0x0
 
 
Current CompileTask: 
C2:4786  !b  atg.server.tcp.RequestServerHandler.run()V (316 bytes)

                                    

Comments
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/b1d6a3e95810
                                     
2008-11-19
SUGGESTED FIX

Don't use the invariant local information if there are irreducible loops.
                                     
2008-11-19



Hardware and Software, Engineered to Work Together