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