Bug 41954 - AWT Renderer fails with heap memory error
Summary: AWT Renderer fails with heap memory error
Status: CLOSED INVALID
Alias: None
Product: Fop - Now in Jira
Classification: Unclassified
Component: awt renderer (show other bugs)
Version: 0.93
Hardware: PC other
: P2 normal
Target Milestone: ---
Assignee: fop-dev
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-03-26 16:45 UTC by Barry Pearce
Modified: 2012-04-01 13:49 UTC (History)
0 users



Attachments
Example PDF output produced from the code. (19.72 KB, application/pdf)
2007-03-26 16:45 UTC, Barry Pearce
Details
XSL-FO which formats the page. (1.77 KB, text/xml)
2007-03-26 16:46 UTC, Barry Pearce
Details
XML input data. (112 bytes, text/xml)
2007-03-26 16:46 UTC, Barry Pearce
Details
Image included in the test (14.02 KB, image/jpeg)
2007-03-26 16:47 UTC, Barry Pearce
Details
Complete test source code. (4.44 KB, text/x-java)
2007-03-26 16:47 UTC, Barry Pearce
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Barry Pearce 2007-03-26 16:45:09 UTC
The attached code fails with the following trace on the AWT Renderer. All the
other pieces of code execute and produce the correct output (PDF etc). However,
the AWT Renderer displays the print preview window, with 'Generating' in the
status bar at the bottom, and then the following exception is reported.

27-Mar-2007 00:43:55 org.apache.fop.render.java2d.Java2DRenderer getPageImage
INFO: Rendering Page 1 (pageWidth 595, pageHeight 842)
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
	at java.awt.image.DataBufferInt.<init>(DataBufferInt.java:41)
	at java.awt.image.Raster.createPackedRaster(Raster.java:458)
	at
java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1015)
	at java.awt.image.BufferedImage.<init>(BufferedImage.java:321)
	at
org.apache.fop.render.java2d.Java2DRenderer.getBufferedImage(Java2DRenderer.java:376)
	at
org.apache.fop.render.java2d.Java2DRenderer.getPageImage(Java2DRenderer.java:317)
	at
org.apache.fop.render.java2d.Java2DRenderer.getPageImage(Java2DRenderer.java:404)
	at
org.apache.fop.render.awt.viewer.ImageProxyPanel.paintComponent(ImageProxyPanel.java:124)
	at javax.swing.JComponent.paint(JComponent.java:1022)
	at javax.swing.JComponent.paintChildren(JComponent.java:859)
	at javax.swing.JComponent.paint(JComponent.java:1031)
	at javax.swing.JComponent.paintChildren(JComponent.java:859)
	at javax.swing.JComponent.paint(JComponent.java:1031)
	at javax.swing.JViewport.paint(JViewport.java:747)
	at javax.swing.JComponent.paintChildren(JComponent.java:859)
	at javax.swing.JComponent.paint(JComponent.java:1031)
	at javax.swing.JComponent.paintToOffscreen(JComponent.java:5104)
	at
javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:285)
	at javax.swing.RepaintManager.paint(RepaintManager.java:1132)
	at javax.swing.JComponent._paintImmediately(JComponent.java:5052)
	at javax.swing.JComponent.paintImmediately(JComponent.java:4862)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:727)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:683)
	at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:663)
	at
javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:128)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
	at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
	at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
java.lang.IllegalArgumentException: Printing cancelled by operator
	at
org.apache.fop.render.print.PrintRenderer.initializePrinterJob(PrintRenderer.java:91)
	at org.apache.fop.render.print.PrintRenderer.<init>(PrintRenderer.java:63)
	at
org.apache.fop.render.print.PrintRendererMaker.makeRenderer(PrintRendererMaker.java:37)
	at org.apache.fop.render.RendererFactory.createRenderer(RendererFactory.java:186)
	at org.apache.fop.area.RenderPagesModel.<init>(RenderPagesModel.java:70)
	at org.apache.fop.area.AreaTreeHandler.setupModel(AreaTreeHandler.java:146)
	at org.apache.fop.area.AreaTreeHandler.<init>(AreaTreeHandler.java:123)
	at
org.apache.fop.render.RendererFactory.createFOEventHandler(RendererFactory.java:236)
	at org.apache.fop.fo.FOTreeBuilder.<init>(FOTreeBuilder.java:98)
	at org.apache.fop.apps.Fop.createDefaultHandler(Fop.java:147)
	at org.apache.fop.apps.Fop.<init>(Fop.java:82)
	at org.apache.fop.apps.FopFactory.newFop(FopFactory.java:227)
	at TestFOP.FOPIt(TestFOP.java:123)
	at TestFOP.main(TestFOP.java:78)
27-Mar-2007 00:44:09 org.apache.fop.render.java2d.Java2DRenderer getPageImage
INFO: Rendering Page 1 (pageWidth 595, pageHeight 842)
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
	at java.awt.image.DataBufferInt.<init>(DataBufferInt.java:41)
	at java.awt.image.Raster.createPackedRaster(Raster.java:458)
	at
java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1015)
	at java.awt.image.BufferedImage.<init>(BufferedImage.java:321)
	at
org.apache.fop.render.java2d.Java2DRenderer.getBufferedImage(Java2DRenderer.java:376)
	at
org.apache.fop.render.java2d.Java2DRenderer.getPageImage(Java2DRenderer.java:317)
	at
org.apache.fop.render.java2d.Java2DRenderer.getPageImage(Java2DRenderer.java:404)
	at
org.apache.fop.render.awt.viewer.ImageProxyPanel.paintComponent(ImageProxyPanel.java:124)
	at javax.swing.JComponent.paint(JComponent.java:1022)
	at javax.swing.JComponent.paintChildren(JComponent.java:859)
	at javax.swing.JComponent.paint(JComponent.java:1031)
	at javax.swing.JComponent.paintToOffscreen(JComponent.java:5104)
	at
javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:285)
	at javax.swing.RepaintManager.paint(RepaintManager.java:1132)
	at javax.swing.JComponent.paintForceDoubleBuffered(JComponent.java:1058)
	at javax.swing.JViewport.blitDoubleBuffered(JViewport.java:1612)
	at javax.swing.JViewport.windowBlitPaint(JViewport.java:1573)
	at javax.swing.JViewport.setViewPosition(JViewport.java:1118)
	at
javax.swing.plaf.basic.BasicScrollPaneUI$Handler.hsbStateChanged(BasicScrollPaneUI.java:1060)
	at
javax.swing.plaf.basic.BasicScrollPaneUI$Handler.stateChanged(BasicScrollPaneUI.java:1011)
	at
javax.swing.DefaultBoundedRangeModel.fireStateChanged(DefaultBoundedRangeModel.java:348)
	at
javax.swing.DefaultBoundedRangeModel.setRangeProperties(DefaultBoundedRangeModel.java:285)
	at javax.swing.DefaultBoundedRangeModel.setValue(DefaultBoundedRangeModel.java:151)
	at javax.swing.JScrollBar.setValue(JScrollBar.java:446)
	at
javax.swing.plaf.basic.BasicScrollBarUI$TrackListener.setValueFrom(BasicScrollBarUI.java:1169)
	at
javax.swing.plaf.basic.BasicScrollBarUI$TrackListener.mouseDragged(BasicScrollBarUI.java:1106)
	at java.awt.Component.processMouseMotionEvent(Component.java:6086)
	at javax.swing.JComponent.processMouseMotionEvent(JComponent.java:3278)
	at java.awt.Component.processEvent(Component.java:5807)
	at java.awt.Container.processEvent(Container.java:2058)
	at java.awt.Component.dispatchEventImpl(Component.java:4410)
	at java.awt.Container.dispatchEventImpl(Container.java:2116)
27-Mar-2007 00:44:09 org.apache.fop.render.java2d.Java2DRenderer getPageImage
INFO: Rendering Page 1 (pageWidth 595, pageHeight 842)
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
	at java.awt.image.DataBufferInt.<init>(DataBufferInt.java:41)
	at java.awt.image.Raster.createPackedRaster(Raster.java:458)
	at
java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1015)
	at java.awt.image.BufferedImage.<init>(BufferedImage.java:321)
	at
org.apache.fop.render.java2d.Java2DRenderer.getBufferedImage(Java2DRenderer.java:376)
	at
org.apache.fop.render.java2d.Java2DRenderer.getPageImage(Java2DRenderer.java:317)
	at
org.apache.fop.render.java2d.Java2DRenderer.getPageImage(Java2DRenderer.java:404)
	at
org.apache.fop.render.awt.viewer.ImageProxyPanel.paintComponent(ImageProxyPanel.java:124)
	at javax.swing.JComponent.paint(JComponent.java:1022)
	at javax.swing.JComponent.paintChildren(JComponent.java:859)
	at javax.swing.JComponent.paint(JComponent.java:1031)
	at javax.swing.JComponent.paintChildren(JComponent.java:859)
	at javax.swing.JComponent.paint(JComponent.java:1031)
	at javax.swing.JViewport.paint(JViewport.java:747)
	at javax.swing.JComponent.paintChildren(JComponent.java:859)
	at javax.swing.JComponent.paint(JComponent.java:1031)
	at javax.swing.JComponent.paintToOffscreen(JComponent.java:5104)
	at
javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:285)
	at javax.swing.RepaintManager.paint(RepaintManager.java:1132)
	at javax.swing.JComponent._paintImmediately(JComponent.java:5052)
	at javax.swing.JComponent.paintImmediately(JComponent.java:4862)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:727)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:683)
	at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:663)
	at
javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:128)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
	at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
	at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
27-Mar-2007 00:44:10 org.apache.fop.render.java2d.Java2DRenderer getPageImage
INFO: Rendering Page 1 (pageWidth 595, pageHeight 842)
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
	at java.awt.image.DataBufferInt.<init>(DataBufferInt.java:41)
	at java.awt.image.Raster.createPackedRaster(Raster.java:458)
	at
java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1015)
	at java.awt.image.BufferedImage.<init>(BufferedImage.java:321)
	at
org.apache.fop.render.java2d.Java2DRenderer.getBufferedImage(Java2DRenderer.java:376)
	at
org.apache.fop.render.java2d.Java2DRenderer.getPageImage(Java2DRenderer.java:317)
	at
org.apache.fop.render.java2d.Java2DRenderer.getPageImage(Java2DRenderer.java:404)
	at
org.apache.fop.render.awt.viewer.ImageProxyPanel.paintComponent(ImageProxyPanel.java:124)
	at javax.swing.JComponent.paint(JComponent.java:1022)
	at javax.swing.JComponent.paintChildren(JComponent.java:859)
	at javax.swing.JComponent.paint(JComponent.java:1031)
	at javax.swing.JComponent.paintToOffscreen(JComponent.java:5104)
	at
javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:285)
	at javax.swing.RepaintManager.paint(RepaintManager.java:1132)
	at javax.swing.JComponent.paintForceDoubleBuffered(JComponent.java:1058)
	at javax.swing.JViewport.blitDoubleBuffered(JViewport.java:1612)
	at javax.swing.JViewport.windowBlitPaint(JViewport.java:1573)
	at javax.swing.JViewport.setViewPosition(JViewport.java:1118)
	at
javax.swing.plaf.basic.BasicScrollPaneUI$Handler.hsbStateChanged(BasicScrollPaneUI.java:1060)
	at
javax.swing.plaf.basic.BasicScrollPaneUI$Handler.stateChanged(BasicScrollPaneUI.java:1011)
	at
javax.swing.DefaultBoundedRangeModel.fireStateChanged(DefaultBoundedRangeModel.java:348)
	at
javax.swing.DefaultBoundedRangeModel.setRangeProperties(DefaultBoundedRangeModel.java:285)
	at javax.swing.DefaultBoundedRangeModel.setValue(DefaultBoundedRangeModel.java:151)
	at javax.swing.JScrollBar.setValue(JScrollBar.java:446)
	at
javax.swing.plaf.basic.BasicScrollBarUI$TrackListener.setValueFrom(BasicScrollBarUI.java:1169)
	at
javax.swing.plaf.basic.BasicScrollBarUI$TrackListener.mouseDragged(BasicScrollBarUI.java:1106)
	at java.awt.Component.processMouseMotionEvent(Component.java:6086)
	at javax.swing.JComponent.processMouseMotionEvent(JComponent.java:3278)
	at java.awt.Component.processEvent(Component.java:5807)
	at java.awt.Container.processEvent(Container.java:2058)
	at java.awt.Component.dispatchEventImpl(Component.java:4410)
	at java.awt.Container.dispatchEventImpl(Container.java:2116)
27-Mar-2007 00:44:10 org.apache.fop.render.java2d.Java2DRenderer getPageImage
INFO: Rendering Page 1 (pageWidth 595, pageHeight 842)
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space

(This is under Java 1.6)
Comment 1 Barry Pearce 2007-03-26 16:45:37 UTC
Created attachment 19805 [details]
Example PDF output produced from the code.
Comment 2 Barry Pearce 2007-03-26 16:46:04 UTC
Created attachment 19806 [details]
XSL-FO which formats the page.
Comment 3 Barry Pearce 2007-03-26 16:46:35 UTC
Created attachment 19807 [details]
XML input data.
Comment 4 Barry Pearce 2007-03-26 16:47:05 UTC
Created attachment 19808 [details]
Image included in the test
Comment 5 Barry Pearce 2007-03-26 16:47:30 UTC
Created attachment 19809 [details]
Complete test source code.
Comment 6 Barry Pearce 2007-03-27 16:08:01 UTC
This is not a fault. This is caused by my stupidity!!!

Ive set the resolution on the user agent to 600 for the rendering to PS, PDF and
print....but left it at this resolution for the AWT preview as well...given most
screens are at 72-96 dpi this leads to a rather interesting increase in
size...thus it fails....no great surprise!
Comment 7 Glenn Adams 2012-04-01 13:49:55 UTC
batch transition to closed remaining pre-FOP1.0 resolved bugs