Looks fine.

On 30/12/15 13:12, Ambarish Rapte wrote:
Hi Sergey,
        I missed that the Robot synchronizes toolkit thread as well.
        So, Just a call to Robot.waitForIdle() will synchronize the flow and 
make an easy fix.

        Please check the updated patch,
        http://cr.openjdk.java.net/~arapte/8146168/webrev.02/


Thanks,
Ambarish
        

-----Original Message-----
From: Sergey Bylokhov
Sent: Tuesday, December 29, 2015 8:04 PM
To: Ambarish Rapte; Rajeev Chamyal; Semyon Sadetsky; Prasanta Sadhukhan; 
awt-dev@openjdk.java.net
Subject: Re: <AWT Dev> Review reuest for 8146168: [TEST_BUG] instability of 
java/awt/Frame/MaximizedToMaximized/MaximizedToMaximized.java

Hi, Ambarish.
Did you try to check why Robot.waitForIdle() does not work in this case?(in 
jdk9 it is implemented via (SunToolkit.realSync())

On 29/12/15 15:49, Ambarish Rapte wrote:
Hi Rajeev,

Thanks for the review,

Please check the updated test file as per the review comments,

http://cr.openjdk.java.net/~arapte/8146168/webrev.01/

Regards,

Ambarish

*From:*Rajeev Chamyal
*Sent:* Tuesday, December 29, 2015 4:36 PM
*To:* Ambarish Rapte; Semyon Sadetsky; Prasanta Sadhukhan;
awt-dev@openjdk.java.net
*Subject:* RE: Review reuest for 8146168: [TEST_BUG] instability of
java/awt/Frame/MaximizedToMaximized/MaximizedToMaximized.java

Hello Ambarish,

1)Please mark frameDisplayed & frameMaximized as volatile as these are
accessed from different threads.

2)Instead of disposing frame multiple times you can add a finally block.

3)I think you can also remove the @author tag from test.

Regards,

Rajeev Chamyal

*From:* Ambarish Rapte
*Sent:* 29 December 2015 10:58
*To:* Semyon Sadetsky; Prasanta Sadhukhan; Rajeev Chamyal;
awt-dev@openjdk.java.net <mailto:awt-dev@openjdk.java.net>
*Subject:* Review reuest for 8146168: [TEST_BUG] instability of
java/awt/Frame/MaximizedToMaximized/MaximizedToMaximized.java

Hi All,

Please review the fix for JDK9,

Webrev: http://cr.openjdk.java.net/~arapte/8146168/webrev.00/

Bug: https://bugs.openjdk.java.net/browse/JDK-8146168

Issue:

                  The test fails, on low performance system.

Cause:

                  The APIs, Frame.setVisible() &
Frame.setExtendedState(Frame.MAXIMIZED_BOTH)

                  take little more time to finish. Due to which the
result verification occurs before above

                  mentioned APIs complete.

                  These APIs run on toolkit thread, But as the toolkit
APIs should not be used by bug:

https://bugs.openjdk.java.net/browse/JDK-8063102

The original test was altered to remove ((SunToolkit)
toolkit).realSync();

Fix:

                  There are two fixes,

1.Synchronize the calls

This is the fix in webrev.00 provided at above link.

Added ComponentAdapter  to synchronize Frame.setVisible()

Added WindowStateListener to synchronize
Frame.setExtendedState(Frame.MAXIMIZED_BOTH)

2.Add delay after call to above APIs

Adding robot.delay(1000) would also solve the issue.

If above fix 1: does not sound good, delay would do the same with
lesser code change.

Merry Christmas,

Ambarish



--
Best regards, Sergey.



--
Best regards, Sergey.

Reply via email to