Task #12612 (closed)
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 9 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 9 years ago by rleigh
comment:3 Changed 9 years ago by mtbcarroll
- Cc mtbcarroll added
comment:4 Changed 9 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 9 years ago by mlinkert
- Milestone changed from Unscheduled to 5.1.1
Moving to 5.1.1 for triage.
comment:6 Changed 9 years ago by rleigh
- Resolution set to invalid
- Status changed from new to closed
Closing since this isn't a bug in our code.
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?