RFR: 8067235: embedded/minvm/checknmt fails on compact1 and compact2 with minimal VM
David Holmes
david.holmes at oracle.com
Tue Apr 7 03:40:30 UTC 2015
The bug report for this is not public but the problem is pretty
straight-forward. When the NMT2 changes were pushed:
https://bugs.openjdk.java.net/browse/JDK-8046598
there was an error in the conditional processing of the
-XX:NativeMemoryTracking argument in relation to the INCLUDE_NMT build
variable. All of the processing logic was inside the ifdef and there was
no #else to report that NMT was disabled.
webrev: http://cr.openjdk.java.net/~dholmes/8067235/webrev/
Inline patch below.
Testing: JPRT and use of minimal VM:
Before:
java -minimal -XX:NativeMemoryTracking=detail -version
java version "1.9.0-ea"
Java(TM) SE Embedded Runtime Environment (build 1.9.0-ea-b58)
Java HotSpot(TM) Embedded Minimal VM (build 1.9.0-ea-b58, mixed mode)
After:
java -minimal -XX:NativeMemoryTracking=detail -version
Native Memory Tracking is not supported in this VM
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
This mirrors the output as it previously given in JDK 8.
Thanks,
David
-----
--- old/src/share/vm/runtime/arguments.cpp 2015-04-06 23:13:21.405601011
-0400
+++ new/src/share/vm/runtime/arguments.cpp 2015-04-06 23:13:20.029521710
-0400
@@ -3714,8 +3714,8 @@
CommandLineFlags::printFlags(tty, false);
vm_exit(0);
}
-#if INCLUDE_NMT
if (match_option(option, "-XX:NativeMemoryTracking", &tail)) {
+#if INCLUDE_NMT
// The launcher did not setup nmt environment variable properly.
if (!MemTracker::check_launcher_nmt_support(tail)) {
warning("Native Memory Tracking did not setup properly, using
wrong launcher?");
@@ -3731,9 +3731,12 @@
vm_exit_during_initialization("Syntax error, expecting
-XX:NativeMemoryTracking=[off|summary|detail]", NULL);
}
continue;
- }
+#else
+ jio_fprintf(defaultStream::error_stream(),
+ "Native Memory Tracking is not supported in this VM\n");
+ return JNI_ERR;
#endif
-
+ }
More information about the hotspot-runtime-dev
mailing list