RFR: 8283555: G1: Concurrent mark accesses uninitialized BOT of closed archive regions [v2]
Thomas Schatzl
tschatzl at openjdk.java.net
Wed Mar 23 16:23:07 UTC 2022
> Hi all,
>
> please review this change that fixes crashes occurring in the Loom repo because of missing initialization in the BOT of closed archive regions. This is a bug here too, just typically not occurring.
>
> So during marking through the closed archive regions (for statistics mainly) it can happen that there are objects in these closed archive regions that are split into chunks. To get the start of the object that contains this chunk, we use the BOT.
>
> Since it is not initialized for the closed archive regions G1 crashes as that call returns garbage.
>
> The fix is to not only initialize open archive regions, but also closed archive regions.
>
> The problem started with [JDK-8264908](https://bugs.openjdk.java.net/browse/JDK-8264908) which means that there will be a JDK 18 backport.
>
> Testing: failing test with Loom, GHA
>
> Thanks,
> Thomas
Thomas Schatzl has updated the pull request incrementally with one additional commit since the last revision:
Improve comment
-------------
Changes:
- all: https://git.openjdk.java.net/jdk/pull/7923/files
- new: https://git.openjdk.java.net/jdk/pull/7923/files/ddc51e03..0645bec5
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7923&range=01
- incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7923&range=00-01
Stats: 3 lines in 1 file changed: 1 ins; 0 del; 2 mod
Patch: https://git.openjdk.java.net/jdk/pull/7923.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/7923/head:pull/7923
PR: https://git.openjdk.java.net/jdk/pull/7923
More information about the hotspot-gc-dev
mailing list