Hi,
before entering a bug report i would like to know if there is a known bug
regarding
drawImage in PageDrawer?

I did not found any related bugs in Jira, so i'm asking here.

What we see is the following behavior:
We create thumbnails of the first page of a PDF.
But for some PDFs we see that threads allocate a lot of memory (> 500mb) in
one int[].

I have added two stacktraces with the same behavior.

Any ideas on this?

Best regards Florian

Stacktrace 1:
pool-10-thread-13
  at java.lang.OutOfMemoryError.<init>()V (OutOfMemoryError.java:48)
  at java.awt.image.DataBufferInt.<init>(I)V (DataBufferInt.java:75)
  at
java.awt.image.Raster.createPackedRaster(III[ILjava/awt/Point;)Ljava/awt/image/WritableRaster;
(Raster.java:470)
  at
java.awt.image.DirectColorModel.createCompatibleWritableRaster(II)Ljava/awt/image/WritableRaster;
(DirectColorModel.java:1032)
  at java.awt.image.BufferedImage.<init>(III)V (BufferedImage.java:338)
  at
sun.java2d.loops.GraphicsPrimitive.convertFrom(Lsun/java2d/loops/Blit;Lsun/java2d/SurfaceData;IIIILsun/java2d/SurfaceData;I)Lsun/java2d/SurfaceData;
(GraphicsPrimitive.java:557)
  at
sun.java2d.loops.GraphicsPrimitive.convertFrom(Lsun/java2d/loops/Blit;Lsun/java2d/SurfaceData;IIIILsun/java2d/SurfaceData;)Lsun/java2d/SurfaceData;
(GraphicsPrimitive.java:541)
  at
sun.java2d.loops.MaskBlit$General.MaskBlit(Lsun/java2d/SurfaceData;Lsun/java2d/SurfaceData;Ljava/awt/Composite;Lsun/java2d/pipe/Region;IIIIII[BII)V
(MaskBlit.java:189)
  at
sun.java2d.loops.Blit$GeneralMaskBlit.Blit(Lsun/java2d/SurfaceData;Lsun/java2d/SurfaceData;Ljava/awt/Composite;Lsun/java2d/pipe/Region;IIIIII)V
(Blit.java:204)
  at
sun.java2d.pipe.DrawImage.blitSurfaceData(Lsun/java2d/SunGraphics2D;Lsun/java2d/pipe/Region;Lsun/java2d/SurfaceData;Lsun/java2d/SurfaceData;Lsun/java2d/loops/SurfaceType;Lsun/java2d/loops/SurfaceType;IIIIIILjava/awt/Color;)V
(DrawImage.java:956)
  at
sun.java2d.pipe.DrawImage.renderImageCopy(Lsun/java2d/SunGraphics2D;Ljava/awt/Image;Ljava/awt/Color;IIIIII)Z
(DrawImage.java:578)
  at
sun.java2d.pipe.DrawImage.copyImage(Lsun/java2d/SunGraphics2D;Ljava/awt/Image;IILjava/awt/Color;)Z
(DrawImage.java:71)
  at
sun.java2d.pipe.DrawImage.copyImage(Lsun/java2d/SunGraphics2D;Ljava/awt/Image;IILjava/awt/Color;Ljava/awt/image/ImageObserver;)Z
(DrawImage.java:1011)
  at
sun.java2d.pipe.ValidatePipe.copyImage(Lsun/java2d/SunGraphics2D;Ljava/awt/Image;IILjava/awt/Color;Ljava/awt/image/ImageObserver;)Z
(ValidatePipe.java:186)
  at
sun.java2d.SunGraphics2D.drawImage(Ljava/awt/Image;IILjava/awt/Color;Ljava/awt/image/ImageObserver;)Z
(SunGraphics2D.java:3084)
  at
sun.java2d.SunGraphics2D.drawImage(Ljava/awt/Image;IILjava/awt/image/ImageObserver;)Z
(SunGraphics2D.java:3069)
  at
sun.java2d.pipe.DrawImage.makeBufferedImage(Ljava/awt/Image;Ljava/awt/Color;IIIII)Ljava/awt/image/BufferedImage;
(DrawImage.java:334)
  at
sun.java2d.pipe.DrawImage.renderImageXform(Lsun/java2d/SunGraphics2D;Ljava/awt/Image;Ljava/awt/geom/AffineTransform;IIIIILjava/awt/Color;)V
(DrawImage.java:394)
  at
sun.java2d.pipe.DrawImage.transformImage(Lsun/java2d/SunGraphics2D;Ljava/awt/Image;IILjava/awt/geom/AffineTransform;I)V
(DrawImage.java:216)
  at
sun.java2d.pipe.DrawImage.transformImage(Lsun/java2d/SunGraphics2D;Ljava/awt/Image;Ljava/awt/geom/AffineTransform;Ljava/awt/image/ImageObserver;)Z
(DrawImage.java:1082)
  at
sun.java2d.pipe.ValidatePipe.transformImage(Lsun/java2d/SunGraphics2D;Ljava/awt/Image;Ljava/awt/geom/AffineTransform;Ljava/awt/image/ImageObserver;)Z
(ValidatePipe.java:230)
  at
sun.java2d.SunGraphics2D.drawImage(Ljava/awt/Image;Ljava/awt/geom/AffineTransform;Ljava/awt/image/ImageObserver;)Z
(SunGraphics2D.java:3210)
  at
org.apache.pdfbox.pdfviewer.PageDrawer.drawImage(Ljava/awt/Image;Ljava/awt/geom/AffineTransform;)V
(PageDrawer.java:473)
  at
org.apache.pdfbox.util.operator.pagedrawer.Invoke.process(Lorg/apache/pdfbox/util/PDFOperator;Ljava/util/List;)V
(Invoke.java:109)
  at
org.apache.pdfbox.util.PDFStreamEngine.processOperator(Lorg/apache/pdfbox/util/PDFOperator;Ljava/util/List;)V
(PDFStreamEngine.java:554)
  at
org.apache.pdfbox.util.PDFStreamEngine.processSubStream(Lorg/apache/pdfbox/cos/COSStream;)V
(PDFStreamEngine.java:268)
  at
org.apache.pdfbox.util.PDFStreamEngine.processSubStream(Lorg/apache/pdfbox/pdmodel/PDPage;Lorg/apache/pdfbox/pdmodel/PDResources;Lorg/apache/pdfbox/cos/COSStream;)V
(PDFStreamEngine.java:235)
  at
org.apache.pdfbox.util.PDFStreamEngine.processStream(Lorg/apache/pdfbox/pdmodel/PDPage;Lorg/apache/pdfbox/pdmodel/PDResources;Lorg/apache/pdfbox/cos/COSStream;)V
(PDFStreamEngine.java:215)
  at
org.apache.pdfbox.pdfviewer.PageDrawer.drawPage(Ljava/awt/Graphics;Lorg/apache/pdfbox/pdmodel/PDPage;Ljava/awt/Dimension;)V
(PageDrawer.java:125)
  at
org.apache.pdfbox.pdmodel.PDPage.convertToImage(II)Ljava/awt/image/BufferedImage;
(PDPage.java:769)
  at
org.apache.pdfbox.util.PDFImageWriter.writeImage(Lorg/apache/pdfbox/pdmodel/PDDocument;Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;II)Z
(PDFImageWriter.java:115)
  at
org.apache.pdfbox.util.PDFImageWriter.writeImage(Lorg/apache/pdfbox/pdmodel/PDDocument;Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;)Z
(PDFImageWriter.java:89)
...
 at java.util.concurrent.Executors$RunnableAdapter.call()Ljava/lang/Object;
(Executors.java:471)
  at java.util.concurrent.FutureTask$Sync.innerRun()V (FutureTask.java:334)
  at java.util.concurrent.FutureTask.run()V (FutureTask.java:166)
  at
java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V
(ThreadPoolExecutor.java:1145)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run()V
(ThreadPoolExecutor.java:615)
  at java.lang.Thread.run()V (Thread.java:722)


Stacktrace 2:
pool-10-thread-15
  at
sun.java2d.loops.MaskBlit$General.MaskBlit(Lsun/java2d/SurfaceData;Lsun/java2d/SurfaceData;Ljava/awt/Composite;Lsun/java2d/pipe/Region;IIIIII[BII)V
(MaskBlit.java:180)
  at
sun.java2d.loops.Blit$GeneralMaskBlit.Blit(Lsun/java2d/SurfaceData;Lsun/java2d/SurfaceData;Ljava/awt/Composite;Lsun/java2d/pipe/Region;IIIIII)V
(Blit.java:204)
  at
sun.java2d.pipe.DrawImage.blitSurfaceData(Lsun/java2d/SunGraphics2D;Lsun/java2d/pipe/Region;Lsun/java2d/SurfaceData;Lsun/java2d/SurfaceData;Lsun/java2d/loops/SurfaceType;Lsun/java2d/loops/SurfaceType;IIIIIILjava/awt/Color;)V
(DrawImage.java:956)
  at
sun.java2d.pipe.DrawImage.renderImageCopy(Lsun/java2d/SunGraphics2D;Ljava/awt/Image;Ljava/awt/Color;IIIIII)Z
(DrawImage.java:578)
  at
sun.java2d.pipe.DrawImage.copyImage(Lsun/java2d/SunGraphics2D;Ljava/awt/Image;IILjava/awt/Color;)Z
(DrawImage.java:71)
  at
sun.java2d.pipe.DrawImage.copyImage(Lsun/java2d/SunGraphics2D;Ljava/awt/Image;IILjava/awt/Color;Ljava/awt/image/ImageObserver;)Z
(DrawImage.java:1011)
  at
sun.java2d.pipe.ValidatePipe.copyImage(Lsun/java2d/SunGraphics2D;Ljava/awt/Image;IILjava/awt/Color;Ljava/awt/image/ImageObserver;)Z
(ValidatePipe.java:186)
  at
sun.java2d.SunGraphics2D.drawImage(Ljava/awt/Image;IILjava/awt/Color;Ljava/awt/image/ImageObserver;)Z
(SunGraphics2D.java:3084)
  at
sun.java2d.SunGraphics2D.drawImage(Ljava/awt/Image;IILjava/awt/image/ImageObserver;)Z
(SunGraphics2D.java:3069)
  at
sun.java2d.pipe.DrawImage.makeBufferedImage(Ljava/awt/Image;Ljava/awt/Color;IIIII)Ljava/awt/image/BufferedImage;
(DrawImage.java:334)
  at
sun.java2d.pipe.DrawImage.renderImageXform(Lsun/java2d/SunGraphics2D;Ljava/awt/Image;Ljava/awt/geom/AffineTransform;IIIIILjava/awt/Color;)V
(DrawImage.java:394)
  at
sun.java2d.pipe.DrawImage.transformImage(Lsun/java2d/SunGraphics2D;Ljava/awt/Image;IILjava/awt/geom/AffineTransform;I)V
(DrawImage.java:216)
  at
sun.java2d.pipe.DrawImage.transformImage(Lsun/java2d/SunGraphics2D;Ljava/awt/Image;Ljava/awt/geom/AffineTransform;Ljava/awt/image/ImageObserver;)Z
(DrawImage.java:1082)
  at
sun.java2d.pipe.ValidatePipe.transformImage(Lsun/java2d/SunGraphics2D;Ljava/awt/Image;Ljava/awt/geom/AffineTransform;Ljava/awt/image/ImageObserver;)Z
(ValidatePipe.java:230)
  at
sun.java2d.SunGraphics2D.drawImage(Ljava/awt/Image;Ljava/awt/geom/AffineTransform;Ljava/awt/image/ImageObserver;)Z
(SunGraphics2D.java:3210)
  at
org.apache.pdfbox.pdfviewer.PageDrawer.drawImage(Ljava/awt/Image;Ljava/awt/geom/AffineTransform;)V
(PageDrawer.java:473)
  at
org.apache.pdfbox.util.operator.pagedrawer.Invoke.process(Lorg/apache/pdfbox/util/PDFOperator;Ljava/util/List;)V
(Invoke.java:109)
  at
org.apache.pdfbox.util.PDFStreamEngine.processOperator(Lorg/apache/pdfbox/util/PDFOperator;Ljava/util/List;)V
(PDFStreamEngine.java:554)
  at
org.apache.pdfbox.util.PDFStreamEngine.processSubStream(Lorg/apache/pdfbox/cos/COSStream;)V
(PDFStreamEngine.java:268)
  at
org.apache.pdfbox.util.PDFStreamEngine.processSubStream(Lorg/apache/pdfbox/pdmodel/PDPage;Lorg/apache/pdfbox/pdmodel/PDResources;Lorg/apache/pdfbox/cos/COSStream;)V
(PDFStreamEngine.java:235)
  at
org.apache.pdfbox.util.PDFStreamEngine.processStream(Lorg/apache/pdfbox/pdmodel/PDPage;Lorg/apache/pdfbox/pdmodel/PDResources;Lorg/apache/pdfbox/cos/COSStream;)V
(PDFStreamEngine.java:215)
  at
org.apache.pdfbox.pdfviewer.PageDrawer.drawPage(Ljava/awt/Graphics;Lorg/apache/pdfbox/pdmodel/PDPage;Ljava/awt/Dimension;)V
(PageDrawer.java:125)
  at
org.apache.pdfbox.pdmodel.PDPage.convertToImage(II)Ljava/awt/image/BufferedImage;
(PDPage.java:769)
  at
org.apache.pdfbox.util.PDFImageWriter.writeImage(Lorg/apache/pdfbox/pdmodel/PDDocument;Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;II)Z
(PDFImageWriter.java:115)
  at
org.apache.pdfbox.util.PDFImageWriter.writeImage(Lorg/apache/pdfbox/pdmodel/PDDocument;Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;)Z
(PDFImageWriter.java:89)
...
at clojure.lang.AFn.run()V (AFn.java:24)
  at
java.util.concurrent.Executors$RunnableAdapter.call()Ljava/lang/Object;
(Executors.java:471)
  at java.util.concurrent.FutureTask$Sync.innerRun()V (FutureTask.java:334)
  at java.util.concurrent.FutureTask.run()V (FutureTask.java:166)
  at
java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V
(ThreadPoolExecutor.java:1145)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run()V
(ThreadPoolExecutor.java:615)
  at java.lang.Thread.run()V (Thread.java:722)

Reply via email to