JDK-4946403 : [1.3.1_09] crash in C2 compiler at AddNode::Ideal
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 1.3.1_09
  • Priority: P2
  • Status: Closed
  • Resolution: Cannot Reproduce
  • OS: solaris_8
  • CPU: generic
  • Submitted: 2003-10-30
  • Updated: 2009-06-25
  • Resolved: 2004-07-15
Related Reports
Relates :  
Description
at first glance I thought these may be related to other bugs that have been filed/fixed in the PhaseIterGVN area, but this is on 1.3.1_09 and looks a little different than any others.

All files to read the core are in 
/net/cores.east/cores/dir2/36980619/corefiles

all files in app directory are libraries taken directly from the customers machine so a read with dbx 7.0 should be good. 
Simply run the opencore script.  You may have to edit the opencore script to point to a version of dbx that you have access to.

Customer is running application server 6.5 and the application crashes every day with the following stack trace that looks like it's in the C2 compiler.

current thread: t@9
  [1] _lwp_kill(0x0, 0x9, 0x0, 0xfe7bc004, 0xfedc6000, 0xfe7c0430), at 0xfe79efd8
  [2] raise(0x6, 0x0, 0x0, 0xffffffff, 0xfe7c03bc, 0x0), at 0xfe74ba7c
  [3] abort(0xfe7bc004, 0xd64fe1d0, 0x0, 0x4, 0x0, 0xd64fe1f1), at 0xfe73596c
  [4] os::abort(0x1, 0xfeccc020, 0x1, 0xd64fe250, 0x0, 0xfe90b7b8), at 0xfebc98e4
  [5] os::handle_unexpected_exception(0xfe7c02ac, 0xfed3cb50, 0xfece0204, 0xfec74254, 0xfeccc020, 0xd64fe270), at 0xfebc8730
  [6] JVM_handle_solaris_signal(0x0, 0x13a588, 0xd64fed20, 0xfeccc020, 0xb, 0xd64fefd8), at 0xfea0aefc
  [7] __sighndlr(0xb, 0xd64fefd8, 0xd64fed20, 0xfea0af14, 0x0, 0x0), at 0xfedb4cc8
  [8] call_user_handler(0xfe410e00, 0x9, 0xfedc78e0, 0xd64fed20, 0xd64fefd8, 0xb), at 0xfedafb00
  [9] sigacthandler(0xfe410e00, 0xd64fefd8, 0xd64fed20, 0xfedc6000, 0xd64fefd8, 0xb), at 0xfedafccc
  ---- called from signal handler with signal 11 (SIGSEGV) ------
  [10] AddNode::Ideal(0x5ddc1a8, 0xd64ff3cc, 0xd64ff4ec, 0xa, 0x5ea0634, 0x9), at 0xfe90b7b8
  [11] PhaseIterGVN::transform_old(0x0, 0xd64ff3cc, 0x5ddc1a8, 0xd64ff4ec, 0x9, 0xd64ff3f4), at 0xfe8c1530
  [12] PhaseIterGVN::optimize(0x20, 0xb24, 0xb24, 0x5bc2534, 0x4000, 0x5af77b4), at 0xfe973764
  [13] Compile::Optimize(0xd64ffa08, 0xd64ff840, 0xd64ffa08, 0xd64ff864, 0x0, 0xd64ff664), at 0xfe9ccdc4
=>[14] Compile::Compile(0x535e108, 0xd64ffa88, 0xe8e6dc, 0xfed2d8a4, 0xd64ffb28, 0xd64ffb38), at 0xfe9cbbf4
  [15] C2Compiler::compile_method(0x28fe0, 0xd64ffd84, 0xe8e6dc, 0xe8e5f0, 0xffffffff, 0x1), at 0xfe9c77d0
  [16] CompileBroker::invoke_compiler_on_method(0xe8e5f0, 0xe8e6dc, 0xfeceef18, 0x0, 0x0, 0x1d0), at 0xfe9c7dd4
  [17] CompileBroker::compiler_thread_loop(0x48258, 0x13a588, 0xfeccc020, 0xd64fffa0, 0xfeccc020, 0xffffffff), at 0xfea82b28
  [18] JavaThread::run(0xd6300000, 0xfecd7e64, 0xfeccc020, 0x200000, 0x13a588, 0x200000), at 0xfea167d8
  [19] _start(0xfeccc020, 0xfe410e00, 0x0, 0x0, 0x0, 0x0), at 0xfea1450c
(dbx) regs
current thread: t@9
current frame:  [14]
g0-g1    0x00000000 0x00000000 0x00000000 0x00000001
g2-g3    0x00000000 0x05a68700 0x00000000 0x000002c0
g4-g5    0x00000000 0x000000b0 0x00000000 0x00000000
g6-g7    0x00000000 0x00000000 0x00000000 0xfe410e00
o0-o1    0x00000000 0xd64ffa08 0x00000000 0xd64ff840
o2-o3    0x00000000 0xd64ffa08 0x00000000 0xd64ff864
o4-o5    0x00000000 0x00000000 0x00000000 0xd64ff664
o6-o7    0x00000000 0xd64ff550 0x00000000 0xfe9cbbf4
l0-l1    0x00000000 0x0013a588 0x00000000 0xd64ffa08
l2-l3    0x00000000 0xfeccc020 0x00000000 0xd64ffaa8
l4-l5    0x00000000 0x0535e108 0x00000000 0x00000000
l6-l7    0x00000000 0x00000000 0x00000000 0xfe410e00
i0-i1    0x00000000 0x0535e108 0x00000000 0xd64ffa88
i2-i3    0x00000000 0x00e8e6dc 0x00000000 0xfed2d8a4
i4-i5    0x00000000 0xd64ffb28 0x00000000 0xd64ffb38
i6-i7    0x00000000 0xd64ff9a8 0x00000000 0xfe9c77d0
y        0x00000000 0x00000000
ccr      0x00000000 0x00000004
pc       0x00000000 0xfe9cbbf4:Compile #Nvariant 1+0x848        call    Optimize
npc      0x00000000 0xfe90b7bc:Ideal+0x40       add     %o0, 0x70, %o0
(dbx) frame 10
0xfe90b7b8: Ideal+0x003c:       ld      [%o2], %g4
(dbx) regs    
current thread: t@9
current frame:  [10]
g0-g1    0x00000000 0x00000000 0x00000000 0x00000001
g2-g3    0x00000000 0x05a68700 0x00000000 0x000002c0
g4-g5    0x00000000 0x000000b0 0x00000000 0x00000000
g6-g7    0x00000000 0x00000000 0x00000000 0xfe410e00
o0-o1    0x00000000 0x003c0800 0x00000000 0x05ddc1a8
o2-o3    0x00000000 0x00000000 0x00000000 0x05af882c
o4-o5    0x00000000 0x05e9db50 0x00000000 0x0000003e
o6-o7    0x00000000 0xd64ff058 0x00000000 0xfe90b7b0
l0-l1    0x00000000 0xfe8beea0 0x00000000 0xd64ff4ec
l2-l3    0x00000000 0xd64ff4d8 0x00000000 0x05356a14
l4-l5    0x00000000 0x00000008 0x00000000 0x05ddc1a8
l6-l7    0x00000000 0xd64ff3cc 0x00000000 0xd64ff4ec
i0-i1    0x00000000 0x05ddc1a8 0x00000000 0xd64ff3cc
i2-i3    0x00000000 0xd64ff4ec 0x00000000 0x0000000a
i4-i5    0x00000000 0x05ea0634 0x00000000 0x00000009
i6-i7    0x00000000 0xd64ff0b8 0x00000000 0xfe8c1530
y        0x00000000 0x00000000
ccr      0x00000000 0x00000004
pc       0x00000000 0xfe90b7b8:Ideal+0x3c       ld      [%o2], %g4
npc      0x00000000 0xfe90b7bc:Ideal+0x40       add     %o0, 0x70, %o0
(dbx) dis 
0xfe90b7bc: Ideal+0x0040:       add     %o0, 0x70, %o0
0xfe90b7c0: Ideal+0x0044:       ld      [%g4 + 0x20], %l0
0xfe90b7c4: Ideal+0x0048:       add     %o0, %o7, %i4
0xfe90b7c8: Ideal+0x004c:       mov     %o2, %o0
0xfe90b7cc: Ideal+0x0050:       jmpl    %l0, %o7
0xfe90b7d0: Ideal+0x0054:       ld      [%g2 + %g3], %l1
0xfe90b7d4: Ideal+0x0058:       mov     %o0, %i3
0xfe90b7d8: Ideal+0x005c:       ld      [%l1], %g2
0xfe90b7dc: Ideal+0x0060:       ld      [%g2 + 0x20], %l0
0xfe90b7e0: Ideal+0x0064:       jmpl    %l0, %o7
(dbx) 


Unexpected Signal : 11 occurred at PC=0xfe90b7b8
Function name=JVM_GetCPMethodClassNameUTF
Library=/opt/iplanet6_5/ias6/ias/usr/java/jre/lib/sparc/server/libjvm.so

Current Java thread:

Dynamic libraries:
0x10000 	/opt/iplanet6_5/ias6/ias/bin/.kjs
0xff360000 	/opt/iplanet6_5/ias6/ias/gxlib/libshare.so
0xff340000 	/opt/iplanet6_5/ias6/ias/gxlib/libgxidl.so
0xff320000 	/opt/iplanet6_5/ias6/ias/gxlib/libgxmodule.so
0xff2c0000 	/opt/iplanet6_5/ias6/ias/gxlib/libgxutil.so
0xff280000 	/opt/iplanet6_5/ias6/ias/gxlib/libgxgds.so
0xff250000 	/opt/iplanet6_5/ias6/ias/gxlib/libgxconn.so
0xff230000 	/opt/iplanet6_5/ias6/ias/gxlib/libplds3.so
0xff210000 	/opt/iplanet6_5/ias6/ias/gxlib/libplc3.so
0xff1c0000 	/opt/iplanet6_5/ias6/ias/gxlib/libnspr3.so
0xff1a0000 	/lib/libpthread.so.1
0xff180000 	/lib/libsocket.so.1
0xff080000 	/lib/libnsl.so.1
0xff150000 	/lib/libm.so.1
0xff040000 	/opt/iplanet6_5/ias6/ias/usr/java/jre/lib/sparc/libjava.so
0xfe800000 	/opt/iplanet6_5/ias6/ias/usr/java/jre/lib/sparc/server/libjvm.so
0xff010000 	/lib/libCrun.so.1
0xfee00000 	/lib/libCstd.so.1
0xfe700000 	/lib/libc.so.1
0xfefc0000 	/opt/iplanet6_5/ias6/ias/gxlib/libldap41.so
0xfedd0000 	/opt/iplanet6_5/ias6/ias/gxlib/libgxagent.so
0xfeda0000 	/usr/lib/lwp/libthread.so.1
0xfed80000 	/lib/libposix4.so.1
0xff390000 	/lib/libdl.so.1
0xfed50000 	/lib/libmp.so.2
0xfe7d0000 	/opt/iplanet6_5/ias6/ias/usr/java/jre/lib/sparc/libverify.so
0xfed70000 	/lib/libw.so.1
0xfe690000 	/lib/libresolv.so.2
0xfe650000 	/opt/iplanet6_5/ias6/ias/gxlib/libgxnls.so
0xfe630000 	/lib/libaio.so.1
0xfe5e0000 	/opt/iplanet6_5/ias6/ias/gxlib/libnsres31.so
0xfe570000 	/opt/iplanet6_5/ias6/ias/gxlib/libnsuni31.so
0xfe4f0000 	/opt/iplanet6_5/ias6/ias/gxlib/libnsfmt31.so
0xfe490000 	/opt/iplanet6_5/ias6/ias/gxlib/libnscnv31.so
0xfe480000 	/usr/platform/SUNW,Ultra-80/lib/libc_psr.so.1
0xfe450000 	/usr/lib/cpu/sparcv8plus/libCstd_isa.so.1
0xfe3e0000 	/opt/iplanet6

Comments
WORK AROUND would imagine that -client would get around this or use the .hotspor_compiler file that excludes the method that it's in. Currently trying to find that method.
17-07-2004

EVALUATION This bug is most likely a duplicate of 4951940 in the 1.3.1 server compiler. The fix was provided to the customer but not confirmed. The escalation has been closed. ###@###.### 2004-03-03 The customer never responded in regards to the fix and we don't have a testcase that reproduces it. Closing as not reproduceable. See also bug 4951940. ###@###.### 2004-07-15
15-07-2004

SUGGESTED FIX See attached file : apply_patch.sh for exact fix applied to 1.3.1. ###@###.### 2004-03-03
03-03-2004