RFR: 8293252: Shenandoah: ThreadMXBean synchronizer tests crash with IU+aggressive mode
William Kemper
wkemper at openjdk.org
Fri Sep 16 21:38:45 UTC 2022
On Fri, 16 Sep 2022 20:47:23 GMT, Ashutosh Mehra <duke at openjdk.org> wrote:
>> I just meant it could suffer from an out-of-memory error just like any other evacuating thread, but I think it'd be fine. The LRB would cancel the GC and the from-space reference would be returned (cancelling the GC would nullify the assert). If the from-space reference is still reachable after the thread dump completes, the degenerated cycle should fix it up.
>
> Thanks for clarifying that.
>
> For option 1, I don't see any access API that acts on oop directly. Is there any?
> Would it better to evacuate the oops explicitly in `ObjectIterateScanRootClosure` before handing out the oop to `FindInstanceClosure` in heapInspection.cpp.
`ObjectIterateScanRootClosure` should probably use `NativeAccess<AS_NO_KEEPALIVE>::oop_load` (or `HeapAccess`) rather than `RawAccess<>::oop_load(p);` (which bypasses the LRB).
-------------
PR: https://git.openjdk.org/jdk/pull/10268
More information about the hotspot-gc-dev
mailing list