G1GC/ JIT compilation bug hunt.
Dawid Weiss
dawid.weiss at gmail.com
Tue Aug 13 23:27:25 PDT 2013
Hi everyone,
I am a committer to the Lucene/Solr project. We've recently hit what
we believe is a JIT/GC bug -- it manifests itself only when G1GC is
used, on a 32-bit VM:
Using Java: 32bit/jdk1.8.0-ea-b102 -server -XX:+UseG1GC
Java: 32bit/jdk1.7.0_25 -server -XX:+UseG1GC
Here is the Lucene issue where more information is available:
https://issues.apache.org/jira/browse/LUCENE-5168
In the essence, the problem is that the code hits an assertion (in
Java) which it should never reach. There used to be a problem with our
implementation of readByte which tripped C2, but this was patched by
an alternate implementation a while back -- see here, line 97 (inside
readVInt):
http://svn.apache.org/repos/asf/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/store/DataInput.java
This time it seems to be something else and is *not* easily
reproducible on a smaller example (it's not even reproducible on that
particular test all the time).
Is there anything you can think of that we can do and which would help
you in narrowing down what the problem might be? I initially thought
to pass -XX:+PrintCompilation -XX:+PrintAssembly but this will result
in a huge log as this happens some time in the middle of a test run
(and not always). If there's a shorter route I'd be happy to use it.
Dawid
More information about the hotspot-dev
mailing list