RFR: 8319779: SystemMenu: memory leak due to listener never being removed [v9]
Kevin Rushforth
kcr at openjdk.org
Mon Feb 26 15:20:12 UTC 2024
On Sat, 20 Jan 2024 20:34:50 GMT, Johan Vos <jvos at openjdk.org> wrote:
>> A listener was added but never removed.
>> This patch removes the listener when the menu it links to is cleared. Fix for https://bugs.openjdk.org/browse/JDK-8319779
>
> Johan Vos has updated the pull request incrementally with one additional commit since the last revision:
>
> Add additional test for IOOBE detection.
> This test comes from JDK-8323787
Getting back to this.... I ran the test on macOS and it now works as expected. However, one of the new tests fails on Linux:
SystemMenuBarTest > testFocusMemoryLeak FAILED
org.opentest4j.AssertionFailedError: expected: <false> but was: <true>
at app//org.junit.jupiter.api.AssertionUtils.fail(AssertionUtils.java:55)
at app//org.junit.jupiter.api.AssertFalse.assertFalse(AssertFalse.java:40)
at app//org.junit.jupiter.api.AssertFalse.assertFalse(AssertFalse.java:35)
at app//org.junit.jupiter.api.Assertions.assertFalse(Assertions.java:227)
at app//test.com.sun.javafx.tk.quantum.SystemMenuBarTest.testFocusMemoryLeak(SystemMenuBarTest.java:198)
Btw, all of my tests were done in a local branch with the latest upstream master merged in.
@johanvos since the source branch is now a bit out of date, can you merge in the latest upstream master?
Also, I think there are still some unaddressed questions from John and Andy.
Regarding the following:
> All tests now pass, but I noticed that in some cases, the systemtests do not correctly work with the application lifecycle management (see https://mail.openjdk.org/pipermail/openjfx-dev/2024-January/044516.html). For now, I consider this anomaly to be independent from JDK-8319779
Yes, this is unrelated to the memory leak being fixed by this PR. We should file a bug for the activation problem.
-------------
PR Comment: https://git.openjdk.org/jfx/pull/1283#issuecomment-1964373792
More information about the openjfx-dev
mailing list