-
Bug
-
Resolution: Fixed
-
P3
-
24, 25
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8348483 | 24.0.1 | Per-Ake Minborg | P3 | Resolved | Fixed | b04 |
JDK-8347254 | 24 | Per-Ake Minborg | P3 | Resolved | Fixed | b31 |
Runnable action = cleanup != null ?
() -> cleanup.accept(SegmentFactories.makeNativeSegmentUnchecked(address(), newSize)) :
null;
While in principle this code should completely decouple the cleanup action from the old segment, the accidental call to the instance method `address()` defeats that purpose. This results in a segment that can't be cleaned up, as described here:
https://mail.openjdk.org/pipermail/panama-dev/2024-December/020870.html
- backported by
-
JDK-8347254 Cleanup action passed to MemorySegment::reinterpret keeps old segment alive
-
- Resolved
-
-
JDK-8348483 Cleanup action passed to MemorySegment::reinterpret keeps old segment alive
-
- Resolved
-
- causes
-
JDK-8348978 Regression ~8% on J2dBench-vimg_text_aa-ParGC only on linux aarch64
-
- Open
-
- relates to
-
JDK-8348978 Regression ~8% on J2dBench-vimg_text_aa-ParGC only on linux aarch64
-
- Open
-
-
JDK-8347249 Add a test that makes sure reinterpretated segments are collected by the GC
-
- Open
-
- links to
-
Commit(jdk24) openjdk/jdk/860b30dd
-
Commit(master) openjdk/jdk/b0c935c0
-
Review(jdk24) openjdk/jdk/22962
-
Review(master) openjdk/jdk/22943