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