RFR: 8138966: Intermittent SEGV running ParallelGC

Andrew Haley aph at redhat.com
Thu Oct 29 18:12:47 UTC 2015


We have observed intermittent crashes when running with
-XX:+UseParallelGC on a many-core AArch64 system.  These appear as
apparently random segfaults.

I've tracked it down to a race between threads when updating the block
table in ParallelCompactData::calc_new_pointer() :

   if (!region_ptr->blocks_filled()) {
    PSParallelCompact::fill_blocks(addr_to_region_idx(addr));
    region_ptr->set_blocks_filled();
  }

Neither blocks_filled() nor set_blocks_filled() have any memory fences
so it is possible for a thread to observe a partially-filled block
table.

http://cr.openjdk.java.net/~aph/8138966/

This is shared code so I'll need someone to push this for me.

Andrew.



More information about the hotspot-gc-dev mailing list