Notice: In order to edit this ticket you need to be either: a Product Owner, The owner or the reporter of the ticket, or, in case of a Task not yet assigned, a team_member"

Task #12612 (closed)

Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

Bug: JPEG test and read failures with OpenJDK8

Reported by: rleigh Owned by: mlinkert
Priority: major Milestone: 5.1.1
Component: Bio-Formats Version: 5.0.5
Keywords: imageio jdk8 Cc: mtbcarroll
Resources: n.a. Referenced By: n.a.
References: n.a. Remaining Time: n.a.
Sprint: n.a.

Description (last modified by rleigh)

I've tested the current OpenJDK8 JDK on Ubuntu 14.10 with current bioformats develop. OpenJDK7 seems to work fine on the same system. There are two JPEG-related test failures in formats-bsd (testJPEG and testALT_JPEG), shown below. This appears OpenJDK-specific; it's working with Oracle JDK8 on MacOS X. I thought it might be due to libjpeg6 being obsoleted if it relied on native libs, but this isn't the case. The JPEG reader and writer seem affected, but this doesn't seem to affect JPEG2000 reading.

Impact: JPEG reading and writing seems broken across the board with OpenJDK8.

testJPEG
"java.lang.NoClassDefFoundError: Could not initialize class com.sun.imageio.plugins.jpeg.JPEGImageWriter at com.sun.imageio.plugins.jpeg.JPEGImageWriterSpi.createWriterInstance(JPEGImageWriterSpi.java:96) at javax.imageio.spi.ImageWriterSpi.createWriterInstance(ImageWriterSpi.java:351) at javax.imageio.ImageIO$ImageWriterIterator.next(ImageIO.java:843) at javax.imageio.ImageIO$ImageWriterIterator.next(ImageIO.java:827) at javax.imageio.ImageIO.getWriter(ImageIO.java:1596) at javax.imageio.ImageIO.write(ImageIO.java:1578) at loci.formats.codec.JPEGCodec.compress(JPEGCodec.java:86) at loci.formats.tiff.TiffCompression.compress(TiffCompression.java:359) at loci.formats.utests.tiff.TiffCompressionCompressTest.testJPEG(TiffCompressionCompressTest.java:122) ... Removed 23 stack frames
java.lang.NoClassDefFoundError: Could not initialize class com.sun.imageio.plugins.jpeg.JPEGImageWriter at com.sun.imageio.plugins.jpeg.JPEGImageWriterSpi.createWriterInstance(JPEGImageWriterSpi.java:96) at javax.imageio.spi.ImageWriterSpi.createWriterInstance(ImageWriterSpi.java:351) at javax.imageio.ImageIO$ImageWriterIterator.next(ImageIO.java:843) at javax.imageio.ImageIO$ImageWriterIterator.next(ImageIO.java:827) at javax.imageio.ImageIO.getWriter(ImageIO.java:1596) at javax.imageio.ImageIO.write(ImageIO.java:1578) at loci.formats.codec.JPEGCodec.compress(JPEGCodec.java:86) at loci.formats.tiff.TiffCompression.compress(TiffCompression.java:359) at loci.formats.utests.tiff.TiffCompressionCompressTest.testJPEG(TiffCompressionCompressTest.java:122) 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:497) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80) at org.testng.internal.Invoker.invokeMethod(Invoker.java:714) at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901) at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111) at org.testng.TestRunner.privateRun(TestRunner.java:767) at org.testng.TestRunner.run(TestRunner.java:617) at org.testng.SuiteRunner.runTest(SuiteRunner.java:334) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291) at org.testng.SuiteRunner.run(SuiteRunner.java:240) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1198) at org.testng.TestNG.runSuitesLocally(TestNG.java:1123) at org.testng.TestNG.run(TestNG.java:1031) at org.testng.TestNG.privateMain(TestNG.java:1338) at org.testng.TestNG.main(TestNG.java:1307) "
com.sun.imageio.plugins.jpeg.JPEGImageWriterSpi.createWriterInstance(JPEGImageWriterSpi.java:96)
javax.imageio.spi.ImageWriterSpi.createWriterInstance(ImageWriterSpi.java:351)
javax.imageio.ImageIO$ImageWriterIterator.next(ImageIO.java:843)
javax.imageio.ImageIO$ImageWriterIterator.next(ImageIO.java:827)
javax.imageio.ImageIO.getWriter(ImageIO.java:1596)
javax.imageio.ImageIO.write(ImageIO.java:1578)
loci.formats.codec.JPEGCodec.compress(JPEGCodec.java:86)
loci.formats.tiff.TiffCompression.compress(TiffCompression.java:359)
loci.formats.utests.tiff.TiffCompressionCompressTest.testJPEG(TiffCompressionCompressTest.java:122)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:497)
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)
org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
org.testng.TestRunner.privateRun(TestRunner.java:767)
org.testng.TestRunner.run(TestRunner.java:617)
org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
org.testng.SuiteRunner.run(SuiteRunner.java:240)
org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
org.testng.TestNG.runSuitesSequentially(TestNG.java:1198)
org.testng.TestNG.runSuitesLocally(TestNG.java:1123)
org.testng.TestNG.run(TestNG.java:1031)
org.testng.TestNG.privateMain(TestNG.java:1338)
org.testng.TestNG.main(TestNG.java:1307)
testALT_JPEG
"java.lang.UnsatisfiedLinkError: com.sun.imageio.plugins.jpeg.JPEGImageWriter.initWriterIDs(Ljava/lang/Class;Ljava/lang/Class;)V at com.sun.imageio.plugins.jpeg.JPEGImageWriter.initWriterIDs(Native Method) at com.sun.imageio.plugins.jpeg.JPEGImageWriter.<clinit>(JPEGImageWriter.java:186) at com.sun.imageio.plugins.jpeg.JPEGImageWriterSpi.createWriterInstance(JPEGImageWriterSpi.java:96) at javax.imageio.spi.ImageWriterSpi.createWriterInstance(ImageWriterSpi.java:351) at javax.imageio.ImageIO$ImageWriterIterator.next(ImageIO.java:843) at javax.imageio.ImageIO$ImageWriterIterator.next(ImageIO.java:827) at javax.imageio.ImageIO.getWriter(ImageIO.java:1596) at javax.imageio.ImageIO.write(ImageIO.java:1578) at loci.formats.codec.JPEGCodec.compress(JPEGCodec.java:86) at loci.formats.tiff.TiffCompression.compress(TiffCompression.java:359) at loci.formats.utests.tiff.TiffCompressionCompressTest.testALT_JPEG(TiffCompressionCompressTest.java:177) ... Removed 23 stack frames
java.lang.UnsatisfiedLinkError: com.sun.imageio.plugins.jpeg.JPEGImageWriter.initWriterIDs(Ljava/lang/Class;Ljava/lang/Class;)V at com.sun.imageio.plugins.jpeg.JPEGImageWriter.initWriterIDs(Native Method) at com.sun.imageio.plugins.jpeg.JPEGImageWriter.<clinit>(JPEGImageWriter.java:186) at com.sun.imageio.plugins.jpeg.JPEGImageWriterSpi.createWriterInstance(JPEGImageWriterSpi.java:96) at javax.imageio.spi.ImageWriterSpi.createWriterInstance(ImageWriterSpi.java:351) at javax.imageio.ImageIO$ImageWriterIterator.next(ImageIO.java:843) at javax.imageio.ImageIO$ImageWriterIterator.next(ImageIO.java:827) at javax.imageio.ImageIO.getWriter(ImageIO.java:1596) at javax.imageio.ImageIO.write(ImageIO.java:1578) at loci.formats.codec.JPEGCodec.compress(JPEGCodec.java:86) at loci.formats.tiff.TiffCompression.compress(TiffCompression.java:359) at loci.formats.utests.tiff.TiffCompressionCompressTest.testALT_JPEG(TiffCompressionCompressTest.java:177) 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:497) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80) at org.testng.internal.Invoker.invokeMethod(Invoker.java:714) at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901) at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111) at org.testng.TestRunner.privateRun(TestRunner.java:767) at org.testng.TestRunner.run(TestRunner.java:617) at org.testng.SuiteRunner.runTest(SuiteRunner.java:334) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291) at org.testng.SuiteRunner.run(SuiteRunner.java:240) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1198) at org.testng.TestNG.runSuitesLocally(TestNG.java:1123) at org.testng.TestNG.run(TestNG.java:1031) at org.testng.TestNG.privateMain(TestNG.java:1338) at org.testng.TestNG.main(TestNG.java:1307) "
com.sun.imageio.plugins.jpeg.JPEGImageWriter.initWriterIDs(Native Method)
com.sun.imageio.plugins.jpeg.JPEGImageWriter.(JPEGImageWriter.java:186)
com.sun.imageio.plugins.jpeg.JPEGImageWriterSpi.createWriterInstance(JPEGImageWriterSpi.java:96)
javax.imageio.spi.ImageWriterSpi.createWriterInstance(ImageWriterSpi.java:351)
javax.imageio.ImageIO$ImageWriterIterator.next(ImageIO.java:843)
javax.imageio.ImageIO$ImageWriterIterator.next(ImageIO.java:827)
javax.imageio.ImageIO.getWriter(ImageIO.java:1596)
javax.imageio.ImageIO.write(ImageIO.java:1578)
loci.formats.codec.JPEGCodec.compress(JPEGCodec.java:86)
loci.formats.tiff.TiffCompression.compress(TiffCompression.java:359)
loci.formats.utests.tiff.TiffCompressionCompressTest.testALT_JPEG(TiffCompressionCompressTest.java:177)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:497)
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)
org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
org.testng.TestRunner.privateRun(TestRunner.java:767)
org.testng.TestRunner.run(TestRunner.java:617)
org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
org.testng.SuiteRunner.run(SuiteRunner.java:240)
org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
org.testng.TestNG.runSuitesSequentially(TestNG.java:1198)
org.testng.TestNG.runSuitesLocally(TestNG.java:1123)
org.testng.TestNG.run(TestNG.java:1031)
org.testng.TestNG.privateMain(TestNG.java:1338)
org.testng.TestNG.main(TestNG.java:1307)

Change History (7)

comment:1 Changed 6 years ago by rleigh

  • Description modified (diff)
  • Summary changed from Bug: Test failures with OpenJDK8 to Bug: JPEG test and read failures with OpenJDK8

comment:2 Changed 6 years ago by rleigh

This bug also affects thumbnail viewing with Insight, and presumably thumbnail generation and all JPEG-related activities for the OMERO server and clients.

It was suggested that this might be related to java8 adopting javafx. Is imageio relying on private JRE internals which have been changed in java8?

comment:3 Changed 6 years ago by mtbcarroll

  • Cc mtbcarroll added

comment:4 Changed 6 years ago by rleigh

Testing on FreeBSD 10.1-RELEASE with OpenJDK 1.8u25. The bug doesn't affect this combination--all tests pass. I'll see if there's a difference between this and the Ubuntu version; may simply be the openjdk point version, or may be platform-specific.

% uname -srm              
FreeBSD 10.1-RELEASE-p8 amd64
% java -version
openjdk version "1.8.0_25"
OpenJDK Runtime Environment (build 1.8.0_25-b17)
OpenJDK 64-Bit Server VM (build 25.25-b02, mixed mode)
% javac -version
javac 1.8.0_25

comment:5 Changed 6 years ago by mlinkert

  • Milestone changed from Unscheduled to 5.1.1

Moving to 5.1.1 for triage.

comment:6 Changed 6 years ago by rleigh

  • Resolution set to invalid
  • Status changed from new to closed

Closing since this isn't a bug in our code.

Note: See TracTickets for help on using tickets. You may also have a look at Agilo extensions to the ticket.

1.3.13-PRO © 2008-2011 Agilo Software all rights reserved (this page was served in: 0.74425 sec.)

We're Hiring!