InvocationTargetException/NoClassDefFoundError/ClassNotFoundException при запуске батика (тест DaCapo-9.12-bach)

Я сам создаю OpenJDK 9 и запускаю Dacapo Тесты на моем сервере Linux (64-разрядная версия, 64 ядра, 126 ГБ памяти) (Ubuntu 17.10).

У меня есть InvocationTargetException/NoClassDefFoundError/ClassNotFoundException, когда я запускаю батик (тест DaCapo-9.12-bach) и некоторые другие тесты.

Вопрос: Как это решить и почему я получаю эти исключения?

батик

создает ряд изображений масштабируемой векторной графики (SVG) на основе модульных тестов в Apache Batik.

wxf@wxf:/home/wxf/javaPrj/dacapo_benchmark$ /home/wxf/9dev/build/linux-x86_64-normal-server-slowdebug/jdk/bin/java -jar dacapo-9.12-MR1-bach.jar batik
===== DaCapo 9.12-MR1 batik starting =====
About to transcode 3 SVG file(s)

Converting mapWaadt.svg to /home/wxf/javaPrj/dacapo_benchmark/./scratch/mapWaadt.png ... ... success
Converting mapSpain.svg to /home/wxf/javaPrj/dacapo_benchmark/./scratch/mapSpain.png ... ... success
Converting sydney.svg to /home/wxf/javaPrj/dacapo_benchmark/./scratch/sydney.png ... java.lang.reflect.InvocationTargetException
java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at org.dacapo.harness.Batik.iterate(Batik.java:41)
    at org.dacapo.harness.Benchmark.run(Benchmark.java:187)
    at org.dacapo.harness.TestHarness.runBenchmark(TestHarness.java:199)
    at org.dacapo.harness.TestHarness.main(TestHarness.java:152)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at Harness.main(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: com/sun/image/codec/jpeg/TruncatedFileException
    at org.apache.batik.ext.awt.image.codec.jpeg.JPEGRegistryEntry.handleStream(JPEGRegistryEntry.java:87)
    at org.apache.batik.ext.awt.image.spi.ImageTagRegistry.readURL(ImageTagRegistry.java:189)
    at org.apache.batik.bridge.SVGImageElementBridge.createImageGraphicsNode(SVGImageElementBridge.java:257)
    at org.apache.batik.bridge.SVGImageElementBridge.buildImageGraphicsNode(SVGImageElementBridge.java:176)
    at org.apache.batik.bridge.SVGImageElementBridge.createGraphicsNode(SVGImageElementBridge.java:118)
    at org.apache.batik.bridge.GVTBuilder.buildGraphicsNode(GVTBuilder.java:206)
    at org.apache.batik.bridge.GVTBuilder.buildComposite(GVTBuilder.java:164)
    at org.apache.batik.bridge.GVTBuilder.buildGraphicsNode(GVTBuilder.java:212)
    at org.apache.batik.bridge.GVTBuilder.buildComposite(GVTBuilder.java:164)
    at org.apache.batik.bridge.GVTBuilder.build(GVTBuilder.java:78)
    at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:214)
    at org.apache.batik.transcoder.image.ImageTranscoder.transcode(ImageTranscoder.java:92)
    at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(XMLAbstractTranscoder.java:142)
    at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:159)
    at org.apache.batik.apps.rasterizer.SVGConverter.transcode(SVGConverter.java:992)
    at org.apache.batik.apps.rasterizer.SVGConverter.execute(SVGConverter.java:715)
    at org.apache.batik.apps.rasterizer.Main.execute(Main.java:938)
    ... 13 more
Caused by: java.lang.ClassNotFoundException: com.sun.image.codec.jpeg.TruncatedFileException
    at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:466)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:563)
    at org.dacapo.harness.DacapoClassLoader.loadClass(DacapoClassLoader.java:123)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
    ... 30 more

Однако, если я использую JDK8 от Oracle, батик может работать.

версия Java "1.8.0_144"

Среда выполнения Java(TM) SE (сборка 1.8.0_144-b01)

Java HotSpot(TM) 64-разрядная виртуальная машина сервера (сборка 25.144-b01, смешанный режим)

Результат:

wxf@wxf:/home/wxf/javaPrj/dacapo_benchmark$ java -jar dacapo-9.12-MR1-bach.jar batik
===== DaCapo 9.12-MR1 batik starting =====
About to transcode 3 SVG file(s)

Converting mapWaadt.svg to /home/wxf/javaPrj/dacapo_benchmark/./scratch/mapWaadt.png ... ... success
Converting mapSpain.svg to /home/wxf/javaPrj/dacapo_benchmark/./scratch/mapSpain.png ... ... success
Converting sydney.svg to /home/wxf/javaPrj/dacapo_benchmark/./scratch/sydney.png ... ... success
===== DaCapo 9.12-MR1 batik PASSED in 3687 msec =====

person skytree    schedule 25.01.2018    source источник