RFR: Reference processing deadlocks with -ParallelRefProcEnabled
Zhengyu Gu
zgu at redhat.com
Tue Jun 6 12:06:47 UTC 2017
Okay.
-Zhengyu
On 06/06/2017 07:43 AM, Aleksey Shipilev wrote:
> Reference processing deadlocks with -ParallelRefProcEnabled, because we have the
> terminator that can be used only once. However, RP can call the closure several
> times, and on second use the product build deadlocks. fastdebug fails with:
>
> # Internal Error
> (/home/shade/trunks/shenandoah-jdk9/hotspot/src/share/vm/gc/shared/taskqueue.cpp:155),
> pid=465, tid=480
> # assert(_offered_termination < _n_threads) failed: Invariant
>
> The solution is to terminator reusable after closure is done with it:
> http://cr.openjdk.java.net/~shade/shenandoah/refproc-non-mt/webrev.01/
>
> New test captures the failure.
>
> Testing: hotspot_gc_shenandoah
>
> Thanks,
> -Aleksey
>
More information about the shenandoah-dev
mailing list