Jira works for new issues.
On Fri, Apr 10, 2015 at 11:16 PM Andrea Aime <andrea.a...@geo-solutions.it>
wrote:
> 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
>
------------------------------------------------------------------------------
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