RFR (S): JDK-8129855: -XX:+IgnoreUnrecognizedVMOptions hides out of range VM options.

gerard ziemski gerard.ziemski at oracle.com
Mon Sep 28 21:55:52 UTC 2015


hi all,

We are fixing how IgnoreUnrecognizedVMOptions treats those flags whose values are out of range. Before the fix, the VM 
would continue even if flag’s value was out of range, ex:

java_old -XX:+IgnoreUnrecognizedVMOptions -XX:MinTLABSize=0 -version
size_t MinTLABSize=0 is outside the allowed range [ 1 ... 4294967295 ]
java version "1.9.0-internal-fastdebug"
Java(TM) SE Runtime Environment (build 1.9.0-internal-fastdebug-20150624183527.jesper.main2rt-b00)
Java HotSpot(TM) Server VM (build 1.9.0-internal-fastdebug-20150624183527.jesper.main2rt-b00, mixed mode)

now, we correctly exit the VM with an error, ex:

java_new -XX:+IgnoreUnrecognizedVMOptions -XX:MinTLABSize=0 -version
size_t MinTLABSize=0 is outside the allowed range [ 1 ... 18446744073709551615 ]
Improperly specified VM option 'MinTLABSize=0'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

In addition IgnoreUnrecognizedVMOptions nows strictly follows the spec as outlined in JDK-8129855. The behavior changes 
depending on whether the build is product or debug.

We also introduce a new test that verifies all known use cases that we care about.

References:
      bugid: https://bugs.openjdk.java.net/browse/JDK-8129855
     webrev: http://cr.openjdk.java.net/~gziemski/8129855_rev0
discussion: http://mail.openjdk.java.net/pipermail/hotspot-dev/2015-June/019213.html

Passes "JPRT hotspot" and "RBT testlist,noncolo.testlist quick"


cheers


More information about the hotspot-dev mailing list