Also I have the same problem under Oracle JDK7u21 64bit & Windows8Pro 64bit considering the stack trace and lock object name.
When I use the 1.6 jvm, the deadlock would not happen.
But I got locked when I use the 1.7 jvm even if I use the exactly same program.
The Window#getOpacity() was initially introduced in jdk since 1.7.
I think that this would be a bug of jvm imported by the new function.
Furthermore, unfortunately I cannot find some bug reports of JDK and there is few information about this problem.
This bug will be fixed or not?
How should we do?
Thread [AWT-EventQueue-0] (Suspended)
owns: Component$AWTTreeLock (id=92)
waiting for: Object (id=91)
Object.wait(long) line: not available [native method]
Object.wait() line: 503
D3DScreenUpdateManager.runUpdateNow() line: not available
D3DBlitLoops.IsoBlit(SurfaceData, SurfaceData, BufferedImage, BufferedImageOp, Composite, Region, AffineTransform, int, int, int, int, int, double, double, double, double, boolean) line: not available
D3DRTTSurfaceToSurfaceBlit.Blit(SurfaceData, SurfaceData, Composite, Region, int, int, int, int, int, int) line: not available
D3DDrawImage(DrawImage).blitSurfaceData(SunGraphic s2D, Region, SurfaceData, SurfaceData, SurfaceType, SurfaceType, int, int, int, int, int, int, Color) line: not available
D3DDrawImage(DrawImage).renderImageCopy(SunGraphic s2D, Image, Color, int, int, int, int, int, int) line: not available
D3DDrawImage(DrawImage).copyImage(SunGraphics2D, Image, int, int, Color) line: not available
D3DDrawImage(DrawImage).copyImage(SunGraphics2D, Image, int, int, Color, ImageObserver) line: not available
ValidatePipe.copyImage(SunGraphics2D, Image, int, int, Color, ImageObserver) line: not available
SunGraphics2D.drawImage(Image, int, int, Color, ImageObserver) line: not available
SunGraphics2D.drawImage(Image, int, int, ImageObserver) line: not available
RepaintManager$PaintManager.paintDoubleBuffered(JC omponent, Image, Graphics, int, int, int, int) line: not available
RepaintManager$PaintManager.paint(JComponent, JComponent, Graphics, int, int, int, int) line: not available
RepaintManager.paint(JComponent, JComponent, Graphics, int, int, int, int) line: not available
JTextArea(JComponent).paintForceDoubleBuffered(Gra phics) line: not available
JViewport.paintView(Graphics) line: not available
JViewport.windowBlitPaint(Graphics) line: not available
JViewport.setViewPosition(Point) line: not available
ViewportLayout.layoutContainer(Container) line: not available
JViewport(Container).layout() line: not available
JViewport(Container).doLayout() line: not available
JViewport(Container).validateTree() line: not available
JScrollPane(Container).validateTree() line: not available
JScrollPane(Container).validate() line: not available
JViewport.validateView() line: not available
JViewport.scrollRectToVisible(Rectangle) line: not available
JTextArea(JComponent).scrollRectToVisible(Rectangl e) line: not available
BasicTextUI$BasicCaret(DefaultCaret).adjustVisibil ity(Rectangle) line: not available
BasicTextUI$BasicCaret(DefaultCaret).repaintNewCar et() line: not available
DefaultCaret$1.run() line: not available
InvocationEvent.dispatch() line: not available
EventQueue.dispatchEventImpl(AWTEvent, Object) line: not available
EventQueue.access$200(EventQueue, AWTEvent, Object) line: not available
EventQueue$3.run() line: not available
EventQueue$3.run() line: not available
AccessController.doPrivileged(PrivilegedAction<T>, AccessControlContext) line: not available [native method]
ProtectionDomain$1.doIntersectionPrivilege(Privile gedAction<T>, AccessControlContext, AccessControlContext) line: not available
EventQueue.dispatchEvent(AWTEvent) line: not available
EventDispatchThread.pumpOneEventForFilters(int) line: not available
EventDispatchThread.pumpEventsForFilter(int, Conditional, EventFilter) line: not available
EventDispatchThread.pumpEventsForHierarchy(int, Conditional, Component) line: not available
EventDispatchThread.pumpEvents(int, Conditional) line: not available
EventDispatchThread.pumpEvents(Conditional) line: not available
EventDispatchThread.run() line: not available
Daemon System Thread [D3D Screen Updater] (Suspended)
waiting for: Component$AWTTreeLock (id=92)
JDialog(Window).getOpacity() line: not available
SunToolkit.isContainingTopLevelTranslucent(Compone nt) line: not available
WDialogPeer(WComponentPeer).isAccelCapable() line: not available
D3DSurfaceData$D3DWindowSurfaceData.restoreSurface () line: not available
D3DScreenUpdateManager.validate(D3DSurfaceData$D3D WindowSurfaceData) line: not available
D3DScreenUpdateManager.run() line: not available
Thread.run() line: not available