JDK-6791132 : bad control in autobox split code
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs12,6u13-rev
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris,solaris_9
  • CPU: sparc
  • Submitted: 2009-01-07
  • Updated: 2011-03-07
  • Resolved: 2011-03-07
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 Other
6u13-revFixed 7Fixed hs11.3Fixed
Description
6395208 added some optimizations to recover the original value from boxing objects in hopes of eliminating them.  One optimization that clones an operation up through a phi was setting bad control on the resulting nodes.  The code was supposed to grab the control from region correspond to the data input but instead was grabbing the data input itself.
Here's the original report:

It is idom_no_update again.

-bash-3.2$ /net/jano2.sfbay/export2/hotspot/bin/hs_err hs_err_pid9266.log
;; Using jvm: "/export/home/huntch/jdks/jdk1.6.0_06p/jre/lib/i386/server/libjvm.so"
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0xfe6cdae9, pid=9266, tid=10
#
# Java VM: Java HotSpot(TM) Server VM (13.0-b04 mixed mode solaris-x86 )
# Problematic frame:
# V  [libjvm.so+0xcdae9]
#
# 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 (0x081a1c00):  JavaThread "CompilerThread1" daemon [_thread_in_native, id=10, stack(0xd4b1e000,0xd4b5e000)]

siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x00000004;;

Registers:
EAX=0x00000000, EBX=0xfecec000, ECX=0x0bb34078, EDX=0xd4b5c258
ESP=0xd4b5bc7c, EBP=0xd4b5bc84, ESI=0xd4b5c258, EDI=0xd4b5c258
EIP=0xfe6cdae9, EFLAGS=0x00010286

Top of Stack: (sp=0xd4b5bc7c)
0xd4b5bc7c:   fecec000 09a5947c d4b5bcb0 feaae7ac
0xd4b5bc8c:   d4b5c258 0af83f60 0bbf3704 0af9550c
0xd4b5bc9c:   fecec000 00000000 00000001 fe6cdad0
0xd4b5bcac:   00000000 d4b5bce4 fe69e71e d4b5c258
0xd4b5bcbc:   09a57e44 0af83f60 0bb89bd8 0000000c
0xd4b5bccc:   fecec000 0af9550d 0af9550d 0af9550c
0xd4b5bcdc:   000011c5 d4b5c258 d4b5bd20 fe738a29
0xd4b5bcec:   d4b5c258 0bbf3704 09407dc0 d4b5bd50

Instructions: (pc=0xfe6cdae9)
0xfe6cdad9:   0c 8b 40 1c 8b 55 08 8b 8a c8 02 00 00 8b 04 81
0xfe6cdae9:   8b 48 04 83 39 00 75 1f 8b 4a 14 8b 40 1c 3b c1
;; fe6cdad9 0c
;; fe6cdada 8b 40 1c                mov    0x1c(%eax),%eax
;; fe6cdadd 8b 55 08                mov    0x8(%ebp),%edx
;; fe6cdae0 8b 8a c8 02 00 00       mov    0x2c8(%edx),%ecx
;; fe6cdae6 8b 04 81                mov    (%ecx,%eax,4),%eax
;; ---------------
;; fe6cdae9 8b 48 04                mov    0x4(%eax),%ecx
;; fe6cdaec 83 39 00                cmpl   $0x0,(%ecx)
;; fe6cdaef 75 1f                   jne    0xfe6cdb10
;; fe6cdaf1 8b 4a 14                mov    0x14(%edx),%ecx
;; fe6cdaf4 8b 40 1c                mov    0x1c(%eax),%eax
;; fe6cdaf7 3b c1                   cmp    %ecx,%eax
;;
Stack: [0xd4b1e000,0xd4b5e000],  sp=0xd4b5bc7c,  free space=247k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0xcdae9];;  __1cOPhaseIdealLoopOidom_no_update6kMpnENode__2_+0x25
V  [libjvm.so+0x4ae7ac];;  __1cOPhaseIdealLoopQdom_lca_internal6kMpnENode_2_2_+0x70
V  [libjvm.so+0x9e71e];;  __1cOPhaseIdealLoopYsplit_if_with_blocks_pre6MpnENode__2_+0x1d2
V  [libjvm.so+0x138a29];; __1cOPhaseIdealLoopUsplit_if_with_blocks6MrnJVectorSet_rnKNode_Stack__v_+0x131
V  [libjvm.so+0x4ae2df];;  __1cOPhaseIdealLoop2t6MrnMPhaseIterGVN_pk0b_v_+0x8e3
V  [libjvm.so+0x157bf5];;  __1cHCompileIOptimize6M_v_+0x159
V  [libjvm.so+0x30f555];;  __1cHCompile2t6MpnFciEnv_pnKC2Compiler_pnIciMethod_ibb_v_+0x8f5
V  [libjvm.so+0x154942];;  __1cKC2CompilerOcompile_method6MpnFciEnv_pnIciMethod_i_v_+0x7a
V  [libjvm.so+0x154ec7];;  __1cNCompileBrokerZinvoke_compiler_on_method6FpnLCompileTask__v_+0x3f7
V  [libjvm.so+0x1b4290];;  __1cNCompileBrokerUcompiler_thread_loop6F_v_+0x34c
V  [libjvm.so+0x1b6198];;  __1cVcompiler_thread_entry6FpnKJavaThread_pnGThread__v_+0x18
V  [libjvm.so+0x17d89c];;  __1cKJavaThreadRthread_main_inner6M_v_+0x4c
V  [libjvm.so+0x17d846];;  __1cKJavaThreadDrun6M_v_+0x182
V  [libjvm.so+0x4ecc71];;  java_start+0xf9
C  [libc.so.1+0xaa1d0]  _thrp_setup+0x70;;  _thrp_setup+0x70
C  [libc.so.1+0xaa430]  _lwp_start+0x0;;  _lwp_start+0x0


Current CompileTask:
C2:5153 org.netbeans.modules.masterfs.filebasedfs.fileobjects.FileObjectFactory.issueIfExist(Ljava/io/File;Lorg/netbeans/modules/masterfs/filebasedfs/fileobjects/FileObjectFactory$Caller;Lorg/openide/filesystems/FileObject;Lorg/netbeans/modules/masterfs/filebasedfs/naming/FileNaming;IZ)Lorg/netbeans/modules/masterfs/filebasedfs/fileobjects/BaseFileObj; (772 bytes)




charlie hunt wrote:
Hi Tom,
It's on my laptop which is currently connected via VPN.
Vladimir e-mailed me off list.  I gave Vladimir instructions on how to get on my local machine.  Would you like instructions too, or would you like me to send you the hs*.log and gzip'd core?
I may have been able to reproduce it. I haven't looked at the hs*.log to see if looks like the same issue.   But, I was doing a similar task in NetBeans 6.5 IDE.
charlie ...
Tom Rodriguez wrote:
Can you point me at the core and hs_err?

tom

On Nov 7, 2008, at 8:27 AM, charlie hunt wrote:

I was running NetBeans 6.5's debugger with JDK 6u6p-b04 on OpenSolaris x86 snv_98.  According to the hs*.log file it appears to have core'd in the C2 compiler thread.

I have the core file and the hs*.log file in case anyone wants to take a look.  Or, if there's additional information I can gather, let me know, I'll grab the addl info and archive everything off somewhere, or file a CR if you think it's appropriate.

thanks,

charlie ....

Comments
EVALUATION The fix has been verified as part of hs15-b02 pit.
24-02-2009

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/041fe019d769
13-01-2009

EVALUATION Note that this only happens with -XX:+AggressiveOpts which turns on EliminateAutoBox.
07-01-2009