[ 
https://issues.apache.org/jira/browse/PDFBOX-3375?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15467999#comment-15467999
 ] 

George Sexton commented on PDFBOX-3375:
---------------------------------------

I'm getting something very similar going through 

org.apache.pdfbox.pdmodel.graphics.color.PDDeviceRGB.toRGB(PDDeviceRGB.java:104)

Using PDFBox Snapshot dated 2016-09-02. In my case, the code is multi-threaded 
and the issue doesn't happen consistently. My complete stack trace is:

java.awt.color.CMMException: LCMS error 13: Couldn't link the profiles
    at sun.java2d.cmm.lcms.LCMS.createNativeTransform(Native Method)
    at sun.java2d.cmm.lcms.LCMS.createTransform(LCMS.java:156)
    at sun.java2d.cmm.lcms.LCMSTransform.doTransform(LCMSTransform.java:155)
    at sun.java2d.cmm.lcms.LCMSTransform.colorConvert(LCMSTransform.java:629)
    at java.awt.color.ICC_ColorSpace.toRGB(ICC_ColorSpace.java:182)
    at 
org.apache.pdfbox.pdmodel.graphics.color.PDDeviceRGB.toRGB(PDDeviceRGB.java:104)
    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.drawGlyph2D(PageDrawer.java:374)
    at org.apache.pdfbox.rendering.PageDrawer.showFontGlyph(PageDrawer.java:334)
    at 
org.apache.pdfbox.contentstream.PDFStreamEngine.showGlyph(PDFStreamEngine.java:744)
    at 
org.apache.pdfbox.contentstream.PDFStreamEngine.showText(PDFStreamEngine.java:701)
    at 
org.apache.pdfbox.contentstream.PDFStreamEngine.showTextString(PDFStreamEngine.java:564)
    at 
org.apache.pdfbox.contentstream.operator.text.ShowText.process(ShowText.java:55)
    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.renderImageWithDPI(PDFRenderer.java:94)
    at com.mhsoftware.graphics.ImageHelper.getPDFThumbnail(ImageHelper.java:583)
    at 
com.mhsoftware.cdaily.business.attachments.getPDFMetaData(attachments.java:267)
    at 
com.mhsoftware.cdaily.business.attachments.getMetaData(attachments.java:229)
    at 
com.mhsoftware.cdaily.support.misc.AttachmentRepairer$MetaDataGenerator.run(AttachmentRepairer.java:167)
    at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745) 

The issue happens even if I specify 
-Dsun.java2d.cmm=sun.java2d.cmm.kcms.KcmsServiceProvider using JDK 1.8. 

> Use a static lock for a singleton
> ---------------------------------
>
>                 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
>             Fix For: 2.1.0
>
>         Attachments: pdfbox3375.patch
>
>
> 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