[master] RFR: Deflate monitors of dead objects before they become unreachable [v2]
Roman Kennke
rkennke at openjdk.java.net
Tue Nov 30 13:26:10 UTC 2021
> I've seen occasional failures in G1, where the refinement thread tries to parse a heap region that has dead objects, and would sometimes see an object with a monitor that has already been deflated. And because deflation does not bother to restore the header of dead objects, it would reach to unknown memory and crash.
>
> The fix is to restore the header of dead objects just before they become unreachable. This can be done in the closures used by WeakProcessor::weak_oops_do(), right before the weak root will be cleared.
>
> Testing:
> - [x] tier1
> - [x] tier2
> - [x] tier3
> - [ ] tier4
Roman Kennke has updated the pull request incrementally with one additional commit since the last revision:
Add comment to OM::maybe_deflate_dead()
-------------
Changes:
- all: https://git.openjdk.java.net/lilliput/pull/28/files
- new: https://git.openjdk.java.net/lilliput/pull/28/files/88a4392a..5d529f0f
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=lilliput&pr=28&range=01
- incr: https://webrevs.openjdk.java.net/?repo=lilliput&pr=28&range=00-01
Stats: 2 lines in 1 file changed: 2 ins; 0 del; 0 mod
Patch: https://git.openjdk.java.net/lilliput/pull/28.diff
Fetch: git fetch https://git.openjdk.java.net/lilliput pull/28/head:pull/28
PR: https://git.openjdk.java.net/lilliput/pull/28
More information about the lilliput-dev
mailing list