You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@pdfbox.apache.org by Tilman Hausherr <TH...@t-online.de> on 2016/03/18 20:05:09 UTC

NullPointerException in multithreading

Hello 风云天空,

This is obviously not related to "Spaces are ignored when reading a PDF 
file" so you should have created a new subject line instead of hijacking 
an existing thread by pressing "reply".

I did have the same problem while working on
https://issues.apache.org/jira/browse/PDFBOX-3267

What I did was to change the source code of PDICCBased.java, i.e. change 
this line

awtColorSpace = (ICC_ColorSpace)ColorSpace.getInstance(ColorSpace.CS_sRGB);


to

synchronized(LOG)
  {
        awtColorSpace = 
(ICC_ColorSpace)ColorSpace.getInstance(ColorSpace.CS_sRGB);
}


This is a java bug. I'm undecided whether the change above should be 
committed. But try the change :-)

Tilman



Am 18.03.2016 um 12:02 schrieb 风云天空:
> who can help me
> i get this error in multithreading
> java.lang.NullPointerException
> 	at java.awt.color.ICC_Profile.activateDeferredProfile(ICC_Profile.java:1086)
> 	at java.awt.color.ICC_Profile$1.activate(ICC_Profile.java:742)
> 	at sun.java2d.cmm.ProfileDeferralMgr.activateProfiles(ProfileDeferralMgr.java:95)
> 	at java.awt.color.ICC_Profile.getInstance(ICC_Profile.java:775)
> 	at java.awt.color.ICC_Profile.getInstance(ICC_Profile.java:1013)
> 	at org.apache.pdfbox.pdmodel.graphics.color.PDICCBased.loadICCProfile(PDICCBased.java:119)
> 	at org.apache.pdfbox.pdmodel.graphics.color.PDICCBased.<init>(PDICCBased.java:89)
> 	at org.apache.pdfbox.pdmodel.graphics.color.PDColorSpace.create(PDColorSpace.java:182)
> 	at org.apache.pdfbox.pdmodel.PDResources.getColorSpace(PDResources.java:172)
> 	at org.apache.pdfbox.pdmodel.PDResources.getColorSpace(PDResources.java:142)
> 	at org.apache.pdfbox.contentstream.operator.color.SetNonStrokingColorSpace.process(SetNonStrokingColorSpace.java:41)
> 	at org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:814)
> 	at org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:471)
> 	at org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:445)
> 	at org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:149)
> 	at org.apache.pdfbox.rendering.PageDrawer.drawPage(PageDrawer.java:187)
> 	at org.apache.pdfbox.rendering.PDFRenderer.renderPage(PDFRenderer.java:208)
> 	at org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:139)
> 	at org.apache.pdfbox.rendering.PDFRenderer.renderImageWithDPI(PDFRenderer.java:80)
> 	at com.liaoyoujin.pdfbox.doc.PdfExtractor.getFirstImage(PdfExtractor.java:109)
> 	at com.liaoyoujin.pdfbox.doc.PdfExtractor$Job.run(PdfExtractor.java:178)
> 	at com.liaoyoujin.thread.pool.BlockThreadPool$Worker.run(BlockThreadPool.java:53)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:745)
> java.util.ConcurrentModificationException
> 	at java.util.Vector$Itr.checkForComodification(Vector.java:1156)
> 	at java.util.Vector$Itr.next(Vector.java:1133)
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: users-help@pdfbox.apache.org


Re: NullPointerException in multithreading

Posted by Tilman Hausherr <TH...@t-online.de>.
Sorry, I meant that the line

ICC_Profile profile = ICC_Profile.getInstance(input);

be enclosed by the "synchronized".

Tilman

Am 18.03.2016 um 20:05 schrieb Tilman Hausherr:
> Hello 风云天空,
>
> This is obviously not related to "Spaces are ignored when reading a 
> PDF file" so you should have created a new subject line instead of 
> hijacking an existing thread by pressing "reply".
>
> I did have the same problem while working on
> https://issues.apache.org/jira/browse/PDFBOX-3267
>
> What I did was to change the source code of PDICCBased.java, i.e. 
> change this line
>
> awtColorSpace = 
> (ICC_ColorSpace)ColorSpace.getInstance(ColorSpace.CS_sRGB);
>
>
> to
>
> synchronized(LOG)
>  {
>        awtColorSpace = 
> (ICC_ColorSpace)ColorSpace.getInstance(ColorSpace.CS_sRGB);
> }
>
>
> This is a java bug. I'm undecided whether the change above should be 
> committed. But try the change :-)
>
> Tilman
>
>
>
> Am 18.03.2016 um 12:02 schrieb 风云天空:
>> who can help me
>> i get this error in multithreading
>> java.lang.NullPointerException
>>     at 
>> java.awt.color.ICC_Profile.activateDeferredProfile(ICC_Profile.java:1086)
>>     at java.awt.color.ICC_Profile$1.activate(ICC_Profile.java:742)
>>     at 
>> sun.java2d.cmm.ProfileDeferralMgr.activateProfiles(ProfileDeferralMgr.java:95)
>>     at java.awt.color.ICC_Profile.getInstance(ICC_Profile.java:775)
>>     at java.awt.color.ICC_Profile.getInstance(ICC_Profile.java:1013)
>>     at 
>> org.apache.pdfbox.pdmodel.graphics.color.PDICCBased.loadICCProfile(PDICCBased.java:119)
>>     at 
>> org.apache.pdfbox.pdmodel.graphics.color.PDICCBased.<init>(PDICCBased.java:89)
>>     at 
>> org.apache.pdfbox.pdmodel.graphics.color.PDColorSpace.create(PDColorSpace.java:182)
>>     at 
>> org.apache.pdfbox.pdmodel.PDResources.getColorSpace(PDResources.java:172)
>>     at 
>> org.apache.pdfbox.pdmodel.PDResources.getColorSpace(PDResources.java:142)
>>     at 
>> org.apache.pdfbox.contentstream.operator.color.SetNonStrokingColorSpace.process(SetNonStrokingColorSpace.java:41)
>>     at 
>> org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:814)
>>     at 
>> org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:471)
>>     at 
>> org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:445)
>>     at 
>> org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:149)
>>     at 
>> org.apache.pdfbox.rendering.PageDrawer.drawPage(PageDrawer.java:187)
>>     at 
>> org.apache.pdfbox.rendering.PDFRenderer.renderPage(PDFRenderer.java:208)
>>     at 
>> org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:139)
>>     at 
>> org.apache.pdfbox.rendering.PDFRenderer.renderImageWithDPI(PDFRenderer.java:80)
>>     at 
>> com.liaoyoujin.pdfbox.doc.PdfExtractor.getFirstImage(PdfExtractor.java:109)
>>     at 
>> com.liaoyoujin.pdfbox.doc.PdfExtractor$Job.run(PdfExtractor.java:178)
>>     at 
>> com.liaoyoujin.thread.pool.BlockThreadPool$Worker.run(BlockThreadPool.java:53)
>>     at 
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>     at 
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>     at java.lang.Thread.run(Thread.java:745)
>> java.util.ConcurrentModificationException
>>     at java.util.Vector$Itr.checkForComodification(Vector.java:1156)
>>     at java.util.Vector$Itr.next(Vector.java:1133)
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
> For additional commands, e-mail: users-help@pdfbox.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: users-help@pdfbox.apache.org