Looks good to me.
--Semyon
On 1/22/2016 1:18 PM, Manajit Halder wrote:
Hi All,
Kindly review the fix for JDK9.
*Bug: *
https://bugs.openjdk.java.net/browse/JDK-8075964
*Webrev:*
http://cr.openjdk.java.net/~arapte/manajit/8075964/webrev.00
<http://cr.openjdk.java.net/%7Earapte/manajit/8075964/webrev.00>
*Issue: *
Test java/awt/Mouse/TitleBarDoubleClick/TitleBarDoubleClick.html fails
intermittently with timeout error.
*Fix: *
The timeout error was observed on MacOS, Windows and Ubuntu. Fixed by
removing the Util.waitForIdle(robot) call from the end of the start()
method. The provided fix solves the time-out problem on all the three
(MacOS, Windows and Ubuntu) platforms.
*Justification of fix: *
Stack Trace of the issue:
"Attach Listener" #17 daemon prio=9 os_prio=31 tid=0x00007fbed98cd000
nid=0x470f waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"AWT-EventQueue-0" #16 prio=6 os_prio=31 tid=0x00007fbed9a2b000
nid=0x413 waiting for monitor entry [0x000000012028b000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.awt.Robot.mouseMove(Robot.java:198)
- waiting to lock <0x00000007bfbc7d80> (a java.awt.Robot)
at TitleBarDoubleClick.doTest(TitleBarDoubleClick.java:111)
at TitleBarDoubleClick.windowActivated(TitleBarDoubleClick.java:174)
at java.awt.Window.processWindowEvent(Window.java:2077)
*Cause: *
Util.waitForIdle(robot) called at the end of start() method locks the
robot. Immediately after frame becomes visible and
windowActivated(WindowEvent e) event is generated.
windowActivated(WindowEvent e) calls doTest() on the event dispatcher
thread. In the doTest() method, mouseMove() call tries to lock robot
which is already locked by waitForIdle() call in start() method.
This scenario results in deadlock between two threads and the test
times out. Therefore Util.waitForIdle(robot) shouldn't be called at
the end of start() method to avoid the deadlock.
*New Issue observed on Ubuntu: *
The test passes on Mac OS and Windows but fails on Ubuntu due to some
other issue. For the new problem a new issue is created with link
https://bugs.openjdk.java.net/browse/JDK-8148041
Regards,
Manajit