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