RFR: 8303740 JavaFX - Leak in Logging, Logging remembers last exception
Kevin Rushforth
kcr at openjdk.org
Sat Mar 11 14:44:28 UTC 2023
On Tue, 7 Mar 2023 11:59:20 GMT, Florian Kirmaier <fkirmaier at openjdk.org> wrote:
> When an exception is logged in JavaFX, then the exception is kept in a reference.
> This way, always the last logged exception is retained.
>
> This is a memory-leak.
> This was done to write unit-tests to ensure certain error-cases are logged.
>
> A simple fix is, to add a flag, to enable/disable retaining the exception.
The fix looks OK, with a couple requested changes.
As discussed earlier, let's also file a follow-up bug to rework this so that the exception is never kept in the first place, but rather just the (fully qualified) name of the exception class.
modules/javafx.base/src/main/java/com/sun/javafx/binding/Logging.java line 32:
> 30: public class Logging {
> 31:
> 32: public static boolean keepException = false;
I'd rather see a private field and a public setter/getter here. Please also add a comment on the setter/getter indicating that they are only used for testing.
modules/javafx.base/src/test/java/test/com/sun/javafx/binding/TestLogging.java line 1:
> 1: package test.com.sun.javafx.binding;
You need to add a standard copyright header.
-------------
PR: https://git.openjdk.org/jfx/pull/1053
More information about the openjfx-dev
mailing list