JDK-6922154 : G1: SIGSEGV in HeapRegion::oops_on_card_seq_iterate_careful(MemRegion, FilterOutOfRegionClosure*)
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: hs17,6u18
  • Priority: P2
  • Status: Closed
  • Resolution: Duplicate
  • OS: generic,solaris_10
  • CPU: x86
  • Submitted: 2010-02-02
  • Updated: 2013-09-18
  • Resolved: 2010-03-24
Related Reports
Duplicate :  
Relates :  
Description
The test
gc/lock/jniref/jniglobalreflock03
fails. Reproduced on the vm-v20z-21.sfbay.
To reproduce, use rerun.sh from /net/sqenfs-1.sfbay/export1/tools/gtee/results/JDK6/ADHOC/VM/2010-02-01_14/vm/linux-amd64/client/mixed/linux-amd64_client_mixed_vm.gc.testlist/ResultDir/jniglobalreflock03
Full logs are also there.
Here is stack trace:

;; Using jvm: "/export/local/common/jdk/baseline/linux-amd64/jre/lib/amd64/server/libjvm.so"
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00002af6147a2a91, pid=2816, tid=1106094400
#
# JRE version: 7.0-b80
# Java VM: Java HotSpot(TM) 64-Bit Server VM (17.0-b07 mixed mode linux-amd64 )
# Problematic frame:
# V  [libjvm.so+0x3b3a91]
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#

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

Current thread (0x0000000008385000):  ConcurrentGCThread [stack: 0x0000000041dda000,0x0000000041edb000] [id=2824]

siginfo:si_signo=SIGSEGV: si_errno=0, si_code=128 (), si_addr=0x0000000000000000;; 

Registers:
RAX=0x00002aaac2a7ee00, RBX=0x00002aaac2a7ed98, RCX=0x00000015556153f6, RDX=0xbbcc7689bb667a5c
RSP=0x0000000041ed9c30, RBP=0x0000000041ed9cd0, RSI=0x0000000000000000, RDI=0xbbcc7689bb667a6c
R8 =0x0000000008375160, R9 =0x0000000000000002, R10=0x0000000000000002, R11=0x00002af614770a50
R12=0x00002aaac2a7ed98, R13=0x0000000041ed9d60, R14=0x00002af614ebae58, R15=0x000000000837ce20
RIP=0x00002af6147a2a91, EFL=0x0000000000010246, CSGSFS=0x0000000000000033, ERR=0x0000000000000000
  TRAPNO=0x000000000000000d
Top of Stack: (sp=0x0000000041ed9c30)
0x0000000041ed9c30:   0000000041ed9c40 0000000041ed9cf0
0x0000000041ed9c40:   00002aaadbef9200 0000000000000040
0x0000000041ed9c50:   00002aaac2a7ec00 0000000000000040
0x0000000041ed9c60:   00002aaac2a7ec00 0000000000000040
0x0000000041ed9c70:   00002aaac2a00000 0000000000010000
0x0000000041ed9c80:   0000000000000000 0000000000000000
0x0000000041ed9c90:   0000000000000000 0000003bf07529e0
0x0000000041ed9ca0:   0000000000000000 000000000867a910
0x0000000041ed9cb0:   00002aaac2a7ec00 00002aaaeb99fbf6
0x0000000041ed9cc0:   0000000008386fa0 0000000041ed9cf0
0x0000000041ed9cd0:   0000000041ed9da0 00002af61476ec89
0x0000000041ed9ce0:   0000000000000000 00002a959638a800
0x0000000041ed9cf0:   00002af614e81fd0 0000000000000000
0x0000000041ed9d00:   0000000000000000 00002aaac2a00000
0x0000000041ed9d10:   00002aaac2b00000 0000000041ed9d30
0x0000000041ed9d20:   0000000000000000 0000000008386750
Instructions: (pc=0x00002af6147a2a91)
0x00002af6147a2a81:   0f 1f 80 00 00 00 00 49 8b 54 24 08 48 8d 7a 10
0x00002af6147a2a91:   8b 4f 08 83 f9 00 0f 8f 79 fe ff ff 0f 1f 00 0f 
;; 00002af6147a2a81 0f 1f                   (bad)  
;; 00002af6147a2a83 80 00 00                addb   $0x0,(%rax)
;; 00002af6147a2a86 00 00                   add    %al,(%rax)
;; 00002af6147a2a88 49 8b 54 24 08          mov    0x8(%r12,1),%rdx
;; 00002af6147a2a8d 48 8d 7a 10             lea    0x10(%rdx),%rdi
;; ---------------
;; 00002af6147a2a91 8b 4f 08                mov    0x8(%rdi),%ecx
;; 00002af6147a2a94 83 f9 00                cmp    $0x0,%ecx
;; 00002af6147a2a97 0f 8f 79 fe ff ff       jg     0x00002af6147a2916
;; 00002af6147a2a9d 0f 1f                   (bad)  
;; 00002af6147a2a9f 00 0f                   add    %cl,(%rdi)
;; 
Stack: [0x0000000041dda000,0x0000000041edb000],  sp=0x0000000041ed9c30,  free space=3ff0000000000000018k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x3b3a91];;  HeapRegion::oops_on_card_seq_iterate_careful(MemRegion, FilterOutOfRegionClosure*)+0x4d1
V  [libjvm.so+0x37fc89];;  HRInto_G1RemSet::concurrentRefineOneCard_impl(signed char*, int)+0x119
V  [libjvm.so+0x37fe32];;  HRInto_G1RemSet::concurrentRefineOneCard(signed char*, int)+0x102
V  [libjvm.so+0x36c9a6];;  RefineCardTableEntryClosure::do_card_ptr(signed char*, int)+0x16
V  [libjvm.so+0x3398d6];;  DirtyCardQueue::apply_closure_to_buffer(CardTableEntryClosure*, void**, unsigned long, unsigned long, bool, int)+0
xa6
V  [libjvm.so+0x33a119];;  DirtyCardQueueSet::apply_closure_to_completed_buffer_helper(int, BufferNode*)+0x69
V  [libjvm.so+0x33a1c9];;  DirtyCardQueueSet::apply_closure_to_completed_buffer(int, int, bool)+0x29
V  [libjvm.so+0x2cfdf8];;  ConcurrentG1RefineThread::run()+0x108
V  [libjvm.so+0x5ab9d0];;  _ZL10java_startP6Thread+0xf0
---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
  0x00000000085b1800 JavaThread "gc.lock.jniref.jniglobalreflock01.jniglobalreflock01$Worker@2f754ad2" [_thread_in_Java, id=2845, stack(0x000
00000428a2000,0x00000000429a3000)]
  0x00000000085af800 JavaThread "gc.lock.jniref.jniglobalreflock01.jniglobalreflock01$Worker@4ce86da0" [_thread_in_Java, id=2844, stack(0x000
00000427a1000,0x00000000428a2000)]
  0x00000000085ae000 JavaThread "gc.lock.jniref.jniglobalreflock01.jniglobalreflock01$Worker@1ff9dc36" [_thread_in_Java, id=2843, stack(0x000
00000426a0000,0x00000000427a1000)]
  0x000000000851f800 JavaThread "gc.lock.jniref.jniglobalreflock01.jniglobalreflock01$Worker@59de3f2d" [_thread_in_Java, id=2842, stack(0x000
000004259f000,0x00000000426a0000)]
  0x000000000851d800 JavaThread "Locker: nsk.share.gc.lock.CriticalSectionLocker$1@36867e89" daemon [_thread_in_native, id=2841, stack(0x0000
00004249e000,0x000000004259f000)]
  0x0000000008584800 JavaThread "Locker: nsk.share.gc.lock.CriticalSectionLocker$1@3a3ee284" daemon [_thread_in_native, id=2840, stack(0x0000
00004239d000,0x000000004249e000)]
  0x0000000008582800 JavaThread "Locker: nsk.share.gc.lock.CriticalSectionLocker$1@7000a32b" daemon [_thread_in_native, id=2839, stack(0x0000
00004229c000,0x000000004239d000)]
  0x00000000085b9000 JavaThread "Locker: nsk.share.gc.lock.CriticalSectionLocker$1@2e471e30" daemon [_thread_in_native, id=2838, stack(0x0000
0000419be000,0x0000000041abf000)]
  0x0000000008483000 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=2836, stack(0x00000000417bc000,0x00000000418bd000)]
  0x0000000008480800 JavaThread "CompilerThread1" daemon [_thread_blocked, id=2835, stack(0x00000000416bb000,0x00000000417bc000)]
  0x000000000847b800 JavaThread "CompilerThread0" daemon [_thread_blocked, id=2834, stack(0x00000000415ba000,0x00000000416bb000)]
  0x0000000008479800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=2833, stack(0x0000000040f8f000,0x0000000041090000)]
  0x0000000008477800 JavaThread "Surrogate Locker Thread (CMS)" daemon [_thread_blocked, id=2832, stack(0x00000000403b1000,0x00000000404b2000
)]
  0x0000000008452800 JavaThread "Finalizer" daemon [_thread_blocked, id=2831, stack(0x000000004219b000,0x000000004229c000)]
  0x0000000008451000 JavaThread "Reference Handler" daemon [_thread_blocked, id=2830, stack(0x000000004209a000,0x000000004219b000)]
  0x0000000008373800 JavaThread "main" [_thread_blocked, id=2819, stack(0x0000000041416000,0x0000000041517000)]

Other Threads:
  0x000000000844c000 VMThread [stack: 0x0000000041c0c000,0x0000000041d0d000] [id=2828]
  0x000000000848d800 WatcherThread [stack: 0x00000000418bd000,0x00000000419be000] [id=2837]

=>0x0000000008385000 (exited) ConcurrentGCThread [stack: 0x0000000041dda000,0x0000000041edb000] [id=2824]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 garbage-first heap   total 911360K, used 732413K [0x00002aaaaeb00000, 0x00002aaae6500000, 0x00002aaae6500000)
  region size 1024K, 7 young (7168K), 0 survivors (0K)
 compacting perm gen  total 20480K, used 2796K [0x00002aaae6500000, 0x00002aaae7900000, 0x00002aaaeb900000)
   the space 20480K,  13% used [0x00002aaae6500000, 0x00002aaae67bb128, 0x00002aaae67bb200, 0x00002aaae7900000)
No shared spaces configured.

Comments
EVALUATION Test is similar to that in 6755988 and allocates TLABs that are large enough to tag regions as humongous. This causes all sorts of bad-oop related problems (if it is not caught by the assert seen in 6755988).
24-03-2010