-
Bug
-
Resolution: Not an Issue
-
P2
-
None
-
1.4.2_11
-
generic
-
generic
core files located at: /net/cores.central/cores/dir29/65000375
Here is the stacktrace of the offending thread.
=>[1] libthread.so.1:__sigprocmask(0x0, 0xfc380f48, 0x0, 0x0, 0x0, 0x0), at 0xff3692f0
[2] libthread.so.1:_resetsig(0xff36b8f4, 0x0, 0x0, 0xfc381d98, 0xff37c000, 0x0), at 0xff35e594
[3] libthread.so.1:_sigon(0xfc381d98, 0xff3838b0, 0x6, 0xfc38101c, 0xfc381d98, 0xff383224), at 0xff35dd34
[4] libthread.so.1:_thrp_kill(0x0, 0x4, 0x6, 0xff37c000, 0x4, 0xff2c0458), at 0xff360d90
[5] libc.so.1:raise(0x6, 0x0, 0x0, 0xffffffff, 0xff2c03c4, 0x0), at 0xff24bea8
[6] libc.so.1:abort(0xff2bc008, 0x1, 0x1, 0x28a0, 0xfe4a7ba4, 0x0), at 0xff235a54
[7] libjvm.so:os::abort(0x1, 0xfe567ff9, 0x1, 0x7efefeff, 0x81010100, 0xff00), at 0xfe4a2c5c
[8] libjvm.so:VMError::report_and_die(0xfe57e308, 0xfe57e317, 0xfe57e327, 0xfe54c816, 0x3f3, 0xe0000000), at 0xfe508228
[9] libjvm.so:report_should_not_reach_here(0xfe54c816, 0x3f3, 0xef188000, 0x0, 0x3fefa4, 0xfe15c0e0), at 0xfe3819e8
[10] libjvm.so:frame::oops_do(0xfc3813a8, 0xfc38185c, 0xfc3813b8, 0x1, 0x1, 0xfe1e3634), at 0xfe15c1b0
[11] libjvm.so:JavaThread::oops_do(0x373d88, 0xfc38185c, 0x0, 0x46956c, 0xfe21858c, 0x0), at 0xfe1a36a8
[12] libjvm.so:Threads::oops_do(0xfc38185c, 0xfc38185c, 0x3, 0xfe592000, 0x4768, 0x3c00), at 0xfe22822c
[13] libjvm.so:GenCollectedHeap::process_strong_roots(0xfe592000, 0xfc38185c, 0x1, 0x0, 0x1, 0xfc381838), at 0xfe227390
[14] libjvm.so:DefNewGeneration::collect(0x4ecf0, 0x0, 0x4c00, 0x4de8, 0xfc381838, 0xfc38185c), at 0xfe23b838
[15] libjvm.so:GenCollectedHeap::do_collection(0x5ae, 0xfe592000, 0x0, 0xfe54e853, 0x0, 0xfe5d1ac4), at 0xfe233268
[16] libjvm.so:TwoGenerationCollectorPolicy::satisfy_failed_allocation(0x4ebd0, 0x5, 0xfe5d1ac4, 0x0, 0xe94811cc, 0xffffff90), at 0xfe23c0c8
[17] libjvm.so:VM_GenCollectForAllocation::doit(0xe94811b0, 0xfe0eb164, 0x1a2, 0xfe592000, 0xd2628, 0xfe5de5f8), at 0xfe23bdb8
[18] libjvm.so:VM_Operation::evaluate(0xe94811b0, 0x4800, 0xfe592000, 0x36aa8, 0x4c4e94, 0xfe1e3634), at 0xfe22fa58
[19] libjvm.so:VMThread::evaluate_operation(0x114668, 0xe94811b0, 0x5400, 0x55c8, 0x5400, 0x0), at 0xfe22f478
[20] libjvm.so:VMThread::loop(0x4c00, 0x4400, 0x47e0, 0x4400, 0x4768, 0x3c00), at 0xfe2f42d8
[21] libjvm.so:VMThread::run(0x114668, 0x5, 0x40, 0x0, 0x4, 0xff37c000), at 0xfe2f3dd4
[22] libjvm.so:java_start(0x114668, 0xff37d660, 0x1, 0x1, 0xff37c000, 0x0), at 0xfe4a230c
From the stack it appears that memory allocation failure intiated garbage collection.
jvm crashed in frame::oops_do when the code execution defaulted to ShouldNotReachHere. Not sure why we couldn't pass the previous if conditions.
Relevant source code:
------------------------------
http://cheesypoof.uk.sun.com/lxr2/source/ws/hotspot/src/share/vm/runtime/frame.cpp?v=Java_1.4.2_04#860
860 void frame::oops_do(OopClosure* f, RegisterMap* map) {
861 if (is_interpreted_frame()) { oops_interpreted_do(f, map);
862 } else if (is_entry_frame()) { oops_entry_do (f, map);
863 #ifdef COMPILER1
864 // Note: this test has to come before the CodeCache::contains(pc())
865 // check since the code for osr adapter frames is contained
866 // in the code cache, too!
867 } else if (is_osr_adapter_frame()) { // nothing to do
868 #endif
869 #ifdef CC_INTERP
870 } else if (is_ignored_frame()) { // nothing to do
871 #endif
872 #ifndef CORE
873 } else if (CodeCache::contains(pc())) { oops_code_blob_do (f, map);
874 #endif
875 } else {
876 ShouldNotReachHere(); <<<<<<<<<<<<<<
877 }
878 }
Here is the stacktrace of the offending thread.
=>[1] libthread.so.1:__sigprocmask(0x0, 0xfc380f48, 0x0, 0x0, 0x0, 0x0), at 0xff3692f0
[2] libthread.so.1:_resetsig(0xff36b8f4, 0x0, 0x0, 0xfc381d98, 0xff37c000, 0x0), at 0xff35e594
[3] libthread.so.1:_sigon(0xfc381d98, 0xff3838b0, 0x6, 0xfc38101c, 0xfc381d98, 0xff383224), at 0xff35dd34
[4] libthread.so.1:_thrp_kill(0x0, 0x4, 0x6, 0xff37c000, 0x4, 0xff2c0458), at 0xff360d90
[5] libc.so.1:raise(0x6, 0x0, 0x0, 0xffffffff, 0xff2c03c4, 0x0), at 0xff24bea8
[6] libc.so.1:abort(0xff2bc008, 0x1, 0x1, 0x28a0, 0xfe4a7ba4, 0x0), at 0xff235a54
[7] libjvm.so:os::abort(0x1, 0xfe567ff9, 0x1, 0x7efefeff, 0x81010100, 0xff00), at 0xfe4a2c5c
[8] libjvm.so:VMError::report_and_die(0xfe57e308, 0xfe57e317, 0xfe57e327, 0xfe54c816, 0x3f3, 0xe0000000), at 0xfe508228
[9] libjvm.so:report_should_not_reach_here(0xfe54c816, 0x3f3, 0xef188000, 0x0, 0x3fefa4, 0xfe15c0e0), at 0xfe3819e8
[10] libjvm.so:frame::oops_do(0xfc3813a8, 0xfc38185c, 0xfc3813b8, 0x1, 0x1, 0xfe1e3634), at 0xfe15c1b0
[11] libjvm.so:JavaThread::oops_do(0x373d88, 0xfc38185c, 0x0, 0x46956c, 0xfe21858c, 0x0), at 0xfe1a36a8
[12] libjvm.so:Threads::oops_do(0xfc38185c, 0xfc38185c, 0x3, 0xfe592000, 0x4768, 0x3c00), at 0xfe22822c
[13] libjvm.so:GenCollectedHeap::process_strong_roots(0xfe592000, 0xfc38185c, 0x1, 0x0, 0x1, 0xfc381838), at 0xfe227390
[14] libjvm.so:DefNewGeneration::collect(0x4ecf0, 0x0, 0x4c00, 0x4de8, 0xfc381838, 0xfc38185c), at 0xfe23b838
[15] libjvm.so:GenCollectedHeap::do_collection(0x5ae, 0xfe592000, 0x0, 0xfe54e853, 0x0, 0xfe5d1ac4), at 0xfe233268
[16] libjvm.so:TwoGenerationCollectorPolicy::satisfy_failed_allocation(0x4ebd0, 0x5, 0xfe5d1ac4, 0x0, 0xe94811cc, 0xffffff90), at 0xfe23c0c8
[17] libjvm.so:VM_GenCollectForAllocation::doit(0xe94811b0, 0xfe0eb164, 0x1a2, 0xfe592000, 0xd2628, 0xfe5de5f8), at 0xfe23bdb8
[18] libjvm.so:VM_Operation::evaluate(0xe94811b0, 0x4800, 0xfe592000, 0x36aa8, 0x4c4e94, 0xfe1e3634), at 0xfe22fa58
[19] libjvm.so:VMThread::evaluate_operation(0x114668, 0xe94811b0, 0x5400, 0x55c8, 0x5400, 0x0), at 0xfe22f478
[20] libjvm.so:VMThread::loop(0x4c00, 0x4400, 0x47e0, 0x4400, 0x4768, 0x3c00), at 0xfe2f42d8
[21] libjvm.so:VMThread::run(0x114668, 0x5, 0x40, 0x0, 0x4, 0xff37c000), at 0xfe2f3dd4
[22] libjvm.so:java_start(0x114668, 0xff37d660, 0x1, 0x1, 0xff37c000, 0x0), at 0xfe4a230c
From the stack it appears that memory allocation failure intiated garbage collection.
jvm crashed in frame::oops_do when the code execution defaulted to ShouldNotReachHere. Not sure why we couldn't pass the previous if conditions.
Relevant source code:
------------------------------
http://cheesypoof.uk.sun.com/lxr2/source/ws/hotspot/src/share/vm/runtime/frame.cpp?v=Java_1.4.2_04#860
860 void frame::oops_do(OopClosure* f, RegisterMap* map) {
861 if (is_interpreted_frame()) { oops_interpreted_do(f, map);
862 } else if (is_entry_frame()) { oops_entry_do (f, map);
863 #ifdef COMPILER1
864 // Note: this test has to come before the CodeCache::contains(pc())
865 // check since the code for osr adapter frames is contained
866 // in the code cache, too!
867 } else if (is_osr_adapter_frame()) { // nothing to do
868 #endif
869 #ifdef CC_INTERP
870 } else if (is_ignored_frame()) { // nothing to do
871 #endif
872 #ifndef CORE
873 } else if (CodeCache::contains(pc())) { oops_code_blob_do (f, map);
874 #endif
875 } else {
876 ShouldNotReachHere(); <<<<<<<<<<<<<<
877 }
878 }