RFR: 8145235: Deprecate product flags that have been converted to Unified Logging

Rachel Protacio rachel.protacio at oracle.com
Fri Mar 25 16:23:34 UTC 2016


Thanks, Coleen :) Fixed as requested.
Rachel

On 3/25/2016 12:15 PM, Coleen Phillimore wrote:
>
>
> On 3/25/16 12:09 PM, Dmitry Dmitriev wrote:
>> Rachel,
>>
>> Thank you for fixing that! One missing change: 'max_tagset_size - 
>> strlen(tagset_buffer) - 1' must be instead of '1' in strncat on line 
>> 989. Not need a new webrev for that.
>
> Yes, this is a really good code review.   Just to make it a bit 
> shorter, you could declare the constant max_tagset_len = 
> max_tagset_size - 1.
>
> Just to prove I really looked at it, there is also a space that should 
> be removed here:
>
> 978 void log_deprecated_flag( const char* name, const char* pref, 
> AliasedLoggingFlag alf) {
>
>
> I don't need to see it again for that though.
> Thanks,
> Coleen
>
>>
>> Dmitry
>>
>> On 25.03.2016 19:01, Rachel Protacio wrote:
>>> Hi, Dmitry,
>>>
>>> Wow, thank you for catching all of those! You were right, they were 
>>> oversights on my part. I have fixed accordingly: 
>>> http://cr.openjdk.java.net/~rprotacio/8145235.03/
>>>
>>> Rachel
>>>
>>> On 3/25/2016 10:55 AM, Dmitry Dmitriev wrote:
>>>> Hi Rachel,
>>>>
>>>> Few comments/questions about arguments.cpp:
>>>> 1) I see that AliasedLoggingFlag contains six LogTagType from tag0 
>>>> to tag5, but 'LogTagType tagSet' contains only up to 'tag4'. Is it 
>>>> correct?
>>>>
>>>> 2) I think that you can declare tagSet without specifying explicit 
>>>> size, i.e. ' LogTagType tagSet[] = {...}'. This can help in future 
>>>> if size of the arrays is increased. In this case the number of 
>>>> elements will be 'sizeof(tagset)/sizeof(tagset[0])', i.e. you can 
>>>> change 'i < 5' to 'i < sizeof(tagset)/sizeof(tagset[0])'. Fell free 
>>>> to implement this suggestion or not!
>>>>
>>>> 3) I think that third argument to strncat on line 990 should be 
>>>> 'max_tagset_size - strlen(tagset_buffer) - 1' to have space for 
>>>> termination '0' byte.
>>>>
>>>> 4) Also, I think that  'max_tagset_size - strlen(tagset_buffer) - 
>>>> 1' must be instead of '1' in strncat on line 988.
>>>>
>>>> 5) I think that instead of 'memset(tagset_buffer, 0, 
>>>> max_tagset_size);' on line 983 you can just write tagset_buffer[0] 
>>>> = '\0';
>>>>
>>>> Thank you,
>>>> Dmitry
>>>>
>>>> On 24.03.2016 23:31, Rachel Protacio wrote:
>>>>> Hi,
>>>>>
>>>>> Thanks for pointing that out. I realized I could save some code by 
>>>>> using strncat(), so I did that instead.
>>>>> http://cr.openjdk.java.net/~rprotacio/8145235.02/
>>>>>
>>>>> Thanks,
>>>>> Rachel
>>>>>
>>>>> On 3/24/2016 3:52 PM, Coleen Phillimore wrote:
>>>>>>
>>>>>> Hi Rachel,
>>>>>>
>>>>>> http://cr.openjdk.java.net/~rprotacio/8145235.01/src/share/vm/runtime/arguments.cpp.udiff.html 
>>>>>>
>>>>>> I think you need strncpy to make sure your tagset buffer doesn't 
>>>>>> overflow.
>>>>>>
>>>>>> Coleen
>>>>>>
>>>>>> On 3/24/16 3:37 PM, Rachel Protacio wrote:
>>>>>>> Thanks for the review! And good point. It's to the 'arguments' 
>>>>>>> tag to follow the gc team's logging-deprecation precedent. 
>>>>>>> Here's a new webrev updating your non-product error messages to 
>>>>>>> follow this scheme as well: 
>>>>>>> http://cr.openjdk.java.net/~rprotacio/8145235.01/
>>>>>>>
>>>>>>> Builds and passes logging/RemovedDevelopFlagsTest.java.
>>>>>>>
>>>>>>> Rachel
>>>>>>>
>>>>>>> On 3/24/2016 10:56 AM, Max Ockner wrote:
>>>>>>>> Rachel,
>>>>>>>> This looks fine. Why are we logging this message to arguments 
>>>>>>>> tag? Should we be logging the non-product error messages  to 
>>>>>>>> arguments as well?
>>>>>>>> Thanks,
>>>>>>>> Max
>>>>>>>> On 3/22/2016 3:21 PM, Rachel Protacio wrote:
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> Please review this enhancement that prints a deprecation 
>>>>>>>>> message for the product flags we have aliased to UL options. 
>>>>>>>>> We wanted to mimic the GC deprecation messages as seen in 
>>>>>>>>> arguments.cpp, e.g.
>>>>>>>>>
>>>>>>>>>    log_warning(gc)("-XX:+PrintGCDetails is deprecated. Will use
>>>>>>>>>    -Xlog:gc* instead.");
>>>>>>>>>
>>>>>>>>> I have logged our deprecation messages to a new tag 
>>>>>>>>> 'arguments' at the 'warning' level (warning-level logging is 
>>>>>>>>> always printed, without having to be directly specified in the 
>>>>>>>>> command line).
>>>>>>>>>
>>>>>>>>> Basic sample output:
>>>>>>>>>
>>>>>>>>>    $ java -XX:+TraceMonitorInflation -version
>>>>>>>>>    [0.001s][warning][arguments] -XX:+TraceMonitorInflation is
>>>>>>>>>    deprecated. Will use -Xlog:monitorinflation=debug instead.
>>>>>>>>>    ...
>>>>>>>>>
>>>>>>>>> Sample output with "-"/"off" and multiple tags:
>>>>>>>>>
>>>>>>>>>    $ java -XX:-TraceClassLoadingPreorder -version
>>>>>>>>>    [0.001s][warning][arguments] -XX:-TraceClassLoadingPreorder is
>>>>>>>>>    deprecated. Will use -Xlog:classload,preorder=off instead.
>>>>>>>>>    ...
>>>>>>>>>
>>>>>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8145235
>>>>>>>>> Open webrev: http://cr.openjdk.java.net/~rprotacio/8145235/
>>>>>>>>>
>>>>>>>>> Tested locally for robustness w.r.t. multi-tag tagsets, 
>>>>>>>>> multiple aliased flags, etc.
>>>>>>>>>
>>>>>>>>> Thank you,
>>>>>>>>> Rachel
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>



More information about the hotspot-dev mailing list