[16] RFR 8251910: Shenandoah: assert(external_guard || result != __null) failed: Invalid JNI handle
Roman Kennke
rkennke at redhat.com
Tue Aug 18 16:17:25 UTC 2020
Hi Zhengyu,
please update the bug summary to e.g. "Shenandoah: Handshake threads
between weak-roots and reset phases"
14 is not relevant anymore because it would not receive any further
updates. I dropped it from the bugreport.
Other than that, looks good to me!
Thank you for fixing this!
Roman
Am Dienstag, den 18.08.2020, 11:18 -0400 schrieb Zhengyu Gu:
> Some of concurrent flags, e.g. concurrent_weak/strong_roots, are
> unset
> concurrently, they are harmless until mark bitmap is reset,
> concurrently.
>
> In normal cycles, there are GC safepoints, e.g.
> init/final_updateref,
> between unset concurrent flags and reset mark bitmap, and those
> safepoints ensure the changes are made visible to all threads.
>
> However, in rare cases, there are nothing to evacuate and no
> references
> need to be updated, so that, update reference GC safepoints are
> skipped.
> Under this circumstance, Shenandoah will have to perform thread
> handshake to ensure the changes are visible before mark bitmap can be
> reset.
>
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8251910
> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8251910/webrev.00/
>
>
> Test:
> hotspot_gc_shenandoah
>
> Thanks,
>
> -Zhengyu
>
More information about the shenandoah-dev
mailing list