JDK-7068051 : SIGSEGV in PhaseIdealLoop::build_loop_late_post on T5440
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs21,6u26-rev,7-pool
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: generic,solaris
  • CPU: generic
  • Submitted: 2011-07-18
  • Updated: 2014-03-17
  • Resolved: 2011-11-25
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 6 JDK 7 JDK 8 Other
6u29Resolved 7Fixed 8Fixed hs21Fixed
Related Reports
Duplicate :  
Relates :  
Relates :  
Relates :  
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 See main CR
12-09-2011

EVALUATION See main CR
01-09-2011

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

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
16-08-2011

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

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.
29-07-2011

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.
19-07-2011