Request for review: 8006298: Specifying malformed JFR options (--XX:+FlightRecorderOptions) outputs non-sensical error

Mikael Vidstedt mikael.vidstedt at
Wed Jan 30 17:33:24 PST 2013


Thanks for doing this, I like the improved messages a lot!

One small question:

The first argument to process_argument is a "const char* arg". argname 
is also const, based on arg. You do this:

char* equal_sign = (char *)strrchr(argname, '=');
if (equal_sign > argname)
equal_sign[0] = 0;

Doesn't that effectively break the const'ness of the incoming argument?


On 2013-01-30 10:51, harold seigel wrote:
> Hi,
> Please review the following change to fix bug 8006298.
> Summary:
> This change enables hotspot to emit more useful messages when Java 
> options are specified incorrectly.
> This was tested using JCK, UTE, and JTREG tests, and by hand. Below 
> are the test cases that were run by hand.  Please let me know if you 
> have any additional suggestions.  (The "Error:..." messages appeared 
> in all cases but are only shown for the initial case.)
>     $JAVA_HOME/bin/java -XX:UseLargePages -version
>     Missing +/- setting for VM option 'UseLargePages'
>     Error: Could not create the Java Virtual Machine.
>     Error: A fatal exception has occurred. Program will exit.
>     $JAVA_HOME/bin/java -XX:+UseLargePages=8 -version
>     Improperly specified VM option 'UseLargePages'
>     $JAVA_HOME/bin/java -XX:ObjectAlignmentInBytes=v -version
>     Improperly specified VM option 'ObjectAlignmentInBytes'
>     $JAVA_HOME/bin/java -XX:-ObjectAlignmentInBytes=16 -version
>     Unexpected +/- setting in VM option 'ObjectAlignmentInBytes' <--
>     64 bit VM's
>     Unrecognized VM option 'ObjectAlignmentInBytes' <-- 32 bit VM's
>     $JAVA_HOME/bin/java -XX:bogus_option -version
>     Unrecognized VM option 'bogus_option'
> Open webrev at 
> <>
> Bug link at
> Thanks!  Harold

-------------- next part --------------
An HTML attachment was scrubbed...

More information about the hotspot-runtime-dev mailing list