RFR: 8251451: Shenandoah: Remark ObjectSynchronizer roots with I-U
rkennke at redhat.com
Tue Aug 11 21:15:07 UTC 2020
Observed a very rare crash found in CI, and caught by verification. It
looks like we've got a lone reference from global-list in
ObjectSynchronizer. This list is only used when threads are dying.
ObjectMonitors on this list may be the only remaining reference to an
oop. When running with I-U mode, we don't enqueue the new-value when
creating such ObjectMonitor objects, and thus such objects end up not
The proposed fix re-marks through ObjectSynchronizer (when running with
I-U, like we already do for thread-roots and code-roots). That list
should normally be empty or very small.
Testing: hotspot_gc_shenandoah, hotspot:tier1 (which exhibited that
More information about the hotspot-gc-dev