RFR: 8314755: Resource leak: SwingWorker listener keeps strong reference to executor

Alexey Ivanov aivanov at openjdk.org
Tue Sep 12 10:39:40 UTC 2023


On Sun, 30 Jul 2023 12:50:58 GMT, Christopher Sahnwaldt <duke at openjdk.org> wrote:

> In https://github.com/openjdk/jdk/commit/b8af3d50192f8bc98d83f8102f0fd1989f302e32 the weak reference was accidentally changed from a field to a local variable, which means that the PropertyChangeListener keeps a strong reference to executorService, which is a resource leak

>> Is it possible to cover this change with the new test?
> 
> I wrote a test demonstrating the problem that the executor is retained: [SwingWorkerExecutorLeakTest.java](/jcsahnwaldt/SwingWorkerExecutorLeakTest/blob/master/src/main/java/SwingWorkerExecutorLeakTest.java). (It's slightly similar to [6799345/TestShutdown.java](/openjdk/jdk/blob/master/test/jdk/javax/swing/system/6799345/TestShutdown.java).)
> 
> I ran the test on JDK 8, 11, 17, and 20 on macOS and always got the same result.

@jcsahnwaldt You should add this test as a jtreg regression test which demonstrates the problem to this PR.

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

PR Comment: https://git.openjdk.org/jdk/pull/15081#issuecomment-1715473742


More information about the client-libs-dev mailing list