<AWT Dev> RFR: 8225116: Test OwnedWindowsLeak.java intermittently fails

Sergey Bylokhov serb at openjdk.java.net
Sat Nov 7 07:09:06 UTC 2020


On Sat, 7 Nov 2020 06:55:09 GMT, Sergey Bylokhov <serb at openjdk.org> 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


More information about the awt-dev mailing list