-
Bug
-
Resolution: Unresolved
-
P3
-
None
-
None
In the existing implementation, a mutator may throw OOM after consulting a global variable that indicates that a certain number of consecutive unproductive GCs have been observed.
The problem with this approach is that the OOM thrown to one thread may cause that thread to cleanup memory so that other threads can proceed without OOM.
This behavior is exploited in certain jtreg tests, such as gc/shenandoah/oom/TestThreadFailure.java.
We need each thread to independently observe that an unproductive Full GC has been completed before that thread throws OOM.
The problem with this approach is that the OOM thrown to one thread may cause that thread to cleanup memory so that other threads can proceed without OOM.
This behavior is exploited in certain jtreg tests, such as gc/shenandoah/oom/TestThreadFailure.java.
We need each thread to independently observe that an unproductive Full GC has been completed before that thread throws OOM.
- relates to
-
JDK-8321806 Shenandoah: each mutator must see FullGC or GC overhead limit is exceeded before throwing OOM
- New
- links to
-
Review(master) openjdk/shenandoah/365