RFR: 8282577: ICC_Profile.setData(int, byte[]) invalidates the profile [v3]

Phil Race prr at openjdk.java.net
Thu Mar 3 21:44:00 UTC 2022


On Thu, 3 Mar 2022 21:27:36 GMT, Phil Race <prr at openjdk.org> wrote:

>> As per the bug eval, we are returning a pointer to a native raw LittleCMS profile and it should be a cooked one.
>> The simple test fails before the fix with
>> ~/jdk17/Contents/Home/bin/java SetTagDataValidation                               
>> Exception in thread "main" java.awt.color.CMMException: LCMS error 13: Couldn't link the profiles
>> 	at java.desktop/sun.java2d.cmm.lcms.LCMS.createNativeTransform(Native Method)
>> 	at java.desktop/sun.java2d.cmm.lcms.LCMS.createTransform(LCMS.java:104)
>> 	at java.desktop/sun.java2d.cmm.lcms.LCMSTransform.doTransform(LCMSTransform.java:143)
>> 	at java.desktop/sun.java2d.cmm.lcms.LCMSTransform.colorConvert(LCMSTransform.java:633)
>> 	at java.desktop/java.awt.color.ICC_ColorSpace.toRGB(ICC_ColorSpace.java:224)
>> 	at SetTagDataValidation.main(SetTagDataValidation.java:61)
>> 
>> and with the fix  just prints 
>> java SetTagDataValidation
>> 0.4
>> 0.5000076
>> 0.6
>
> Phil Race has updated the pull request incrementally with one additional commit since the last revision:
> 
>   8282577: ICC_Profile.setData(int, byte[]) invalidates the profile

I have added the problem listing of a test sun/java2d/cmm/ReadWriteProfileTest.java
https://bugs.openjdk.java.net/browse/JDK-8282635

The test would not have been passing if the profile were actually validated and it looks like there's various issues to be solved - if possible.

-------------

PR: https://git.openjdk.java.net/jdk/pull/7668



More information about the client-libs-dev mailing list