RFR: 8138966: Intermittent SEGV running ParallelGC (original) (raw)
Dean Long dean.long at oracle.com
Thu Oct 29 20:32:33 UTC 2015
- Previous message: RFR: 8138966: Intermittent SEGV running ParallelGC
- Next message: RFR: 8138966: Intermittent SEGV running ParallelGC
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
I'll let GC folks review for correctness, but I was just wondering if you could use load_aquire() and release_store() instead of acquire() and release().
dl
On 10/29/2015 11:12 AM, Andrew Haley wrote:
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::calcnewpointer() : if (!regionptr->blocksfilled()) { PSParallelCompact::fillblocks(addrtoregionidx(addr)); regionptr->setblocksfilled(); } Neither blocksfilled() nor setblocksfilled() 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.
- Previous message: RFR: 8138966: Intermittent SEGV running ParallelGC
- Next message: RFR: 8138966: Intermittent SEGV running ParallelGC
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]