JDK-8152552 : SEGV in G1PLABAllocator
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 9
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: linux
  • CPU: x86
  • Submitted: 2016-03-23
  • Updated: 2016-06-20
  • Resolved: 2016-06-20
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 9
9Resolved
Related Reports
Relates :  
Relates :  
Relates :  
Description
While trying to reproduce JDK-8151256, this SEGV occurred once in about 50K -Xcomp runs:
   -Xcomp -XX:+UnlockCommercialFeatures -XX:+ResourceManagement -verbose:gc HeapRetentionTest

When attempting plab allocation, we seem to have a null region pointer:

#8  <signal handler called>
#9  top (this=0x0) at /scratch/workspace/9-2-build-linux-amd64-phase2/jdk9/4520/hotspot/src/share/vm/gc/g1/heapRegion.hpp:138
#10 par_allocate_impl (actual_size=<optimized out>, desired_word_size=4374, min_word_size=<optimized out>, this=0x0)
    at /scratch/workspace/9-2-build-linux-amd64-phase2/jdk9/4520/hotspot/src/share/vm/gc/g1/heapRegion.inline.hpp:56
#11 par_allocate_no_bot_updates (actual_word_size=<optimized out>, desired_word_size=4374, min_word_size=<optimized out>, this=0x0)
    at /scratch/workspace/9-2-build-linux-amd64-phase2/jdk9/4520/hotspot/src/share/vm/gc/g1/heapRegion.inline.hpp:160
#12 par_allocate (bot_updates=false, actual_word_size=<optimized out>, desired_word_size=4374, min_word_size=<optimized out>, alloc_region=0x0)
    at /scratch/workspace/9-2-build-linux-amd64-phase2/jdk9/4520/hotspot/src/share/vm/gc/g1/g1AllocRegion.inline.hpp:65
#13 attempt_allocation (bot_updates=false, actual_word_size=<optimized out>, desired_word_size=4374, min_word_size=<optimized out>, this=<optimized out>)
    at /scratch/workspace/9-2-build-linux-amd64-phase2/jdk9/4520/hotspot/src/share/vm/gc/g1/g1AllocRegion.inline.hpp:85
#14 survivor_attempt_allocation (context=3 '\003', actual_word_size=<optimized out>, desired_word_size=4374, min_word_size=<optimized out>, 
    this=0x7f405c051d30) at /scratch/workspace/9-2-build-linux-amd64-phase2/jdk9/4520/hotspot/src/share/vm/gc/g1/g1Allocator.cpp:198
#15 G1Allocator::par_allocate_during_gc (this=0x7f405c051d30, dest=..., min_word_size=<optimized out>, desired_word_size=4374, 
    actual_word_size=<optimized out>, context=3 '\003')
    at /scratch/workspace/9-2-build-linux-amd64-phase2/jdk9/4520/hotspot/src/share/vm/gc/g1/g1Allocator.cpp:179
---Type <return> to continue, or q <return> to quit---
#16 0x00007f406456b94d in G1PLABAllocator::allocate_direct_or_new_plab (this=0x7f3f10015090, dest=dest@entry=..., word_sz=word_sz@entry=6, 
    context=context@entry=3 '\003', plab_refill_failed=plab_refill_failed@entry=0x7f406273cb5e)
    at /scratch/workspace/9-2-build-linux-amd64-phase2/jdk9/4520/hotspot/src/share/vm/gc/g1/g1Allocator.cpp:272




Comments
With the fix for JDK-8152499 (G1ResManAllocator::_context_hwm is not incremented in thread safe manner) I've run for a week (about 600k runs) without hitting this or any of the other 3 types of failures I'd seen running this test.
31-03-2016