JDK-7097516 : G1: assert(0<= from_card && from_card
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: hs23
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2011-10-03
  • Updated: 2013-09-18
  • Resolved: 2012-01-23
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 7 JDK 8 Other
7u4Fixed 8Fixed hs23Fixed
Description
HS crashes with report below:

;; Using jvm: "/net/sqenfs-1/export1/jdk/vm/hsx/pit/8/fastdebug/solaris-sparcv9/jre/lib/sparcv9/server/libjvm.so"
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/tmp/jprt/P1/014729.jcoomes/source/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp:152), pid=16956, tid=150
#  assert(0<= from_card && from_card<HeapRegion::CardsPerRegion) failed: Must be in range.
#
# JRE version: 8.0
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.0-b01-fastdebug mixed mode solaris-sparc compressed oops)
# Core dump written. Default location: /export/home/local/55274.JDK7.PROMOTION.VM_solaris-sparcv9_vm__server_mixed_vm.gc.testlist/results/ResultDir/Juggle13/core or core.16956
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
#

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

Current thread (0x000000010e906800):  JavaThread "gc.ArrayJuggle.Juggle01.Juggle01$Juggler@2b5d70ae" [_thread_in_Java, id=150, stack(0xfffffff824800000,0xfffffff824900000)]

Stack: [0xfffffff824800000,0xfffffff824900000],  sp=0xfffffff8248fc2f0,  free space=1008k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x12cedfc]  void VMError::report_and_die()+0x794;;  void VMError::report_and_die()+0x794
V  [libjvm.so+0x759ca0]  void report_vm_error(const char*,int,const char*,const char*)+0x78;;  void report_vm_error(const char*,int,const char*,const char*)+0x78
V  [libjvm.so+0x8f1bd0]  void PerRegionTable::add_reference_work(void*,bool)+0x90;;  void PerRegionTable::add_reference_work(void*,bool)+0x90
V  [libjvm.so+0x8edcf4]  void OtherRegionsTable::add_reference(void*,int)+0x75c;;  void OtherRegionsTable::add_reference(void*,int)+0x75c
V  [libjvm.so+0x84c88c]  void G1RemSet::par_write_ref<unsigned>(HeapRegion*,__type_0*,int)+0x3b4;;  void G1RemSet::par_write_ref<unsigned>(HeapRegion*,__type_0*,int)+0x3b4
V  [libjvm.so+0x86e438]  void UpdateRSOrPushRefOopClosure::do_oop_work<unsigned>(__type_0*)+0x530;;  void UpdateRSOrPushRefOopClosure::do_oop_work<unsigned>(__type_0*)+0x530
V  [libjvm.so+0xf3a728]  int objArrayKlass::oop_oop_iterate_nv_m(oop,FilterOutOfRegionClosure*,MemRegion)+0x278;;  int objArrayKlass::oop_oop_iterate_nv_m(oop,FilterOutOfRegionClosure*,MemRegion)+0x278
V  [libjvm.so+0x8e4200]  HeapWord*HeapRegion::oops_on_card_seq_iterate_careful(MemRegion,FilterOutOfRegionClosure*,bool,signed char*)+0xdc8;;  HeapWord*HeapRegion::oops_on_card_seq_iterate_careful(MemRegion,FilterOutOfRegionClosure*,bool,signed char*)+0xdc8
V  [libjvm.so+0x86ae20]  bool G1RemSet::concurrentRefineOneCard_impl(signed char*,int,bool)+0x3a8;;  bool G1RemSet::concurrentRefineOneCard_impl(signed char*,int,bool)+0x3a8
V  [libjvm.so+0x86b368]  bool G1RemSet::concurrentRefineOneCard(signed char*,int,bool)+0x488;;  bool G1RemSet::concurrentRefineOneCard(signed char*,int,bool)+0x488
V  [libjvm.so+0x846698]  bool RefineCardTableEntryClosure::do_card_ptr(signed char*,int)+0x38;;  bool RefineCardTableEntryClosure::do_card_ptr(signed char*,int)+0x38
V  [libjvm.so+0x7b9a6c]  bool DirtyCardQueue::apply_closure_to_buffer(CardTableEntryClosure*,void**,unsigned long,unsigned long,bool,int)+0xac;;  bool DirtyCardQueue::apply_closure_to_buffer(CardTableEntryClosure*,void**,unsigned long,unsigned long,bool,int)+0xac
V  [libjvm.so+0x7b9fcc]  bool DirtyCardQueueSet::mut_process_buffer(void**)+0x5c;;  bool DirtyCardQueueSet::mut_process_buffer(void**)+0x5c
V  [libjvm.so+0x105db7c]  bool PtrQueueSet::process_or_enqueue_complete_buffer(void**)+0x6c;;  bool PtrQueueSet::process_or_enqueue_complete_buffer(void**)+0x6c
V  [libjvm.so+0x105d3d4]  void PtrQueue::enqueue_known_active(void*)+0x154;;  void PtrQueue::enqueue_known_active(void*)+0x154
V  [libjvm.so+0x10ce0f4]  void SharedRuntime::g1_wb_post(void*,JavaThread*)+0x114;;  void SharedRuntime::g1_wb_post(void*,JavaThread*)+0x114
J  nsk.share.runner.ThreadsRunner$ManagedThread.run()V
v  ~StubRoutines::call_stub
V  [libjvm.so+0xa1d154]  void JavaCalls::call_helper(JavaValue*,methodHandle*,JavaCallArguments*,Thread*)+0x8f4;;  void JavaCalls::call_helper(JavaValue*,methodHandle*,JavaCallArguments*,Thread*)+0x8f4
V  [libjvm.so+0xa1c840]  void JavaCalls::call(JavaValue*,methodHandle,JavaCallArguments*,Thread*)+0x78;;  void JavaCalls::call(JavaValue*,methodHandle,JavaCallArguments*,Thread*)+0x78
V  [libjvm.so+0xa1bb0c]  void JavaCalls::call_virtual(JavaValue*,KlassHandle,Symbol*,Symbol*,JavaCallArguments*,Thread*)+0x4ec;;  void JavaCalls::call_virtual(JavaValue*,KlassHandle,Symbol*,Symbol*,JavaCallArguments*,Thread*)+0x4ec
V  [libjvm.so+0xa1bbfc]  void JavaCalls::call_virtual(JavaValue*,Handle,KlassHandle,Symbol*,Symbol*,Thread*)+0xcc;;  void JavaCalls::call_virtual(JavaValue*,Handle,KlassHandle,Symbol*,Symbol*,Thread*)+0xcc
V  [libjvm.so+0xb5e584]  void thread_entry(JavaThread*,Thread*)+0x5f4;;  void thread_entry(JavaThread*,Thread*)+0x5f4
V  [libjvm.so+0x120d464]  void JavaThread::thread_main_inner()+0x1a4;;  void JavaThread::thread_main_inner()+0x1a4
V  [libjvm.so+0x120d2a0]  void JavaThread::run()+0x248;;  void JavaThread::run()+0x248
V  [libjvm.so+0xf7ea88]  java_start+0x270;;  java_start+0x270

Comments
EVALUATION http://hg.openjdk.java.net/hsx/hotspot-emb/hotspot/rev/5e5d4821bf07
10-11-2011

EVALUATION See main CR
04-11-2011

EVALUATION http://hg.openjdk.java.net/hsx/hotspot-gc/hotspot/rev/5e5d4821bf07
21-10-2011

EVALUATION Make add_referenc_work() aware of humogous start regions.
14-10-2011