Integrated: 8256658: Shenandoah: Deadlock between nmethod_entry_barrier and concurrent code root evacuator

Zhengyu Gu zgu at openjdk.java.net
Fri Nov 20 18:39:05 UTC 2020


On Fri, 20 Nov 2020 14:36:23 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:

> Nightly tests revealed a deadlock after JDK-8256415.
> 
> The new concurrent code root evacuating/updating task sets up EvacOOM scope on the top level. If OOM occurs and nmethod_entry_barrier holds per-nmethod lock, while concurrent code root evacuating/updating task tries to acquire the exact per-nmethod lock, we deadlock.
> 
> The solution is to move EvacOOM scope under per-nmethod lock.
> 
> Test:
> - [x] hotspot_gc_shenandoah
> - [x] nightly tests

This pull request has now been integrated.

Changeset: 5ad1e228
Author:    Zhengyu Gu <zgu at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/5ad1e228
Stats:     17 lines in 1 file changed: 7 ins; 1 del; 9 mod

8256658: Shenandoah: Deadlock between nmethod_entry_barrier and concurrent code root evacuator

Reviewed-by: rkennke

-------------

PR: https://git.openjdk.java.net/jdk/pull/1352



More information about the hotspot-gc-dev mailing list