On Sat, 7 Nov 2020 06:55:09 GMT, Sergey Bylokhov <[email protected]> wrote:
> This test rarely fails in the past on some configurations but was never a
> problem listed, and according to the history of CI, it fails 2 times on its
> own this year.
>
> There are two possible reasons for the failure:
> 1. At that time we had a memory leak, which was fixed.
> 2. The test works too fast and it was not enough time for GC to eliminate
> 1000 windows.
>
> To make the future evaluation simpler I enhanced the test and make it
> stricter, see some comments inline.
test/jdk/java/awt/Window/OwnedWindowsLeak/OwnedWindowsLeak.java line 74:
> 72: for (WeakReference<Window> ref : children)
> 73: {
> 74: while (ref.get() != null) {
Will wait till the end of the test and log what window is leaked. If it fails
then it will be 100% product bug.
test/jdk/java/awt/Window/OwnedWindowsLeak/OwnedWindowsLeak.java line 92:
> 90: }
> 91: catch (Exception z)
> 92: {
If the field will be removed/renamed the test should be reworked.
test/jdk/java/awt/Window/OwnedWindowsLeak/OwnedWindowsLeak.java line 87:
> 85: while (ownersChildren.size() > 0)
> 86: {
> 87: System.out.println("ownersChildren = " + ownersChildren);
This private list is cleared via the DIsposer mechanism, which may require
additional time. If it fails then it will be 100% product bug.
-------------
PR: https://git.openjdk.java.net/jdk/pull/1105