Andreas Lehmkühler created PDFBOX-3375:
------------------------------------------

             Summary: Use a static lock for s singelton
                 Key: PDFBOX-3375
                 URL: https://issues.apache.org/jira/browse/PDFBOX-3375
             Project: PDFBox
          Issue Type: Bug
          Components: PDModel
    Affects Versions: 2.0.2, 2.1.0
            Reporter: Andreas Lehmkühler
            Assignee: Andreas Lehmkühler


Our build is failing from time to time throwing the following exception
{code}
java.awt.color.CMMException: Invalid profile data
        at sun.java2d.cmm.kcms.CMM.checkStatus(CMM.java:180)
        at sun.java2d.cmm.kcms.CMM.createTransform(CMM.java:134)
        at java.awt.color.ICC_ColorSpace.toRGB(ICC_ColorSpace.java:166)
        at 
org.apache.pdfbox.pdmodel.graphics.color.PDDeviceRGB.init(PDDeviceRGB.java:69)
        at 
org.apache.pdfbox.pdmodel.graphics.color.PDDeviceRGB.toRGB(PDDeviceRGB.java:103)
        at org.apache.pdfbox.rendering.PageDrawer.getPaint(PageDrawer.java:237)
        at 
org.apache.pdfbox.rendering.PageDrawer.getNonStrokingPaint(PageDrawer.java:529)
        at org.apache.pdfbox.rendering.PageDrawer.fillPath(PageDrawer.java:600)
        at 
org.apache.pdfbox.contentstream.operator.graphics.FillNonZeroRule.process(FillNonZeroRule.java:36)
        at 
org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:815)
        at 
org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:472)
        at 
org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:446)
        at 
org.apache.pdfbox.contentstream.PDFStreamEngine.showForm(PDFStreamEngine.java:178)
        at 
org.apache.pdfbox.contentstream.operator.graphics.DrawObject.process(DrawObject.java:70)
        at 
org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:815)
        at 
org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:472)
        at 
org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:446)
        at 
org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:149)
        at org.apache.pdfbox.rendering.PageDrawer.drawPage(PageDrawer.java:189)
        at 
org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:145)
        at 
org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:68)
        at 
org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:55)
        at 
org.apache.pdfbox.rendering.TestRendering.render(TestRendering.java:79)
{code}

In PDDeviceRGB the non-static init method is synchronized using the instance of 
the class as lock object. So far so good. But as the class is used a singleton 
a static object has to be used as lock object.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to