> The way that you obtain your Graphics instance would be useful to know.

bi = new BufferedImage(400,400,BufferedImage.TYPE_INT_ARGB);
Graphics2D context = bi.createContext();

The thread dumps confirm my blocking issue (no profiler is running on the 
server process)

"resin-tcp-connection-*:8080-25" daemon prio=10 tid=0x08bc9000 nid=0x4845 
waiting for monitor entry [0x5c0ff000..0x5c0ffad0]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at sun.java2d.pipe.DuctusRenderer.dropRasterizer(DuctusRenderer.java:55)
        - waiting to lock <0x670aad28> (a java.lang.Class for 
sun.java2d.pipe.DuctusRenderer)
        at 
sun.java2d.pipe.DuctusShapeRenderer.renderPath(DuctusShapeRenderer.java:109)
        at sun.java2d.pipe.DuctusShapeRenderer.fill(DuctusShapeRenderer.java:49)
        at sun.java2d.pipe.ValidatePipe.fill(ValidatePipe.java:142)
        at sun.java2d.SunGraphics2D.fill(SunGraphics2D.java:2364)
        at 
com.foo.bar.renderer.DocumentRenderer.internalDrawShape(DocumentRenderer.java:1843)

"resin-tcp-connection-*:8080-51" daemon prio=10 tid=0x5e3e4c00 nid=0x4843 
waiting for monitor entry [0x5c3ff000..0x5c3ffbd0]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at sun.java2d.pipe.DuctusRenderer.getAlphaTile(DuctusRenderer.java:62)
        - waiting to lock <0x670aad28> (a java.lang.Class for 
sun.java2d.pipe.DuctusRenderer)
        at 
sun.java2d.pipe.DuctusShapeRenderer.renderPath(DuctusShapeRenderer.java:77)
        at sun.java2d.pipe.DuctusShapeRenderer.fill(DuctusShapeRenderer.java:49)
        at sun.java2d.pipe.ValidatePipe.fill(ValidatePipe.java:142)
        at sun.java2d.SunGraphics2D.fill(SunGraphics2D.java:2364)
        at 
com.foo.bar.renderer.DocumentRenderer.internalDrawShape(DocumentRenderer.java:1843)

"resin-tcp-connection-*:8080-11" daemon prio=10 tid=0x5e69c400 nid=0x4834 
waiting for monitor entry [0x5cafe000..0x5caff950]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at sun.java2d.pipe.DuctusRenderer.getRasterizer(DuctusRenderer.java:45)
        - waiting to lock <0x670aad28> (a java.lang.Class for 
sun.java2d.pipe.DuctusRenderer)
        at 
sun.java2d.pipe.DuctusRenderer.createShapeRasterizer(DuctusRenderer.java:358)
        at 
sun.java2d.pipe.DuctusShapeRenderer.renderPath(DuctusShapeRenderer.java:57)
        at sun.java2d.pipe.DuctusShapeRenderer.fill(DuctusShapeRenderer.java:49)
        at sun.java2d.pipe.ValidatePipe.fill(ValidatePipe.java:142)
        at sun.java2d.SunGraphics2D.fill(SunGraphics2D.java:2364)
        at 
com.foo.bar.renderer.DocumentRenderer.internalDrawShape(DocumentRenderer.java:1843)


"resin-tcp-connection-*:8080-53" daemon prio=10 tid=0x62e14400 nid=0x482e 
runnable [0x5d2fe000..0x5d2ffc50]
   java.lang.Thread.State: RUNNABLE
        at sun.java2d.loops.TransformHelper.Transform(Native Method)
        at sun.java2d.pipe.DrawImage.renderImageXform(DrawImage.java:446)
        at sun.java2d.pipe.DrawImage.transformImage(DrawImage.java:251)
        at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:63)
        at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:982)
        at sun.java2d.pipe.ValidatePipe.copyImage(ValidatePipe.java:168)
        at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:2979)
        at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3097)
        at 
com.foo.bar.renderer.DocumentRenderer.internalDrawShape(DocumentRenderer.java:1946)

I can provide the full threads dump if necessary. 

Does anyone has a clue?

Regards,
Stéphane
[Message sent by forum member 'stephanenicoll' (stephanenicoll)]

http://forums.java.net/jive/thread.jspa?messageID=188497

===========================================================================
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