RFR: 8146632: Add descriptive error messages for removed non-product logging flags.

harold seigel harold.seigel at oracle.com
Wed Mar 16 19:03:53 UTC 2016


Hi Max,

Looks good.  Thanks for adding VerboseVerification.

One nit, you may want to move the declaration of "const char* 
replacement;" so that it is under the #ifndef PRODUCT, perhaps like this?

1224 #ifndef PRODUCT
1225 else { const char* replacement;  if ((replacement = 
removed_develop_logging_flag_name(stripped_argname)) != NULL){
1226 jio_fprintf(defaultStream::error_stream(),
1227 "%s has been removed. Please use %s instead.\n", stripped_argname, 
replacement);
1228 return false; } } 1229 #endif


Thanks, Harold

On 3/16/2016 2:05 PM, Max Ockner wrote:
> webrev: http://cr.openjdk.java.net/~mockner/8146632.02/
>  - Labeled #endif with // PRODUCT
>  - refactored table lookup code to only do lookup once.
>  - Added VerboseVerification to the table.
>
> Comments below.
>
> On 3/16/2016 1:48 AM, David Holmes wrote:
>> Hi Max,
>>
>> On 16/03/2016 3:45 AM, Max Ockner wrote:
>>> Hello again everyone!
>>>
>>> Please review this change which adds better error messages for
>>> non-product flags that are now converted to Unified Logging.
>>>
>>> bug: https://bugs.openjdk.java.net/browse/JDK-8146632
>>> webrev: http://cr.openjdk.java.net/~mockner/8146632/
>>>
>>> Since these options have been removed, we want still want the vm to
>>> crash here, but now with an error message giving the correct command
>>> line option. The new message looks like this:
>>>
>>>  > TraceClassInitialization has been removed. Please use 
>>> -Xlog:classinit
>>> instead."
>>>
>>> The entire output looks like this:
>>>
>>>  > TraceClassInitialization has been removed. Please use 
>>> -Xlog:classinit
>>> instead.
>>>  > Error: Could not create the Java Virtual Machine.
>>>  > Error: A fatal exception has occurred. Program will exit.
>>
>> I'm concerned that this has introduced another variant of "flag 
>> deprecation". It begs the question as to when this new code should be 
>> removed. Maybe we need to add "replaced" as another type of flag 
>> change so we can report in 9 the flag has been replaced and then in 
>> 10 just report an "unknown option" error ?
>>
>> Thanks,
>> David
>>
> Seems appropriate to report a specific error message for 9 and then 
> remove it for 10. If it would help, we can store a Version in the 
> table to keep track of when each entry needs to be deleted, like what 
> is done in the table of obsolete flags.
>>> Tested with jtreg runtime tests. A new test checks for an appropriate
>>> error message for every develop flag that has so far been converted to
>>> logging.
>>>
>>> Thanks,
>>> Max
>>>
>>>
>



More information about the hotspot-runtime-dev mailing list