RFR: 8281748: runtime/logging/RedefineClasses.java failed "assert(addr != __null) failed: invariant"

Stefan Johansson sjohanss at openjdk.java.net
Tue Feb 15 11:51:27 UTC 2022


Please review this fix for [JDK-8281748](https://bugs.openjdk.java.net/browse/JDK-8281748).

**Summary**
In a recent [cleanup](https://bugs.openjdk.java.net/browse/JDK-8281637) a NULL-check in `G1CMIsAliveClosure::do_object_b(oop obj)` was forgotten. This was not caught by the initial testing because the only time the check is needed is when a referent is cleared **during** reference discovery, which is quite hard to trigger. 

The fix is fairly simple, but returning `true` when a `NULL` is passed in feels a bit counter-intuitive. This behavior is the same as prior to the cleanup causing the error and reading the code this will lead to not discovering references where the referent is `NULL`. 

**Testing**

- [ ] Re-running mach5 tier1-5

-------------

Commit messages:
 - 8281748: runtime/logging/RedefineClasses.java failed "assert(addr != __null) failed: invariant"

Changes: https://git.openjdk.java.net/jdk/pull/7476/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7476&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8281748
  Stats: 7 lines in 1 file changed: 6 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/7476.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/7476/head:pull/7476

PR: https://git.openjdk.java.net/jdk/pull/7476



More information about the hotspot-gc-dev mailing list