United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7017746 Regression : C2 compiler crash due to SIGSEGV in PhaseCFG::schedule_early()
JDK-7017746 : Regression : C2 compiler crash due to SIGSEGV in PhaseCFG::schedule_early()

Details
Type:
Bug
Submit Date:
2011-02-07
Status:
Closed
Updated Date:
2011-12-12
Project Name:
JDK
Resolved Date:
2011-03-08
Component:
hotspot
OS:
generic
Sub-Component:
compiler
CPU:
generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
6
Fixed Versions:
hs21 (b03)

Related Reports
Backport:
Backport:
Backport:
Relates:

Sub Tasks

Description
SYNOPSIS
--------
C2 compiler crash due to SIGSEGV in PhaseCFG::schedule_early()

OPERATING SYSTEMS
-----------------
Solaris

JDK VERSION
-----------
Failure only occurs from 6u4 onwards.
Tested with 6u23, 6u13, 6u4, 6u3, 6u2, 6u1 and 6 GA
Also occurs with JDK7 (tested with b127).
Does not occur with 5.0.

REPRODUCTION INSTRUCTIONS
-------------------------
Full instructions are included in the testcase package provided.  See comments for link to download the testcase package.

The following crash will occur, always during compilation of the same Java method:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0xfe8b3138, pid=3170, tid=23
#
# JRE version: 6.0_23-b05
# Java VM: Java HotSpot(TM) Server VM (19.0-b09 mixed mode solaris-sparc )
# Problematic frame:
# V  [libjvm.so+0x4b3138]
#
# An error report file with more information is saved as:
# /home/cheesemp/test/sharejava5000/share/sample/hs_err_pid3170.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#

-----------------  lwp# 23 / thread# 23  --------------------
 ff2caa58 _lwp_kill (6, 0, ff342f18, feb4dc34, ffffffff, 6) + 8
 ff24194c abort    (2da50, 1, fec78c78, fcb78, ff3413d8, 0) + 110
 feb4dc34 __1cCosFabort6Fb_v_ (1, fedccd14, 1, fedb2000, 1ad14, 1ac00) + 5c
 fec78c78 __1cHVMErrorOreport_and_die6M_v_ (fedf40f4, fede6841, 1, fedfa030, fedcccec, 0) + cec
 fe5c5e74 JVM_handle_solaris_signal (b, b66fe828, fff83d63, 7c000, 1dd000, 40c00) + ae4
 ff2c6e78 __sighndlr (b, b66fe828, b66fe570, fe5c5358, 0, 1) + c
 ff2bb558 call_user_handler (b, ffbffeff, c, 0, fee9aa00, b66fe570) + 3b8
 ff2bb72c sigacthandler (b, b66fe828, b66fe570, 8, fee9aa00, fe5ab74c) + 4c
 --- called from signal handler with signal 11 (SIGSEGV) ---
 fe8b3138 __1cIPhaseCFGOschedule_early6MrnJVectorSet_rnJNode_List__b_ (b66feba4, b66fe9e8, b66fe9d8, 0, 1, feddb434) + 1
ec
 fe5ab74c __1cIPhaseCFGQGlobalCodeMotion6MrnHMatcher_IrnJNode_List__v_ (b66feba4, b66fec18, 362, b66ff010, 1c34f0, 97ca7
c) + 1a0
 fe5ad0b4 __1cHCompileICode_Gen6M_v_ (b66ffbe4, b66ff578, 0, fedb2000, b66ffbe4, b66feba4) + 31c
 fe80ad78 __1cHCompile2t5B6MpnFciEnv_pnKC2Compiler_pnIciMethod_ibb_v_ (b66ff578, 97ca88, 2c7e0, fee023dc, 3c3774, 503dc)
 + da0
 fe5c6dfc __1cKC2CompilerOcompile_method6MpnFciEnv_pnIciMethod_i_v_ (2c7e0, b66ffbe4, 17677b8, ffffffff, fecb8890, 0) +
a0
 fe5c7c88 __1cNCompileBrokerZinvoke_compiler_on_method6FpnLCompileTask__v_ (640128, d8c00, e5, 0, fe5c6d5c, 1dd000) + 9f
c
 fe6384e4 __1cNCompileBrokerUcompiler_thread_loop6F_v_ (fedf30b4, 1dd000, 1c3460, 2fc58, 1dde8c, 1) + 80c
 fec2318c __1cKJavaThreadRthread_main_inner6M_v_ (1dd000, 6, fedee064, 17, fedb2000, 0) + 48
 feb4ccbc java_start (1dd000, c77, fedb2000, fed33c51, 1de670, fee02a2c) + 22c
 ff2c6d4c _lwp_start (0, 0, 0, 0, 0, 0)

Sometimes the crashing thread looks slightly different:

-----------------  lwp# 23 / thread# 23  --------------------
 ff2caa58 _lwp_kill (6, 0, ff342f18, feb4dc34, ffffffff, 6) + 8
 ff24194c abort    (2da50, 1, fec78c78, fcb78, ff3413d8, 0) + 110
 feb4dc34 __1cCosFabort6Fb_v_ (1, fedccd14, 1, fedb2000, 1ad14, 1ac00) + 5c
 fec78c78 __1cHVMErrorOreport_and_die6M_v_ (fedf40f4, fede6841, 1, fedfa030, fedcccec, 0) + cec
 fe5c5e74 JVM_handle_solaris_signal (b, b66fe6a8, fff83d63, 7c000, 1dd000, 40c00) + ae4
 ff2c6e78 __sighndlr (b, b66fe6a8, b66fe3f0, fe5c5358, 0, 1) + c
 ff2bb558 call_user_handler (b, ffbffeff, c, 0, fee9aa00, b66fe3f0) + 3b8
 ff2bb72c sigacthandler (b, b66fe6a8, b66fe3f0, 8, fee9aa00, fe5ab74c) + 4c
 --- called from signal handler with signal 11 (SIGSEGV) ---
 b66fe868, b66fe858, 0, 1, feddb434) + 1ecJVectorSet_rnJNode_List__b_ (b66fea24,
 fe5ab74c __1cIPhaseCFGQGlobalCodeMotion6MrnHMatcher_IrnJNode_List__v_ (b66fea24, b66fea98, 362, b66fee90, 1c34f0, 1653b
a4) + 1a0
 fe5ad0b4 __1cHCompileICode_Gen6M_v_ (b66ffa64, b66ff3f8, 0, fedb2000, b66ffa64, b66fea24) + 31c
 fe80ad78 __1cHCompile2t5B6MpnFciEnv_pnKC2Compiler_pnIciMethod_ibb_v_ (b66ff3f8, de4a80, 2c7e0, fee023dc, 18f7eb4, 503dc
) + da0
 fe5c6dfc __1cKC2CompilerOcompile_method6MpnFciEnv_pnIciMethod_i_v_ (2c7e0, b66ffa64, 7e5a38, ffffffff, fecb8890, 0) + a
0
 fe5c7c88 __1cNCompileBrokerZinvoke_compiler_on_method6FpnLCompileTask__v_ (7000c8, d8c00, e9, 0, fe5c6d5c, 1dd000) + 9f
c
 fe6384e4 __1cNCompileBrokerUcompiler_thread_loop6F_v_ (fedf30b4, 1dd000, 1c3460, 2fc58, 1dde8c, 1) + 80c
 fec2318c __1cKJavaThreadRthread_main_inner6M_v_ (1dd000, 6, fedee064, 17, fedb2000, 0) + 48
 feb4ccbc java_start (1dd000, c62, fedb2000, fed33c51, 1de670, fee02a2c) + 22c
 ff2c6d4c _lwp_start (0, 0, 0, 0, 0, 0)

WORKAROUND
----------
1. Use C1 compiler
2. Exclude the problematic method from compilation.

                                    

Comments
EVALUATION

Bug in adlc code which generates Expand() for mach nodes which have duplicated operands and TEMP. In this case it is cadd_cmpLTMaskNode node.
                                     
2011-02-09
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/ab42c7e1cf83
                                     
2011-02-11
EVALUATION

http://hg.openjdk.java.net/hsx/hsx20/baseline/rev/57090cdd4e01
                                     
2011-02-14



Hardware and Software, Engineered to Work Together