JDK-6394438 : crash in C2 compiler in MachSpillCopyNode::implementation on 5.0_U4
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 5.0u4,5.0u16
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • OS: solaris_9,solaris_10
  • CPU: sparc
  • Submitted: 2006-03-06
  • Updated: 2012-08-06
  • Resolved: 2009-03-09
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.
Other Other
5.0u18-rev b03Fixed 5.0u19Fixed
Related Reports
Relates :  
Relates :  
Description
Customer says they see this on both 5.0 update for and update 6.
The core I have is for update 4

They are experiencing a C2 compiler crash

current thread: t@12
  [1] _lwp_kill(0x0, 0x6, 0xffffffffffffffe6, 0x0, 0x0, 0x0), at 0xffffffff7efa822c
  [2] raise(0x6, 0x0, 0xfffffffef06fd260, 0xf778, 0xf400, 0x11400), at 0xffffffff7ef58a8c
  [3] abort(0xf128, 0x1001161b0, 0x0, 0xffffffff7ea8d008, 0x0, 0xffffffff7e9d0000), at 0xffffffff7ef3e3b8
  [4] os::abort(0x1, 0xf400, 0xb, 0xffffffff7e9d0000, 0x24e8cc, 0xb000), at 0xffffffff7e781788
  [5] VMError::report_and_die(0x0, 0xffffffff7ea793dc, 0xffffffff7ea793a8, 0xffffffff7e8bd32e, 0xffffffff7ea6e158, 0x0), at 0xffffffff7e804ae0
  [6] report_fatal(0xffffffff7e81c0ac, 0x1c9, 0xffffffff7e81c0ce, 0x20000000, 0x0, 0x20), at 0xffffffff7e5434b8
=>[7] MachSpillCopyNode::implementation(0x2a9, 0x1, 0xfffffffef06fde38, 0x2a8, 0x1007, 0x1), at 0xffffffff7e22fefc
  [8] Compile::Fill_buffer(0xfffffffef06fe8e0, 0x1, 0x1024ce9c0, 0xffffffff7ea31660, 0xffffffff7e9e9b80, 0x100aceea0), at 0xffffffff7e30d7b4
  [9] Compile::Output(0xfffffffef06fe8e0, 0xb4a0, 0xffffffff7ea6c8d0, 0xfffffffef06ff848, 0x0, 0x0), at 0xffffffff7e30c674
  [10] Compile::Code_Gen(0xfffffffef06fe8e0, 0x0, 0xffffffff7e855a45, 0x0, 0xfffffffef06ff848, 0xffffffff7e9d0000), at 0xffffffff7e30a828
  [11] Compile::Compile(0xfffffffef06fe8e0, 0x7ff00000409ffb, 0x1001a8270, 0x101a99500, 0xfffffffef06ff848, 0x0), at 0xffffffff7e37b4b8
  [12] C2Compiler::compile_method(0xfffffffef06ff848, 0xffffffff7e83e028, 0x10222be40, 0xffffffffffffffff, 0x1001173a0, 0xfffffffef06fea80), at 0xffffffff7e371a14
  [13] CompileBroker::invoke_compiler_on_method(0x10222be40, 0x1001a8270, 0x1002bf4e0, 0x0, 0xffffffff7ea6c8d0, 0xffffffff7e9d0000), at 0xffffffff7e371fdc
  [14] CompileBroker::compiler_thread_loop(0xffffffff7ea6c8d0, 0x1001a8090, 0x1002bf4e0, 0x1002bfbe0, 0xffffffff7ea58f68, 0xffffffff7ea58f6c), at 0xffffffff7e43e7f0
  [15] JavaThread::run(0x1002bf4e0, 0xe800, 0xffffffff7ea62e34, 0x0, 0x0, 0xffffffff7e9d0000), at 0xffffffff7e3d7ad4
  [16] _start(0x1002bf4e0, 0xb100, 0x24ee34, 0x1002c0350, 0xb000, 0xffffffff7e9d0000), at 0xffffffff7e781308


(dbx) regs
current thread: t@12
current frame:  [7]
g0-g1    0x0000000000000000 0x00000000000000a3
g2-g3    0x000000000000dc00 0xffffffff7ea6e0c8
g4-g5    0x0000000000000001 0x000000000015e504
g6-g7    0x0000000000000000 0xffffffff7ed02c00
o0-o1    0xffffffff7e81c0ac 0x00000000000001c9
o2-o3    0xffffffff7e81c0ce 0x0000000020000000
o4-o5    0x0000000000000000 0x0000000000000020
o6-o7    0xfffffffef06fcda1 0xffffffff7e22fefc
l0-l1    0x0000000000000000 0x00000001024cf830
l2-l3    0xffffffff7e9d0000 0x0000000000000003
l4-l5    0x00000000e0738000 0x0000000000000003
l6-l7    0xffffffff7e9e80c8 0x0000000000000000
i0-i1    0x00000000000002a9 0x0000000000000001
i2-i3    0xfffffffef06fde38 0x00000000000002a8
i4-i5    0x0000000000001007 0x0000000000000001
i6-i7    0xfffffffef06fce51 0xffffffff7e30d7b4
y        0x0000000000000000
ccr      0x0000000000000098
pc       0xffffffff7e22fefc:implementation+0x97c        call     report_fatal   ! 0xffffffff7e543490
npc      0xffffffff7efa8230:_lwp_kill+0xc       clr      %o0
(dbx)
(dbx)
(dbx) dis implementation
0xffffffff7e22f580: implementation       :      save     %sp, -176, %sp
0xffffffff7e22f584: implementation+0x0004:      ldx      [%i0 + 8], %o7
0xffffffff7e22f588: implementation+0x0008:      mov      %i1, %l1
0xffffffff7e22f58c: implementation+0x000c:      ldx      [%i2 + 24], %g5
0xffffffff7e22f590: implementation+0x0010:      ldx      [%o7 + 8], %o4
0xffffffff7e22f594: implementation+0x0014:      mov      %o7, %g1
0xffffffff7e22f598: implementation+0x0018:      call     implementation+0x20    ! 0xffffffff7e22f5a0
0xffffffff7e22f59c: implementation+0x001c:      sethi    %hi(0x7a0800), %g2
0xffffffff7e22f5a0: implementation+0x0020:      ld       [%o4 + 40], %o2
0xffffffff7e22f5a4: implementation+0x0024:      ld       [%i0 + 40], %o5

Comments
EVALUATION Bailout a compilation of methods with too large constant pool.
05-02-2009

WORK AROUND by excluding method they have not seen the crash
06-03-2006