RFR: Reference processing deadlocks with -ParallelRefProcEnabled
Aleksey Shipilev
shade at redhat.com
Tue Jun 6 11:43:55 UTC 2017
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