You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Andreas Lehmkühler (JIRA)" <ji...@apache.org> on 2016/06/14 21:18:30 UTC
[jira] [Closed] (PDFBOX-3374) Multithreading can cause exceptions.
[ https://issues.apache.org/jira/browse/PDFBOX-3374?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andreas Lehmkühler closed PDFBOX-3374.
--------------------------------------
Resolution: Duplicate
Closed as duplicate
> Multithreading can cause exceptions.
> ------------------------------------
>
> Key: PDFBOX-3374
> URL: https://issues.apache.org/jira/browse/PDFBOX-3374
> Project: PDFBox
> Issue Type: Bug
> Affects Versions: 2.0.1
> Environment: Windows 8 64 bit
> java version "1.8.0_91"
> Reporter: Stefan Feenstra
>
> PDFBox has given me exceptions a couple of times when using it with multiple threads that seem to be related with it loading ICC color profiles.
> Possible fix might be to create a static lock?
> {quote}
> java.lang.RuntimeException: java.util.ConcurrentModificationException
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
> at java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:593)
> at java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:677)
> at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:735)
> at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160)
> at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174)
> at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
> at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
> at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:583)
> at program.Trainer.convertToText_verification(Trainer.java:107)
> at program.Trainer.main(Trainer.java:37)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
> Caused by: java.lang.RuntimeException: java.util.ConcurrentModificationException
> at program.PdfStream.next(PdfStream.java:44)
> at program.DocumentUtility.pdfToText(DocumentUtility.java:65)
> at program.Trainer.lambda$convertToText_verification$2(Trainer.java:109)
> at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
> at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
> at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
> at java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:291)
> at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:731)
> at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
> at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
> at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
> at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
> Caused by: java.util.ConcurrentModificationException
> at java.util.Vector$Itr.checkForComodification(Vector.java:1184)
> at java.util.Vector$Itr.next(Vector.java:1137)
> at sun.java2d.cmm.ProfileDeferralMgr.activateProfiles(ProfileDeferralMgr.java:93)
> at java.awt.color.ICC_Profile.getInstance(ICC_Profile.java:777)
> at java.awt.color.ICC_Profile.getInstance(ICC_Profile.java:1017)
> 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: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.renderPage(PDFRenderer.java:208)
> at org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:139)
> at program.PdfStream.next(PdfStream.java:41)
> ... 11 more
> {quote}
> Possibly related crash?
> {quote}
> Caused by: java.lang.NullPointerException
> at java.awt.color.ICC_Profile.activateDeferredProfile(ICC_Profile.java:1090)
> at java.awt.color.ICC_Profile$1.activate(ICC_Profile.java:744)
> at sun.java2d.cmm.ProfileDeferralMgr.activateProfiles(ProfileDeferralMgr.java:95)
> at java.awt.color.ICC_Profile.getInstance(ICC_Profile.java:777)
> at java.awt.color.ICC_Profile.getInstance(ICC_Profile.java:1017)
> 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: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.renderPage(PDFRenderer.java:208)
> at org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:139)
> ...
> {quote}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: dev-help@pdfbox.apache.org