RFR: Missing Evac OOM scope when reference processor is single threaded
Aleksey Shipilev
shade at redhat.com
Fri Jul 20 10:42:42 UTC 2018
On 07/20/2018 12:36 PM, Zhengyu Gu wrote:
> When ReferenceProcessor processes references in single-threaded mode, it uses current thread, not
> task executor, and we miss Evac OOM scope for current thread.
>
> Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/missing_evac_oom_scope/webrev.00/index.html
I am confused: which path enters write barrier / evacuation code via the reference processing?!
Roman should look at this. I think it is dangerous to unconditionally enter OOMScope in the
non-worker thread, because IIRC OOM-protocol blocks failed thread until non-failed threads leave the
scope. Which means, this is a deadlock waiting to happen.
-Aleksey
More information about the shenandoah-dev
mailing list