JDK-8153340 : Disallow misconfiguration and improve the consistency of allocation prefetching
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 8u112,9
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • CPU: sparc
  • Submitted: 2016-04-03
  • Updated: 2016-11-23
  • Resolved: 2016-04-29
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 b120Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Relates :  
Sub Tasks
JDK-8153437 :  
Description
AllocatePrefetchDistance=0 does not work on sparcv9. jvm(jdk9+112) throws an exception or crash when it's run with AllocatePrefetchDistance=0.
1) From TestOptionsWithRanges (hs_err_pid15388.log is attached)
java -XX:+UseG1GC -XX:AllocatePrefetchDistance=0 optionsvalidation.JVMStartup
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0xffffffff6182be88, pid=15388, tid=2
#
# JRE version: Java(TM) SE Runtime Environment (9.0) (fastdebug build 9-internal+0-2016-04-01-233220.bachrist.hs-rt)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 9-internal+0-2016-04-01-233220.bachrist.hs-rt, mixed mode, tiered, compressed oops, g1 gc, solaris-sparc)
# Problematic frame:
# J 99 C1  java.base@9-internal9-internal (356 bytes) @ 0xffffffff6182be88 [0xffffffff6182b560+0x0000000000000928]
#

2) java -server -XX:+UseG1GC -XX:AllocatePrefetchDistance=0
Exception in thread "main" java.lang.BootstrapMethodError: java.lang.ExceptionInInitializerError
        at java.util.ResourceBundle.getLoader(java.base@9-ea/ResourceBundle.java:574)
        at java.util.ResourceBundle.getBundleImpl(java.base@9-ea/ResourceBundle.java:1581)
        at java.util.ResourceBundle.getBundleImpl(java.base@9-ea/ResourceBundle.java:1560)
        at java.util.ResourceBundle.getBundle(java.base@9-ea/ResourceBundle.java:912)
        at sun.launcher.LauncherHelper$ResourceBundleHolder.<clinit>(java.base@9-ea/LauncherHelper.java:114)
        at sun.launcher.LauncherHelper.getLocalizedMessage(java.base@9-ea/LauncherHelper.java:343)
        at sun.launcher.LauncherHelper.initHelpMessage(java.base@9-ea/LauncherHelper.java:355)
Caused by: java.lang.ExceptionInInitializerError
...

3) javac crash often with AllocatePrefetchDistance=0(hs_err_pid33357.log is attached):
/javac -J-server -J-XX:+UseG1GC -J-XX:AllocatePrefetchDistance=0
=============== DEBUG MESSAGE: incorrect type information in arraycopy ================

# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/macroAssembler_sparc.cpp:1576
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/HUDSON/workspace/9-2-build-solaris-sparcv9-phase2/jdk9/4770/hotspot/src/cpu/sparc/vm/macroAssembler_sparc.cpp:1576), pid=33357, tid=2
#  assert(false) failed: DEBUG MESSAGE: incorrect type information in arraycopy
#
# JRE version: Java(TM) SE Runtime Environment (9.0+112) (fastdebug build 9-ea+112)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 9-ea+112, mixed mode, tiered, compressed oops, g1 gc, solaris-sparc)
... 

4) javac -J-XX:AllocatePrefetchDistance=0
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/klass.inline.hpp:63
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/HUDSON/workspace/9-2-build-solaris-sparcv9-phase2/jdk9/4770/hotspot/src/share/vm/oops/klass.inline.hpp:63), pid=33950, tid=2
#  assert(!is_null(v)) failed: narrow klass value can never be zero
#
# JRE version: Java(TM) SE Runtime Environment (9.0+112) (fastdebug build 9-ea+112)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 9-ea+112, mixed mode, tiered, compressed oops, g1 gc, solaris-sparc)
...

hs_err_pid33950.log is attached


Probably this problem can be related to JDK-8151622 or JDK-8153292
Comments
I intend to fix JDK-8151622 also within the scope of this bug, as the two issues are related. Updated the priority of the current bug so that it matches the priority of JDK-8151622.
25-04-2016