JDK-8134468 : Lucene test failures with 32 bit JDK 9b78, Server compiler
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 9
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: linux
  • CPU: x86
  • Submitted: 2015-08-25
  • Updated: 2015-11-09
  • Resolved: 2015-09-02
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 9
9 b83Fixed
Related Reports
Relates :  
Description
FULL PRODUCT VERSION :
java version "1.9.0-ea"
Java(TM) SE Runtime Environment (build 1.9.0-ea-b78)
Java HotSpot(TM) Server VM (build 1.9.0-ea-b78, mixed mode)

FULL OS VERSION :
Linux serv1 3.19.0-26-generic #28~14.04.1-Ubuntu SMP Wed Aug 12 14:09:17 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

EXTRA RELEVANT SYSTEM CONFIGURATION :
CPU: Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz
(Haswell with AVX2)

A DESCRIPTION OF THE PROBLEM :
During our ongong stress tests (running Apache Lucene) on JDK9 preview builds, we discovered the following bug, which makes it impossible to use Apache Lucene/Solr/Elasticsearch with JDK9:

We are running the Lucene Core Testsuite of the recently released Lucene 5.3.0 Tarball. The tests should pass on any current JVM. Unfortunetely under the following configurations this fails:

- It does not fail with 64 bits (I tried like 20 runs of test suite).
- It does not fail with 32 bits and "-client" (I also tried 20 runs).
- It fails ASAP on 32 bits (in the first few Lucene tests with messages about random NPEs or failed assertions) with: "-server -Xbatch -XX:+TieredCompilation"
- It also fails on 32 bits, but takes longer (like 60 tests of the suite ran): "-server -Xbatch-XX:-TieredCompilation")

THE PROBLEM WAS REPRODUCIBLE WITH -Xint FLAG: No

THE PROBLEM WAS REPRODUCIBLE WITH -server FLAG: Yes

REGRESSION.  Last worked in version 8u60

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
thetaphi@serv1:~$ wget http://www.apache.org/dist/lucene/java/5.3.0/lucene-5.3.0-src.tgz
thetaphi@serv1:~$ tar xf lucene-5.3.0-src.tgz
thetaphi@serv1:~$ cd lucene-5.3.0/
thetaphi@serv1:~/lucene-5.3.0$ ant ivy-bootstrap
thetaphi@serv1:~/lucene-5.3.0$ cd core/

thetaphi@serv1:~/lucene-5.3.0/core$ ant test -Dtests.jvms=1 -Dargs='-client'
(passes)

thetaphi@serv1:~/lucene-5.3.0/core$ ant test -Dtests.jvms=1 -Dargs='-server -Xbatch -XX:+TieredCompilation'
(fails after running a few tests)

thetaphi@serv1:~/lucene-5.3.0/core$ ant test -Dtests.jvms=1 -Dargs='-server -Xbatch -XX:-TieredCompilation'
(fails bit later, sometimes whole suite passes)

EXPECTED VERSUS ACTUAL BEHAVIOR :
Lucene Testsuite should pass.
ERROR MESSAGES/STACK TRACES THAT OCCUR :
Various test failures:
- NPE
- test assertions fail (e.g. number of returned Lucene search results)
- also Java assertions fail

REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
This is impossible for this case, the bug is only triggered on stress testing the whole test suite.
---------- END SOURCE ----------

CUSTOMER SUBMITTED WORKAROUND :
Use -client compiler or switch to 64 bit JVM.


Comments
Additional information from Uwe: > As the bug was not easily reproducible on another computer running Windows (which did not had Haswell/AVX2 CPU), we tried the following: > Running the tests with -XX:UseAVX=0 or -XX:-UseSuperWord did not have any effect, unfortunately. The test suite failed as described before. So it does not seem to be related to AVX at all. I just mentioned that on the system configuration. > The problems started around build 68 of JDK 9.
27-08-2015