Details
Description
Printing using Java's Printable interface... We have a single Pivot Window (it's an applet) and the layout isn't really complicated. Implementing print method of the Printable interface in our case boils down to drawing into the provided Graphics.
This has worked perfectly until recently (not sure which version broke things, but we're talking last few weeks). Now when we print we get an "Out of Memory" exception. Call stack does not show any obvious anomalies like infinite loops and such, here it is:
java.lang.OutOfMemoryError: Java heap space
at java.awt.image.DataBufferInt.<init>(Unknown Source)
at java.awt.image.Raster.createPackedRaster(Unknown Source)
at java.awt.image.DirectColorModel.createCompatibleWritableRaster(Unknown Source)
at java.awt.image.BufferedImage.<init>(Unknown Source)
at sun.java2d.loops.GraphicsPrimitive.convertFrom(Unknown Source)
at sun.java2d.loops.GraphicsPrimitive.convertFrom(Unknown Source)
at sun.java2d.loops.MaskBlit$General.MaskBlit(Unknown Source)
at sun.java2d.loops.Blit$GeneralMaskBlit.Blit(Unknown Source)
at sun.java2d.pipe.DrawImage.blitSurfaceData(Unknown Source)
at sun.java2d.pipe.DrawImage.renderImageCopy(Unknown Source)
at sun.java2d.pipe.DrawImage.copyImage(Unknown Source)
at sun.java2d.pipe.DrawImage.copyImage(Unknown Source)
at sun.java2d.pipe.ValidatePipe.copyImage(Unknown Source)
at sun.java2d.SunGraphics2D.drawImage(Unknown Source)
at sun.java2d.SunGraphics2D.drawImage(Unknown Source)
at sun.java2d.pipe.DrawImage.makeBufferedImage(Unknown Source)
at sun.java2d.pipe.DrawImage.renderImageXform(Unknown Source)
at sun.java2d.pipe.DrawImage.transformImage(Unknown Source)
at sun.java2d.pipe.DrawImage.scaleImage(Unknown Source)
at sun.java2d.pipe.DrawImage.copyImage(Unknown Source)
at sun.java2d.pipe.DrawImage.copyImage(Unknown Source)
at sun.java2d.pipe.ValidatePipe.copyImage(Unknown Source)
at sun.java2d.SunGraphics2D.copyImage(Unknown Source)
at sun.java2d.SunGraphics2D.drawImage(Unknown Source)
at sun.java2d.SunGraphics2D.drawImage(Unknown Source)
at sun.print.PeekGraphics.drawImage(Unknown Source)
at org.apache.pivot.wtk.ApplicationContext$DisplayHost.paintVolatileBuffered(ApplicationContext.java:541)
at org.apache.pivot.wtk.ApplicationContext$DisplayHost.paint(ApplicationContext.java:436)
at com.barchart.realtime.core.service.PrintService.paint(PrintService.java:60)
at com.barchart.realtime.core.service.PrintService.print(PrintService.java:84)
at sun.print.RasterPrinterJob.printPage(Unknown Source)
at sun.print.RasterPrinterJob.print(Unknown Source)
If you need more info, do not hesitate to ask. I would have provided a test case, but it's not easy to extract code from a commercial product. Besides, I suspect this is some kind of obvious accidental mistake which should be easy to repeat with a very simple test case.pr
Attachments
Attachments
Issue Links
- is related to
-
PIVOT-805 Labels doesn't appear in Print from Java
- Resolved