Open tongzhou80 opened 5 years ago
@vesuppi Can you try running with the -XX:+PositiveIdentityHash
commandline option? If it's easier, it can be put in an environment variable like export OPENJ9_JAVA_OPTIONS="-XX:+PositiveIdentityHash"
when running the application.
I found https://coderanch.com/t/617050/languages/ArrayIndexOutOfBounds-error-unmarshalling which suggests the code is using the hashcode to index into an array and OpenJ9 by default uses the full range of hashcodes - both positive and negative - to give a better hash space.
@vesuppi Can you try running with the
-XX:+PositiveIdentityHash
commandline option? If it's easier, it can be put in an environment variable likeexport OPENJ9_JAVA_OPTIONS="-XX:+PositiveIdentityHash"
when running the application.I found https://coderanch.com/t/617050/languages/ArrayIndexOutOfBounds-error-unmarshalling which suggests the code is using the hashcode to index into an array and OpenJ9 by default uses the full range of hashcodes - both positive and negative - to give a better hash space.
Great that seemed to have fixed tradebeans. But tradesoap had a new error. Let me update the error in a bit.
We're also always interested if a problem can be reproduced with -Xint
on the command line.
@DanHeidinga @gacholio
I pulled the most recent source and rebuilt it. Both tradebeans
and tradesoap
work now with -XX:+PositiveIdentityHash
. But for some reason if I specify them two both on the command line it threw a lot of exceptions.
Here's a brief table showing what benchmarks don't work yet with the latest source on Ubuntu 16.04.5 LT (even with -XX:+PositiveIdentityHash):
Both errors are reproducible with -Xint.
batik
has following exceptions:
===== DaCapo 9.12-MR1 batik starting =====
About to transcode 3 SVG file(s)
Converting mapWaadt.svg to /home/tong/soot-dacapo/./scratch/mapWaadt.png ... ... success
Converting mapSpain.svg to /home/tong/soot-dacapo/./scratch/mapSpain.png ... ... success
Converting sydney.svg to /home/tong/soot-dacapo/./scratch/sydney.png ... java.lang.reflect.InvocationTargetException
java.lang.reflect.InvocationTargetException
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:498)
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 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:498)
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.net.URLClassLoader.findClass(URLClassLoader.java:591)
at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:946)
at java.lang.ClassLoader.loadClass(ClassLoader.java:891)
at org.dacapo.harness.DacapoClassLoader.loadClass(DacapoClassLoader.java:123)
at java.lang.ClassLoader.loadClass(ClassLoader.java:874)
... 30 more
tomcat
has following exceptions:
URL /examples/jsp/plugin/plugin.jsp returned status 500 (expected 200)
URL /examples/jsp/jsp2/jspx/basic.jspx returned status 500 (expected 200)
URL /examples/jsp/tagplugin/choose.jsp returned status 500 (expected 200)
URL /examples/jsp/forward/forward.jsp returned status 500 (expected 200)
URL /examples/jsp/jsptoserv/jsptoservlet.jsp returned status 500 (expected 200)
URL /examples/jsp/plugin/plugin.jsp returned status 500 (expected 200)
URL /examples/jsp/xml/xml.jsp returned status 500 (expected 200)
URL /examples/jsp/jsp2/jspx/textRotate.jspx?name=JSPX returned status 500 (expected 200)
URL /examples/jsp/jsptoserv/jsptoservlet.jsp returned status 500 (expected 200)
URL /examples/jsp/jsp2/jspattribute/jspattribute.jsp returned status 500 (expected 200)
URL /examples/jsp/tagplugin/if.jsp returned status 500 (expected 200)
URL /examples/jsp/xml/xml.jsp returned status 500 (expected 200)
URL /examples/jsp/jsp2/jspattribute/shuffle.jsp returned status 500 (expected 200)
URL /examples/jsp/tagplugin/foreach.jsp returned status 500 (expected 200)
URL /examples/jsp/tagplugin/if.jsp returned status 500 (expected 200)
URL /examples/jsp/jsp2/misc/dynamicattrs.jsp returned status 500 (expected 200)
URL /examples/jsp/tagplugin/choose.jsp returned status 500 (expected 200)
URL /examples/jsp/jsp2/misc/config.jsp returned status 500 (expected 200)
URL /examples/jsp/tagplugin/foreach.jsp returned status 500 (expected 200)
URL /examples/jsp/num/numguess.jsp returned status 500 (expected 200)
URL /examples/jsp/tagplugin/choose.jsp returned status 500 (expected 200)
URL /examples/jsp/dates/date.jsp returned status 500 (expected 200)
URL /examples/jsp/snp/snoop.jsp returned status 500 (expected 200)
URL /examples/jsp/error/err.jsp?name=audi&submit=Submit
expected 7f207b1e98367e0ee43056f5a242421a46d82eb9
found 5ab472a06743915c5ba82fa9ecd7a67bf1cee270
response code 500, log file result.1.21.15.html
URL /examples/jsp/error/err.jsp?name=integra&submit=Submit returned status 500 (expected 200)
URL /examples/jsp/sessions/carts.jsp?item=NIN+CD&submit=add returned status 500 (expected 200)
URL /examples/jsp/sessions/carts.jsp?item=JSP+Book&submit=add returned status 500 (expected 200)
URL /examples/jsp/sessions/carts.jsp?item=Love+life&submit=add returned status 500 (expected 200)
URL /examples/jsp/sessions/carts.jsp?item=NIN+CD&submit=remove returned status 500 (expected 200)
URL /examples/jsp/sessions/carts.jsp?item=JSP+Book&submit=remove returned status 500 (expected 200)
URL /examples/jsp/sessions/carts.jsp?item=Love+life&submit=remove returned status 500 (expected 200)
URL /examples/jsp/include/include.jsp returned status 500 (expected 200)
URL /examples/jsp/forward/forward.jsp returned status 500 (expected 200)
URL /examples/jsp/plugin/plugin.jsp returned status 500 (expected 200)
URL /examples/jsp/jsptoserv/jsptoservlet.jsp returned status 500 (expected 200)
URL /examples/jsp/xml/xml.jsp returned status 500 (expected 200)
URL /examples/jsp/tagplugin/if.jsp returned status 500 (expected 200)
URL /examples/jsp/tagplugin/foreach.jsp returned status 500 (expected 200)
URL /examples/jsp/tagplugin/choose.jsp returned status 500 (expected 200)
Client threads complete ... unloading web application
Digest validation failed for stderr.log, expecting 0xda39a3ee5e6b4b0d3255bfef95601890afd80709 found 0x9fdd57b4d19695ed3580bd0d3a43a3bb4d91e2a0
===== DaCapo 9.12-MR1 tomcat FAILED =====
Server stopped ... iteration complete
Validation FAILED for tomcat default
The batik issue also occurs on the latest JDK8 Hotspot build from Adopt:
mike@forms1:~/scratch/dacapo-bench$ ~/adopt-hotspot-jdk8/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/mike/scratch/dacapo-bench/./scratch/mapWaadt.png ... ... success
Converting mapSpain.svg to /home/mike/scratch/dacapo-bench/./scratch/mapSpain.png ... ... success
Converting sydney.svg to /home/mike/scratch/dacapo-bench/./scratch/sydney.png ... java.lang.reflect.InvocationTargetException
java.lang.reflect.InvocationTargetException
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:498)
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 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:498)
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.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at org.dacapo.harness.DacapoClassLoader.loadClass(DacapoClassLoader.java:123)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 30 more
mike@forms1:~/scratch/dacapo-bench$ ~/adopt-hotspot-jdk8/bin/java -version
openjdk version "1.8.0_202-internal"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_202-internal-201903200429-b08)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.202-b08, mixed mode)
I also found a blog post that suggests that batik uses a Oracle class not found in OpenJDK builds. Not sure if we can do anything here.
The tomcat issue also occurs with the JDK8 Hotspot build on AdoptOpenJDK. Seems like every page returns status 500 because of:
exception
org.apache.jasper.JasperException: org.apache.jasper.JasperException: Unable to load class for JSP
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:156)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
org.apache.jasper.JasperException: Unable to load class for JSP
org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:620)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:144)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
java.lang.ClassNotFoundException: org.apache.jsp.jsp.error.err_jsp
java.net.URLClassLoader.findClass(URLClassLoader.java:382)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:134)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66)
org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:618)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:144)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
Not sure if there is some set up that needs to be done. I just ran $java_bin/java -jar dacapo-9.12-MR1-bach.jar tomcat
Hi,
I ran into some errors on some benchmarks in DaCapo. Note that the JVM didn't segfault or anything. It's just the benchmark threw Java exceptions while it ran fine with hotspot jvm.
DaCapo
I used the default DaCapo version, which can be downloaded from https://sourceforge.net/projects/dacapobench/files/latest/download.
OpenJ9 Build
I used the docker build environment from https://www.eclipse.org/openj9/oj9_build.html. The build command was
make all
.Exceptions
There were a couple benchmarks that had errors such as tradebeans, tradesoap and tomcat. For example, tradebeans's error was:
I think it's because I am missing something. Anyone encountered similar issues? Thanks.