-
Bug
-
Resolution: Fixed
-
P3
-
8u112, 9
-
b120
-
sparc
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 toJDK-8151622 or JDK-8153292
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
- relates to
-
JDK-8153292 AllocateInstancePrefetchLines>AllocatePrefetchLines can trigger out-of-heap prefetching
-
- Closed
-
-
JDK-8151622 AllocatePrefetchStyle 2 is incompatible with AllocatePrefetchInstr 1
-
- Closed
-
-
JDK-8157560 Reserve space for allocation prefetch only in builds that support allocation prefetching
-
- Resolved
-
-
JDK-8151622 AllocatePrefetchStyle 2 is incompatible with AllocatePrefetchInstr 1
-
- Closed
-