RFR: 8345750: Shenandoah: Test TestJcmdHeapDump.java#aggressive intermittent assert(gc_cause() == GCCause::_no_gc) failed: Over-writing cause
Kelvin Nilsen
kdnilsen at openjdk.org
Fri Jan 17 23:47:35 UTC 2025
On Fri, 17 Jan 2025 23:12:14 GMT, William Kemper <wkemper at openjdk.org> wrote:
> This occurs when an attempt to produce a heap dump conflicts with a concurrent cycle. The heap dump vm operation attempts to run a cycle directly on the VM thread with no regard for the state of the concurrent collection. Although Shenandoah _is_ technically capable of running an entire _full_ GCs on the vm thread, I would rather not add another dependency on full GCs, nor would I like to cancel an in-progress concurrent GC. Instead, Shenandoah will follow the pattern established ZGC in which the calling thread waits for a concurrent cycle to complete before taking the heap dump.
Thanks for handling this.
-------------
Marked as reviewed by kdnilsen (Author).
PR Review: https://git.openjdk.org/jdk/pull/23186#pullrequestreview-2560162856
More information about the serviceability-dev
mailing list