<AWT Dev> JDK 9 b159 - sun.lwawt.macosx.CWrapper$NSWindow.isZoomed never returns

Reto Merz reto.merz at abacus.ch
Thu Mar 9 13:41:32 UTC 2017


Hi Dmitry,

I was able to create a demo to reproduce it.
It seems that the issue is triggered by Windows#setEnabled(boolean).

Steps to reproduce it with attached WindowTest.java,
maybe you need 2-3 attempts:

(0. start the demo program)
1. click on the button in the first window ; a second window opens
2. click on the button in the second dialog ; a third windows open
3. move the third window via mouse and click on the label
4. wait 9 seconds ; a fourth windows is opened (the fourth windows should be opened behind the third)
5. try to close the fourth
-> EDT is blocked

Attached threads_report.txt is a full thread dump after step 5.

FYI:
I just re-checked the logs, the original integration test was never run on macOS with a older JDK 9.
The original integration passes with:
- JDK 8 u152 EA on Windows and macOS
- JDK 9 b157 EA on Windows ; macOS not tested
- JDK 9 b159 EA on Windows ; hangs on macOS as described

Thanks
Reto


> -----Ursprüngliche Nachricht-----
> Von: dmitry markov [mailto:dmitry.markov at oracle.com]
> Gesendet: Donnerstag, 9. März 2017 08:52
> An: Reto Merz
> Cc: awt-dev at openjdk.java.net
> Betreff: Re: <AWT Dev> JDK 9 b159 -
> sun.lwawt.macosx.CWrapper$NSWindow.isZoomed never returns
> 
> Hi Reto,
> 
> I have no seen such hang before. Most likely this is a new issue.
> Could you provide us with a test case, (i.e. reproducer), please? Once
> we have a reproducer, I will open a bug for this.
> 
> Thanks,
> Dmitry
> On 07/03/2017 19:52, Reto Merz wrote:
> > Hi,
> >
> > We have a integration test which hangs with Java 9 b159 under macOS
> > 10.12.3.
> > It does not hang with b157 and also works with Windows OS & b159.
> > We can reproduce it always with our integration test.
> >
> > I want to ask if this is already a known regression?
> > Otherwise I can try to provide a simple test case to reproduce it but
> > this would take some time.
> >
> > The relevant thread stacks are:
> >
> > "AWT-EventQueue-0" #13 prio=6 os_prio=31 tid=0x00007fa86ea7e000
> > nid=0xd203 runnable [0x0000700010632000]
> >    java.lang.Thread.State: RUNNABLE
> >     at
> > sun.lwawt.macosx.CWrapper$NSWindow.isZoomed(java.desktop at 9-
> ea/Native
> > Method)
> >     at
> > sun.lwawt.macosx.CPlatformWindow.isMaximized(java.desktop at 9-
> ea/CPlatformWindow.java:509)
> >     at
> > sun.lwawt.macosx.CPlatformWindow.setVisible(java.desktop at 9-
> ea/CPlatformWindow.java:558)
> >     at
> > sun.lwawt.LWWindowPeer.setVisibleImpl(java.desktop at 9-
> ea/LWWindowPeer.java:253)
> >     at
> > sun.lwawt.LWComponentPeer.setVisible(java.desktop at 9-
> ea/LWComponentPeer.java:763)
> >     at java.awt.Component.hide(java.desktop at 9-ea/Component.java:1705)
> >     - locked <0x00000007a48a2c20> (a java.awt.Component$AWTTreeLock)
> >     at java.awt.Window.hide(java.desktop at 9-ea/Window.java:1118)
> >     at java.awt.Dialog.hide(java.desktop at 9-ea/Dialog.java:1152)
> >     at java.awt.Window.hide(java.desktop at 9-ea/Window.java:1110)
> >     - locked <0x00000007a802e218> (a java.util.Vector)
> >     at java.awt.Dialog.hide(java.desktop at 9-ea/Dialog.java:1152)
> >     at java.awt.Component.show(java.desktop at 9-
> ea/Component.java:1670)
> >     at
> > java.awt.Component.setVisible(java.desktop at 9-
> ea/Component.java:1615)
> >     at java.awt.Window.setVisible(java.desktop at 9-ea/Window.java:1017)
> >     at java.awt.Dialog.setVisible(java.desktop at 9-ea/Dialog.java:1005)
> >
> > "AppKit Thread" #11 daemon prio=5 os_prio=31 tid=0x00007fa87076b000
> > nid=0x307 waiting for monitor entry [0x00007fff5e87e000]
> >    java.lang.Thread.State: BLOCKED (on object monitor)
> >     at
> > java.awt.Window.getOwnedWindows_NoClientCode(java.desktop at 9-
> ea/Window.java:1478)
> >     - waiting to lock <0x00000007a802e218> (a java.util.Vector)
> >     at
> > java.awt.Window$1.getOwnedWindows(java.desktop at 9-
> ea/Window.java:4127)
> >     at
> >
> sun.lwawt.macosx.CPlatformWindow.orderAboveSiblingsImpl(java.desktop
> @9-ea/CPlatformWindow.java:1153)
> >     at
> >
> sun.lwawt.macosx.CPlatformWindow.orderAboveSiblings(java.desktop at 9-
> ea/CPlatformWindow.java:1118)
> >     at
> >
> sun.lwawt.macosx.CPlatformWindow.windowDidBecomeMain(java.desktop
> @9-ea/CPlatformWindow.java:1182)
> >
> > Thanks
> > Reto
> >

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: threads_report.txt
URL: <http://mail.openjdk.java.net/pipermail/awt-dev/attachments/20170309/af1fbd77/threads_report-0001.txt>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: WindowTest.java
Type: application/octet-stream
Size: 11327 bytes
Desc: not available
URL: <http://mail.openjdk.java.net/pipermail/awt-dev/attachments/20170309/af1fbd77/WindowTest-0001.java>


More information about the awt-dev mailing list