United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6566532 GC crash at ScavengeRootsTask::do_it
JDK-6566532 : GC crash at ScavengeRootsTask::do_it

Details
Type:
Bug
Submit Date:
2007-06-06
Status:
Resolved
Updated Date:
2010-12-02
Project Name:
JDK
Resolved Date:
2008-05-01
Component:
hotspot
OS:
linux,solaris_10
Sub-Component:
svc
CPU:
x86,sparc
Priority:
P2
Resolution:
Fixed
Affected Versions:
5.0,5.0u4,5.0u14,5.0u16
Fixed Versions:
5.0u15-rev (b11)

Related Reports
Backport:
Duplicate:
Duplicate:
Relates:
Relates:

Sub Tasks

Description
This is from radiance case # 65514463

#  SIGSEGV (0xb) at pc=0xfea93a7c, pid=22873, tid=28
#
# Java VM: Java HotSpot(TM) Server VM (1.5.0_04-b05 mixed mode)
# Problematic frame:
# V  [libjvm.so+0x293a7c]

---------------  T H R E A D  ---------------

Current thread (0x0012f1a0):  GCTaskThread [id=28]

siginfo:si_signo=11, si_errno=0, si_code=1, si_addr=0x00009088;;
;; si_signo=11  SIGSEGV
;; si_code=1    SEGV_MAPERR /* Address not mapped to object.  */

Stack: [0xaf000000,0xaf080000),  sp=0xaf07fb18,  free space=510k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x293a7c];;  void ThreadService::oops_do(OopClosure*)+0x50
V  [libjvm.so+0x295098];;  void Management::oops_do(OopClosure*)+0x38
V  [libjvm.so+0x1ee5cc];;  void ScavengeRootsTask::do_it(GCTaskManager*,unsigned
)+0x160
V  [libjvm.so+0x34958c];;  void GCTaskThread::run()+0x1e8
V  [libjvm.so+0x64a5bc];;  void*_start(void*)+0x144

Data location (hs_err log, corefile) : /net/cores.central/cores/65514463

CU wants to know the root cause of this problem and if any existing workarounds,
They mentioned that moving to newer jdk is last option 
for them.
Collected a second core file in
/net/cores.central/cores/dir10/65514463/june11.

This one shows a different stack trace, could this be
http://monaco.sfbay/detail.jsf?cr=6492085?

t@98 (l@98) stopped in __lwp_kill at 0xff3412a4
0xff3412a4: __lwp_kill+0x0008:  bcc,a,pt  %icc,__lwp_kill+0x18  ! 0xff3412b4
(dbx) where
current thread: t@98
=>[1] __lwp_kill(0x0, 0x6, 0xfeec6324, 0xa8350, 0xff36b298, 0x0), at 0xff3412a4
  [2] raise(0x6, 0x0, 0xfee4a9c0, 0xffffffff, 0xff368284, 0x6), at 0xff2dfe18
  [3] abort(0x6800, 0x1, 0xfeec6324, 0xa8350, 0xff36b298, 0x0), at 0xff2c0038
  [4] os::abort(0x1, 0x0, 0xfefb2e84, 0xfef80000, 0x70e0, 0x7000), at 0xfee4a9c0

  [5] VMError::report_and_die(0x0, 0xfefd8ee0, 0xfefd2bd4, 0x1, 0xfee4e6e4, 0xfe
fd2bd4), at 0xfeec6324
  [6] JVM_handle_solaris_signal(0xb, 0xc077ddf0, 0xc077db38, 0x7400, 0xfefd1c04,
 0x22a3330), at 0xfea6e9d4
  [7] __sighndlr(0xb, 0xc077ddf0, 0xc077db38, 0xfea6def0, 0x0, 0x1), at 0xff3401
dc
  ---- called from signal handler with signal 11 (SIGSEGV) ------
  [8] InterpreterRuntime::exception_handler_for_exception(0x236d320, 0x0, 0x22a3
330, 0x7000, 0x236d32c, 0xa3a618), at 0xfe9c281c
  [9] 0xf8809ff8(0xf450c8d8, 0xb7, 0xd5bb4568, 0xf8816080, 0x37c, 0xc077e1c8), a
t 0xf8809ff8
  [10] 0xf8805764(0xf3e2d9f8, 0xb6, 0xd7c3e234, 0xf8815f20, 0xf3e324d0, 0xc077e2
d0), at 0xf8805764
  [11] 0xf8805874(0xf3e2d9f0, 0xb6, 0x0, 0xf8815cc0, 0xf3e324d0, 0xc077e360), at
 0xf8805874
  [12] 0xf8805874(0x5, 0x22a3330, 0x0, 0xf8815cc0, 0x14, 0xc077e420), at 0xf8805
874
  [13] 0xf8800218(0xc077e518, 0xc077e720, 0xa, 0xd7b11290, 0xf880a840, 0xc077e76
0), at 0xf8800218
  [14] JavaCalls::call_helper(0x5, 0x22a3330, 0xc077e748, 0xc077e528, 0x14, 0xc0
77e720), at 0xfe9924c0
  [15] Reflection::invoke(0x4, 0x4, 0x10, 0x4, 0xc077e870, 0xfef80000), at 0xfea
2ea04
  [16] Reflection::invoke_method(0x236d300, 0xc077e86c, 0x236d2f8, 0x22a3330, 0x
236d2fc, 0x0), at 0xfeafa678
  [17] JVM_InvokeMethod(0x22a33e8, 0xdbbc7c20, 0xc077eaa4, 0xc077eaa0, 0xfefd25b
c, 0x22a3330), at 0xfeaf86a4
  [18] Java_sun_reflect_NativeMethodAccessorImpl_invoke0(0x22a33e8, 0xc077ea48,
0xc077eaa8, 0xc077eaa4, 0xc077eaa0, 0xc077ea60), at 0xfe6a0348
  [19] 0xf880c280(0x3101, 0xc077eaa8, 0xc077ea48, 0xffffff80, 0xf3d54b18, 0x0),
at 0xf880c280
  [20] 0xf880c224(0xdbda9bd8, 0xdbbc7c20, 0x0, 0xc, 0xd0405438, 0xc077ea60), at
0xf880c224
  [21] 0xf885ac7c(0xdbda9b28, 0xdbbc7c20, 0xf3dcddc0, 0xf8815cc0, 0xf3d54b18, 0x
c077ec20), at 0xf885ac7c
  [22] 0xf8b6dbd0(0xdbda9bd8, 0xdbbc7c20, 0xf3dcddc0, 0xf3dcddc0, 0xd0405438, 0x
d382fd20), at 0xf8b6dbd0
  [23] 0xf89cd30c(0xdbda9b28, 0xdbbc7c20, 0xf3dcddc0, 0xf8815cc0, 0xf3d54b18, 0x
c077ec20), at 0xf89cd30c
  [24] 0xf88525c0(0xdbda9b28, 0xb6, 0xc, 0xf3dcddc0, 0xd0405438, 0xd382fd20), at
 0xf88525c0
  [25] 0xf8805874(0xdbbc7c20, 0xb6, 0x0, 0xf8815cc0, 0xf3d54b18, 0xc077ec20), at
 0xf8805874
  [26] 0xf8805874(0xdbbc7c20, 0xb6, 0x0, 0xf8815cc0, 0xf3d54b18, 0xc077ecb8), at
 0xf8805874
  [27] 0xf8805874(0xdb8dfce0, 0xb6, 0x0, 0xf8815cc0, 0xf3d54b18, 0xc077ed50), at
 0xf8805874
  [28] 0xf8805874(0xdb8dfce0, 0xb6, 0x0, 0xf8815cc0, 0xf3d54b18, 0xc077edf8), at
 0xf8805874
  [29] 0xf8805764(0xdb50f660, 0xb6, 0x0, 0xf8815cc0, 0xd0be8c20, 0xc077ee90), at
 0xf8805764
  [30] 0xf8805764(0xdb50f660, 0xb6, 0x0, 0xf8815cc0, 0xd3a814b8, 0xc077ef10), at
 0xf8805764
  [31] 0xf8805764(0xdb50f660, 0xb6, 0x0, 0xf8815cc0, 0xd0be8c20, 0xc077efb8), at
 0xf8805764
  [32] 0xf8805764(0xdb50f660, 0xd1cc1f60, 0x0, 0xf8815cc0, 0xd3a814b8, 0xc077f04
8), at 0xf8805764
  [33] 0xf8805c2c(0xf3d36838, 0xd0486100, 0x0, 0xf8816210, 0xf3d54b18, 0xc077f0d
0), at 0xf8805c2c
  [34] 0xf8805d3c(0xdb4a0558, 0xb6, 0x0, 0xf88161c0, 0xd3a814b8, 0xc077f170), at
 0xf8805d3c
  [35] 0xf8805874(0xdb4a0458, 0xb6, 0x0, 0xf8815cc0, 0x349, 0xc077f228), at 0xf8
805874
  [36] 0xf8805764(0xdb4a0458, 0xb6, 0x0, 0xf8815cc0, 0xd07a9608, 0xc077f2b0), at
 0xf8805764
  [37] 0xf8805764(0xd9131058, 0xd9132140, 0x0, 0xf8815d10, 0x349, 0xc077f348), a
t 0xf8805764
  [38] 0xf88552bc(0xf3d36808, 0xd9132140, 0xd9131058, 0xd9b7fc68, 0xd07a9608, 0x
0), at 0xf88552bc
  [39] 0xf958982c(0xd9131058, 0xd9132140, 0xf3d36808, 0xf8815cc0, 0x349, 0xc077f
490), at 0xf958982c
  [40] 0xf88525c0(0xd9131058, 0xb6, 0xbcd, 0xf8816080, 0xbcc, 0x0), at 0xf88525c
0
  [41] 0xf8805874(0xf3d36808, 0xb8, 0xd7bdbdc8, 0xf8815cc0, 0x349, 0xc077f490),
at 0xf8805874
  [42] 0xf8805874(0xdb475b20, 0xf3d5ad38, 0xd7bf3808, 0xf8816080, 0x4, 0xc077f53
8), at 0xf8805874
  [43] 0xf88cb100(0xdb475b20, 0xf3d5ad38, 0xf3d5b260, 0x1, 0x1, 0x2f), at 0xf88c
b100
  [44] 0xf95e30e4(0xdb475b20, 0xf3d5ad38, 0xf3d5b260, 0xf8815d10, 0x4, 0xc077f6a
8), at 0xf95e30e4
  [45] 0xf8851940(0xdb475b20, 0xb6, 0x0, 0xf8815cc0, 0x4ee4, 0xc077f610), at 0xf
8851940
  [46] 0xf8805764(0xd1966928, 0xf3d5ad38, 0x0, 0xf8815d10, 0x4, 0xc077f6a8), at
0xf8805764
  [47] 0xf88523b4(0xf3d5ad38, 0xc4a0294d, 0xfef80000, 0x4657333d, 0x4ee4, 0x4c00
), at 0xf88523b4
  [48] 0xf9665ed4(0xd1966928, 0xf3d5ad38, 0xd8db7d98, 0xd046a898, 0x4, 0xc077f82
8), at 0xf9665ed4
  [49] 0xf95cac1c(0xf3d5ad38, 0xd195e5b0, 0xd0405438, 0xd9b33ed0, 0xd07fa410, 0x
d9b7f878), at 0xf95cac1c
  [50] 0xf887aa78(0x1, 0x22a3330, 0xd51d27f4, 0xf8815f20, 0x4, 0xc077f828), at 0
xf887aa78
  [51] 0xf8800218(0xc077f910, 0xc077fb10, 0xa, 0xd19b6890, 0xf880a840, 0xc077fa2
8), at 0xf8800218
  [52] JavaCalls::call_helper(0x1, 0x22a3330, 0xc077fa20, 0xc077f920, 0x4, 0xc07
7fb10), at 0xfe9924c0
  [53] JavaCalls::call_virtual(0x77c4, 0x22a3330, 0x236d2e0, 0x236d2ec, 0x236d2e
8, 0xf0a24c68), at 0xfeababf4
  [54] thread_entry(0xd042ef10, 0x22a3330, 0x236d6cc, 0xfefe39e0, 0xfefe3aac, 0x
fefe34d0), at 0xfead9d28
  [55] JavaThread::run(0x22a3330, 0x0, 0xfefcc2e0, 0x6800, 0x7af0, 0x7800), at 0
xfead58c4
  [56] _start(0x22a3330, 0x6000, 0x587, 0x4ecc, 0xfef80000, 0x15776d8), at 0xfee
4a5b4

                                    

Comments
EVALUATION

ThreadDumpResult was added to threaddump_list in dump_stack_trace method but
did not remove it when new_objectArray() or allocate_fill_stack_trace_element_array
has failed and returned without removing the ThreadDumpResult from threaddump_list.

In 6.0 and latest version the add_thread_dump and remove_thread_dump code has
been moved to ThreadDumpResult and we will not see this problem. 

We need to fix this in 5.0 update release only.
                                     
2007-10-16
SUGGESTED FIX

------- threadService.cpp -------
5c5
<  * %W% %E%
---
>  * @(#)threadService.cpp	1.34 07/10/16
228d227
<   ThreadService::add_thread_dump(&dump_result);
252,253d250
<   // Remove the thread dump result before return
<   ThreadService::remove_thread_dump(&dump_result);
277a275,276
>   // add this to threaddump_list.
>   ThreadService::add_thread_dump(this);
285a285,286
>   // remove this from threaddump_list.
>   ThreadService::remove_thread_dump(this);
                                     
2007-10-16



Hardware and Software, Engineered to Work Together