Uploaded image for project: 'FOP'
  1. FOP
  2. FOP-1718

PCL Painter not thread safe.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Resolution: Cannot Reproduce
    • 2.5
    • None
    • renderer/pcl
    • None
    • Operating System: Windows XP
      Platform: PC
    • 48062

    Description

      When using multiple threads to render the attached IF XML to PCL using the
      Painter the following exception occurs. The exception does not occur when only
      a single thread is used. In a quick debugging session we observed that when the
      error occurs the method PCLPainter.getTextBoundingBox returns a rectangle with
      negative width

      java.lang.NegativeArraySizeException
      at java.awt.image.DataBufferByte.<init>(DataBufferByte.java:42)
      at java.awt.image.Raster.createInterleavedRaster(Raster.java:253)
      at java.awt.image.Raster.createInterleavedRaster(Raster.java:194)
      at
      org.apache.xmlgraphics.image.loader.impl.ImageConverterG2D2Bitmap.createGrayBufferedImageWithAlpha(ImageConve
      rterG2D2Bitmap.java:170)
      at
      org.apache.xmlgraphics.image.loader.impl.ImageConverterG2D2Bitmap.paintToBufferedImage(ImageConverterG2D2Bitm
      ap.java:108)
      at
      org.apache.xmlgraphics.image.loader.impl.ImageConverterG2D2Bitmap.convert(ImageConverterG2D2Bitmap.java:74)
      at
      org.apache.xmlgraphics.image.loader.pipeline.ImageProviderPipeline.execute(ImageProviderPipeline.java:173)
      at
      org.apache.xmlgraphics.image.loader.ImageManager.convertImage(ImageManager.java:330)
      at
      org.apache.fop.render.intermediate.AbstractIFPainter.drawImage(AbstractIFPainter.java:209)
      at
      org.apache.fop.render.pcl.PCLPainter.paintMarksAsBitmap(PCLPainter.java:304)
      at
      org.apache.fop.render.pcl.PCLPainter.drawTextAsBitmap(PCLPainter.java:489)
      at org.apache.fop.render.pcl.PCLPainter.drawText(PCLPainter.java:329)
      at
      org.apache.fop.render.intermediate.IFParser$Handler$TextHandler.endElement(IFParser.java:487)
      at
      org.apache.fop.render.intermediate.IFParser$Handler.endElement(IFParser.java:277)

      Attachments

        1. input.if
          45 kB
          Chris Bowditch

        Activity

          People

            Unassigned Unassigned
            cbowditch Chris Bowditch
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: