United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7068051 SIGSEGV in PhaseIdealLoop::build_loop_late_post on T5440
JDK-7068051 : SIGSEGV in PhaseIdealLoop::build_loop_late_post on T5440

Details
Type:
Bug
Submit Date:
2011-07-18
Status:
Closed
Updated Date:
2011-11-25
Project Name:
JDK
Resolved Date:
2011-11-25
Component:
hotspot
OS:
solaris,generic
Sub-Component:
compiler
CPU:
generic
Priority:
P2
Resolution:
Fixed
Affected Versions:
hs21,6u26-rev,7-pool
Fixed Versions:
hs22 (b02)

Related Reports
Backport:
Backport:
Backport:
Backport:
Backport:
Backport:
Relates:
Relates:
Relates:

Sub Tasks

Description
Application client crashes with 

# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0xffffffff7e463aa8, pid=15413, tid=53
#
# JRE version: 7.0-b147
# Java VM: Java HotSpot(TM) 64-Bit Server VM (21.0-b17 mixed mode solaris-sparc compressed oops)
# Problematic frame:
# V  [libjvm.so+0x863aa8]  void PhaseIdealLoop::build_loop_late_post(Node*)+0x510

Stack: [0xfffffff967400000,0xfffffff967500000],  sp=0xfffffff9674f9bd0,  free space=998k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x863aa8]  void PhaseIdealLoop::build_loop_late_post(Node*)+0x510
V  [libjvm.so+0x860e7c]  void PhaseIdealLoop::build_and_optimize(bool)+0xdfc
V  [libjvm.so+0x2522f4]  void Compile::Optimize()+0x5c4
V  [libjvm.so+0x501d20]  Compile::Compile(ciEnv*,C2Compiler*,ciMethod*,int,bool,bool)+0x11c8
V  [libjvm.so+0x24c054]  void C2Compiler::compile_method(ciEnv*,ciMethod*,int)+0xac
V  [libjvm.so+0x24d324]  void CompileBroker::invoke_compiler_on_method(CompileTask*)+0xd8c
V  [libjvm.so+0x2cacd0]  void CompileBroker::compiler_thread_loop()+0x928
V  [libjvm.so+0xa2b550]  void JavaThread::thread_main_inner()+0x40
V  [libjvm.so+0x9285ac]  java_start+0x2b4


Current CompileTask:
C2:  11447    2 % !         atg.core.net.URLHammerThread::run @ 1706 (2785 bytes)

                                    

Comments
EVALUATION

The code added in 7004535 changes does not take into account that cloning/moving predicates below merge points invalidate jvm states recorded in corresponding uncommon traps. Phi nodes should be created for values referenced by predicate's uncommon traps when a predicate is cloned.
                                     
2011-07-19
SUGGESTED FIX

Vladimir said:
Remove predicate cloning from loop peeling optimization and from split fall-in paths. Leave it in loop unswitching code which is safe. Don't allow split loop entry path in IGVN optimization for Phi nodes. And do not clone predicates below merge points in split-if optimization. Remove move_loop_predicate() and eliminate_loop_predicates() unused methods.
                                     
2011-07-29
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/c96c3eb1efae
                                     
2011-07-29
EVALUATION

Verified by running Tomcat on b148
/net/stt-13.russia.sun.com/export/home0/results/1.7.0/b148/bigapps/Tomcat_1.7.0_b148_solaris10-sun4u-64_131C527419A
                                     
2011-08-16
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/c96c3eb1efae
                                     
2011-08-23
EVALUATION

See main CR
                                     
2011-09-01
EVALUATION

See main CR
                                     
2011-09-12



Hardware and Software, Engineered to Work Together