I have an application where the EDT very infrequently hangs. I get a
slightly different thread dump each time, sometimes the AWT-EventQueue-0
thread isn't even blocked. This time it came up blocked in
AlphaPaintPipe.renderPathTile (line 120). 

I'm running under 1.6.0, Win XP SP 2, with ddoffscreen set to false.
Any suggestions on what to look for, or how to avoid this blocking? I
can't figure out from the thread dump who currently owns the monitor the
AWT thread is trying to get. The only other thread doing something in
sun.java2d is the Java2D disposer (listed below as well). 

Brian

"AWT-EventQueue-0" prio=6 tid=0x0c1c0800 nid=0x15d0 waiting for monitor
entry [0x0f03e000..0x0f03fb94]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at
sun.java2d.pipe.AlphaPaintPipe.renderPathTile(AlphaPaintPipe.java:120)
        at
sun.java2d.pipe.SpanShapeRenderer$Composite.renderBox(SpanShapeRenderer.
java:42)
        at
sun.java2d.pipe.SpanShapeRenderer.renderRect(SpanShapeRenderer.java:171)
        at
sun.java2d.pipe.SpanShapeRenderer.fill(SpanShapeRenderer.java:122)
        at
sun.java2d.pipe.PixelToShapeConverter.fillRect(PixelToShapeConverter.jav
a:44)
        at sun.java2d.pipe.ValidatePipe.fillRect(ValidatePipe.java:58)
        at sun.java2d.SunGraphics2D.fillRect(SunGraphics2D.java:2270)
        at
javax.swing.plaf.metal.MetalUtils$GradientPainter.drawHorizontalGradient
(MetalUtils.java:352)
        at
javax.swing.plaf.metal.MetalUtils$GradientPainter.paintToImage(MetalUtil
s.java:272)
        at sun.swing.CachedPainter.paint0(CachedPainter.java:131)
        at sun.swing.CachedPainter.paint(CachedPainter.java:90)
        - locked <0x07be2fb8> (a java.lang.Class for
sun.swing.CachedPainter)
        - locked <0x032b5ef8> (a java.awt.Component$AWTTreeLock)
        at
javax.swing.plaf.metal.MetalUtils$GradientPainter.paint(MetalUtils.java:
252)
        - locked <0x032b5ef8> (a java.awt.Component$AWTTreeLock)
        at
javax.swing.plaf.metal.MetalUtils.drawGradient(MetalUtils.java:205)
        at
javax.swing.plaf.metal.MetalIconFactory$OceanVerticalSliderThumbIcon.pai
ntToImage(MetalIconFactory.java:2490)
        at sun.swing.CachedPainter.paint0(CachedPainter.java:131)
        at sun.swing.CachedPainter.paint(CachedPainter.java:90)
        - locked <0x07be2fb8> (a java.lang.Class for
sun.swing.CachedPainter)
        - locked <0x032b5ef8> (a java.awt.Component$AWTTreeLock)
        at
javax.swing.plaf.metal.MetalIconFactory$OceanVerticalSliderThumbIcon.pai
ntIcon(MetalIconFactory.java:2462)
        at
javax.swing.plaf.metal.MetalSliderUI.paintThumb(MetalSliderUI.java:152)
        at
javax.swing.plaf.basic.BasicSliderUI.paint(BasicSliderUI.java:903)


"Java2D Disposer" daemon prio=10 tid=0x0b48ec00 nid=0x1f88 in
Object.wait() [0x0b7af000..0x0b7afc94]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
        - locked <0x032b0200> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
        at sun.java2d.Disposer.run(Disposer.java:125)
        at java.lang.Thread.run(Thread.java:619)


===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA2D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to