Hi Ben,
trying to understand this one better. It seems that LCMS is a color
management package of sorts,
and that seems to alter the way the JVM works with color profiles?
http://www.littlecms.com/

Here is the relevant part of the stack trace:

at
org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:254)
at
org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:149)
at
org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124)
at
org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
at
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
Caused by: java.lang.NullPointerException
at java.awt.color.ICC_Profile.intFromBigEndian(ICC_Profile.java:1770)
at java.awt.color.ICC_Profile.getNumComponents(ICC_Profile.java:1462)
at sun.java2d.cmm.lcms.LCMSTransform.<init>(LCMSTransform.java:96)
at sun.java2d.cmm.lcms.LCMS.createTransform(LCMS.java:66)
at java.awt.color.ICC_ColorSpace.toCIEXYZ(ICC_ColorSpace.java:354)
at
it.geosolutions.jaiext.colorconvert.ColorConvertOpImage.<init>(ColorConvertOpImage.java:328)
at
it.geosolutions.jaiext.colorconvert.ColorConvertCRIF.create(ColorConvertCRIF.java:66)
... 38 more

Cheers
Andrea

PS: first time I hear of this package, care to venture a guess on how
common it is to have
this one installed?


On Sat, Apr 11, 2015 at 3:15 AM, Ben Caradoc-Davies <b...@transient.nz>
wrote:

> [Email in lieu of a known working Jira]
>
> Since the JAI-EXT merge, gt-coverage ImageWorkerTest.testYCbCr on master
> fails when using LCMS 2.6.
>
> LCMS (Little CMS) is the native PCMS implementation used by the JVM on
> Linux, implemented in liblcms2.so.2 and provided on Debian and Ubuntu by
> the package liblcms2-2.
>
> ImageWorkerTest.testYCbCr passes with LCMS 2.2, as found in Ubuntu 12.04
> LTS (precise) on Travis CI. The test also works fine with LCMS 2.2 from
> debian/wheezy.
>
> ImageWorkerTest.testYCbCr fails with LCMS 2.6 on debian/sid
> (liblcms2-2:amd64 2.6-3+b3). I also expect it to fail with current Ubuntu
> stable 14.10 (utopic) or later as these use LCMS 2.6:
> https://launchpad.net/ubuntu/+source/lcms2
>
> On debian/sid amd64 I can prove that LCMS 2.6 is the cause by unpacking
> liblcms2 2.2 from wheezy:
> http://ftp.us.debian.org/debian/pool/main/l/lcms2/
> liblcms2-2_2.2+git20110628-2.2+deb7u1_amd64.deb
>
> and using LD_LIBRARY_PATH to cause the JVM to load it, as follows (in
> bash):
>
> mkdir -p /tmp/lcms
> dpkg -x liblcms2-2_2.2+git20110628-2.2+deb7u1_amd64.deb /tmp/lcms
> export LD_LIBRARY_PATH=/tmp/lcms/usr/lib/x86_64-linux-gnu
> # then in a previously built modules/library/coverage
> mvn -o -Dtest='ImageWorkerTest#testYCbCr' test
>
> The test then passes. To make it fail, "unset LD_LIBRARY_PATH" and re-run
> the mvn command.
>
> You should be able to use the same technique to reproduce this failure on
> Ubuntu 12.10 LTS (precise) by unpacking the liblcms2 deb from Ubuntu 14.10
> (utopic). I have not tested it on Ubuntu (but used the Ubuntu .so under
> Debian and it also caused the test to fail):
> https://launchpad.net/ubuntu/+source/lcms2/2.6-3ubuntu1/+
> build/6123210/+files/liblcms2-2_2.6-3ubuntu1_amd64.deb
>
> Here is the .deb LCMS 2.6 for debian/sid:
> http://ftp.us.debian.org/debian/pool/main/l/lcms2/
> liblcms2-2_2.6-3+b3_amd64.deb
>
> I have attached the output of a failing maven test run. Note the NPE at
> factory load time before the test. This is caused by the underlying problem.
>
> The same behaviour can be seen in Eclipse by running
> ImageWorkerTest.testYCbCr alone. Of interest are lines 1375 and 1377 in
> ICC_Profile (put breakpoints on those lines). The 18th invocation of
> mdl.getTagData at line 1375 (a call to LCSM native code) throws
> CMMException with "ICC Profile header not found" and tagData is set to
> null, which causes the later NPE.
>
> Checking out c4b60bea20c048f654f3275ae182202ad51d2e68 (just before the
> JAI-EXT merge) makes the build pass. Furthermore, the ICC_Profile methods
> are not even entered in that version. This suggests to me that the problem
> with LCSM 2.6 is related to the JAI-EXT merge. I am not going to assign
> blame as it looks like it might be a regression in LCMS.  :-)
>
> For the record, I am using this platform (pretty much the same as Travis
> CI openjdk7):
> $ mvn -version
> Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1;
> 2014-12-15T06:29:23+13:00)
> Maven home: /home/ben/java/maven
> Java version: 1.7.0_75, vendor: Oracle Corporation
> Java home: /usr/lib/jvm/java-7-openjdk-amd64/jre
> Default locale: en_GB, platform encoding: UTF-8
> OS name: "linux", version: "3.16.0-4-amd64", arch: "amd64", family: "unix"
>
> Kind regards,
>
> --
> Ben Caradoc-Davies <b...@transient.nz>
> Director
> Transient Software Limited <http://transient.nz>
> New Zealand
>



-- 
==
GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.
==

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054  Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39  339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

*AVVERTENZE AI SENSI DEL D.Lgs. 196/2003*

Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
loro utilizzo è consentito esclusivamente al destinatario del messaggio,
per le finalità indicate nel messaggio stesso. Qualora riceviate questo
messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
darcene notizia via e-mail e di procedere alla distruzione del messaggio
stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
utilizzarlo per finalità diverse, costituisce comportamento contrario ai
principi dettati dal D.Lgs. 196/2003.



The information in this message and/or attachments, is intended solely for
the attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act
(Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
Code).Any use not in accord with its purpose, any disclosure, reproduction,
copying, distribution, or either dissemination, either whole or partial, is
strictly forbidden except previous formal approval of the named
addressee(s). If you are not the intended recipient, please contact
immediately the sender by telephone, fax or e-mail and delete the
information in this message that has been received in error. The sender
does not give any warranty or accept liability as the content, accuracy or
completeness of sent messages and accepts no responsibility  for changes
made after they were sent or for other risks which arise as a result of
e-mail transmission, viruses, etc.

-------------------------------------------------------
------------------------------------------------------------------------------
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to