-
Notifications
You must be signed in to change notification settings - Fork 5.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
8297296: java/awt/Mouse/EnterExitEvents/DragWindowTest.java fails with "No MouseReleased event on label!" #11425
Conversation
👋 Welcome back achung! A progress list of the required criteria for merging this PR into |
@alisenchung The following label will be automatically applied to this pull request:
When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing list. If you would like to change these labels, use the /label pull request command. |
Webrevs
|
@@ -55,7 +55,7 @@ public class DragWindowTest { | |||
public static void main(String[] args) throws Exception { | |||
|
|||
Robot robot = new Robot(); | |||
robot.setAutoDelay(50); | |||
robot.setAutoDelay(250); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We normally do not need so much delay for test to work, 100ms being the norm which has sufficed for other tests.
Maybe you need to wait robot.delay after creating and showing the GUI which is not done here.
Also, this test has heavyweight and lightweight mix, for ex. MyDragWindow class uses JPanel but not in EDT which can result in some timing issue you are seeing, either it needs to be in EDT or can it be changed to AWT Panel as done elsewhere in the test?
ALso, please change the wildcards imports while you are at it..
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
JPanel question is still unanswered/unchanged...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This test was de-problemlisted recently under https://bugs.openjdk.org/browse/JDK-8023562 after running test 100 times in CI. And now with increased auto delay we are trying de-problemlist it again.
With increased auto delay test is passing in our CI on all platforms when ran for 100 times, but we need to refine this test as mentioned by @prsadhuk to add needed delay at appropriate places and remove mixture of lightweight & heavyweight parts.
@@ -81,6 +81,7 @@ public Point call() throws Exception { | |||
robot.waitForIdle(); | |||
|
|||
if (dragWindowMouseEnteredCount != 1) { | |||
// System.out.println("dragWindowMouseEnteredCount " + dragWindowMouseEnteredCount); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should remove this line or uncomment it(if needed as debug info for future failures)
robot.delay(250); | ||
robot.waitForIdle(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not positive if it matters, but from what I've seen the delay usually comes after waitForIdle.
But I also ran the test and it seems to be OK.
@alisenchung Was this an intermittent issue? If so it is better to run the entire test folder multiple times to catch any intermittent issue. |
After pulling newest changes test is failing again... looking into issue |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess it's better to use setLocationRelativeTo() to position the frame to middle of screen too to make it more stable..
@alisenchung This change now passes all automated pre-integration checks. ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details. After integration, the commit message for the final commit will be:
You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 150 new commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details. ➡️ To integrate this PR with the above commit message to the |
/integrate |
Going to push as commit 0ed6d0b.
Your commit was automatically rebased without conflicts. |
@alisenchung Pushed as commit 0ed6d0b. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
@alisenchung this test continues to fail in our CI in tier4. I will file a new bug. |
Test was run on mac, windows, linux 50 times and passed after change
Before fix, test fails about once every 50 runs on linux and windows platforms
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk pull/11425/head:pull/11425
$ git checkout pull/11425
Update a local copy of the PR:
$ git checkout pull/11425
$ git pull https://git.openjdk.org/jdk pull/11425/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 11425
View PR using the GUI difftool:
$ git pr show -t 11425
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/11425.diff