RFR: 8355478: DoubleActionESC.java fails intermittently [v5]
Anass Baya
abaya at openjdk.org
Wed May 28 13:49:40 UTC 2025
> **Analysis :**
>
> Whether the test passes on the main line or fails, the behavior is still incorrect.
> This test is meant to ensure that pressing ESC a second time while the file dialog is open behaves correctly.
>
> However, the CountDownLatch is currently set to 1, which means the test only waits for the first open/close interaction to complete. As a result, it does not wait for the second attempt (opening the dialog again and pressing ESC to close it), because the latch reaches zero after the first attempt.
>
> This causes the test to proceed immediately to the validation step:
>
> if (fd.isVisible()) {
> throw new RuntimeException("File Dialog is not closed");
> }
>
> At this point, whether the test passes or fails becomes unreliable and undefined, as it depends on the state of the second attempt (whether the file dialog is in the process of opening, being closed, or hasn't even started yet)
>
> To ensure the test behaves correctly, the CountDownLatch should be set to 2, so it waits for the two attempt of open-close interactions to be completed before moving on to validation.
>
> **Proposed fix:**
>
> set the CountDownLatch to 2
>
> **Proposed enhancements :**
>
> Remove unnecessary threads (Thread and Thread-2)
> Properly handle delays and robot.waitForIdle()
> Avoid indefinite blocking on latch.await()
>
> With these enhancements, the test execution time is reduced from around 3 minutes to approximately 1 minute 30 seconds
>
> The adapted test uncovered a new bug in GTKFileDialog on Linux, which is being tracked under [JDK-8356981](https://bugs.openjdk.org/browse/JDK-8356981). As a result, it has been added to the ProblemList. See [JDK-8356981](https://bugs.openjdk.org/browse/JDK-8356981) for more details
Anass Baya has updated the pull request incrementally with two additional commits since the last revision:
- Remove whitespace
- Update test/jdk/java/awt/FileDialog/DoubleActionESC.java
Alexey's proposed changes
Co-authored-by: Alexey Ivanov <alexey.ivanov at oracle.com>
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/25184/files
- new: https://git.openjdk.org/jdk/pull/25184/files/2b0cf0ac..c5718772
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=25184&range=04
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=25184&range=03-04
Stats: 3 lines in 1 file changed: 2 ins; 1 del; 0 mod
Patch: https://git.openjdk.org/jdk/pull/25184.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/25184/head:pull/25184
PR: https://git.openjdk.org/jdk/pull/25184
More information about the client-libs-dev
mailing list