RFR: 8298376: ZGC: thaws stackChunk with stale oops [v2]
Stefan Karlsson
stefank at openjdk.org
Wed Dec 14 11:11:00 UTC 2022
> During the recent ZGC + Loom rewrites JDK-8296875 a bug was introduced, which causes Loom to thaw stackChunks with stale oops.
>
> Before that change we made sure that only the GC performed load barriers on the cont oop in stackChunk, so that we could use the oop state as an indication of the age of the stackChunk. That information was then used in ZCollectedHeap::requires_barriers.
>
> In Generational ZGC we changed the implementation of requires_barriers, so that the rest of the JVM didn't need to have special-handling of the cont oop. However, when upstreaming the changes in JDK-8296875 we purposefully didn't update requires_barriers, but we incorrectly brought over the removal of the special-handling of the cont oop.
>
> To limit the fix for this bug, I propose that we restore the special-handling of the cont oop.
>
> I've tested this with a reproducer running Fuzz.java + ZGC.
Stefan Karlsson has updated the pull request incrementally with 104 additional commits since the last revision:
- Merge remote-tracking branch 'upstream/master' into 8298376_zgc_loom_thaw_stale_oops
- 8298371: monitors_on_stack extracts unprocessed oops
Reviewed-by: pchilanomate, rehn
- 8298513: vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy009/TestDescription.java fails with usage tracker
Reviewed-by: cjplummer, sspitsyn, lmesnik
- 8298514: vmTestbase/nsk/jdi/EventRequestManager/threadDeathRequests/thrdeathreq002/TestDescription.java fails with usage tracker
Reviewed-by: cjplummer, sspitsyn
- 8298524: Debug function to trace reachability of CDS archived heap objects
Reviewed-by: ccheung
- Merge
- 8298084: Memory leak in Method::build_profiling_method_data
Co-authored-by: Justin King <jcking at openjdk.org>
Reviewed-by: kbarrett, eosterlund, dholmes, jcking, thartmann
- 8296955: Kitchensink.java failed with "double free or corruption (!prev): <addr>"
Reviewed-by: kbarrett, eosterlund, sspitsyn, dcubed
- 8298488: [macos13] tools/jpackage tests failing with "Exit code: 137" on macOS
Reviewed-by: asemenyuk
- 8297288: Example code in Scanner class
Reviewed-by: lancea, bpb, alanb
- ... and 94 more: https://git.openjdk.org/jdk/compare/bb7183bf...da98a785
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/11585/files
- new: https://git.openjdk.org/jdk/pull/11585/files/bb7183bf..da98a785
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=11585&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=11585&range=00-01
Stats: 20519 lines in 493 files changed: 14764 ins; 4129 del; 1626 mod
Patch: https://git.openjdk.org/jdk/pull/11585.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/11585/head:pull/11585
PR: https://git.openjdk.org/jdk/pull/11585
More information about the hotspot-dev
mailing list