Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 6.2.3
-
Fix Version/s: 6.2.5
-
Component/s: Colour, Core/Rendering
-
Labels:None
-
Environment:All
-
Support Case References:Support Case #14109 - https://icesoft.my.salesforce.com/5007000001k8rrD
Description
When running the provided PDF file through the PageCapture.java example, the following exception is thrown:
FINE: Error getting ICCBased colour
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:168)
at org.icepdf.core.pobjects.graphics.ICCBased.calculateColor(ICCBased.java:184)
at org.icepdf.core.pobjects.graphics.ICCBased.addColorToCache(ICCBased.java:139)
at org.icepdf.core.pobjects.graphics.ICCBased.getColor(ICCBased.java:152)
at org.icepdf.core.util.content.AbstractContentParser.consume_sc(AbstractContentParser.java:434)
at org.icepdf.core.util.content.NContentParser.parse(Unknown Source)
at org.icepdf.core.pobjects.Page.init(Page.java:399)
at support.PageCapture$CapturePage.call(PageCapture.java:118)
at support.PageCapture$CapturePage.call(PageCapture.java:105)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
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)
The file also causes an unrecoverable stack overflow error which crashed ICEpdf (also seen when loading in the viewer):
An unrecoverable stack overflow has occurred.
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_STACK_OVERFLOW (0xc00000fd) at pc=0x7098863a, pid=76724, tid=31672
#
# JRE version: Java(TM) SE Runtime Environment (7.0_67-b01) (build 1.7.0_67-b01)
# Java VM: Java HotSpot(TM) Client VM (24.65-b04 mixed mode windows-x86 )
# Problematic frame:
# CJava Result: -1073740791
FINE: Error getting ICCBased colour
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:168)
at org.icepdf.core.pobjects.graphics.ICCBased.calculateColor(ICCBased.java:184)
at org.icepdf.core.pobjects.graphics.ICCBased.addColorToCache(ICCBased.java:139)
at org.icepdf.core.pobjects.graphics.ICCBased.getColor(ICCBased.java:152)
at org.icepdf.core.util.content.AbstractContentParser.consume_sc(AbstractContentParser.java:434)
at org.icepdf.core.util.content.NContentParser.parse(Unknown Source)
at org.icepdf.core.pobjects.Page.init(Page.java:399)
at support.PageCapture$CapturePage.call(PageCapture.java:118)
at support.PageCapture$CapturePage.call(PageCapture.java:105)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
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)
The file also causes an unrecoverable stack overflow error which crashed ICEpdf (also seen when loading in the viewer):
An unrecoverable stack overflow has occurred.
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_STACK_OVERFLOW (0xc00000fd) at pc=0x7098863a, pid=76724, tid=31672
#
# JRE version: Java(TM) SE Runtime Environment (7.0_67-b01) (build 1.7.0_67-b01)
# Java VM: Java HotSpot(TM) Client VM (24.65-b04 mixed mode windows-x86 )
# Problematic frame:
# CJava Result: -1073740791
This took a long time to narrow down but the issue is related to what appears to be an invalid dash definition. Next step is to try and figure out how to handle the new oddity. We have a bunch of corners cases in a separate QA content set.