RFR: JDK-8149541: Use log_error() instead of log_info() when verification reports a problem

Jesper Wilhelmsson jesper.wilhelmsson at oracle.com
Wed Feb 10 15:25:53 UTC 2016


Looks good!
/Jesper

Den 10/2/16 kl. 16:12, skrev Bengt Rutisson:
>
> Hi Jesper,
>
> Thanks for looking at this!
>
> On 2016-02-10 15:41, Jesper Wilhelmsson wrote:
>> Hi,
>>
>> Slightly unrelated to the actual change, but the "Verification failed" message
>> in concurrentMarkSweepGeneration.cpp could be a bit more informative, similar
>> to the message printed by the fatal call below. I was about to write that the
>> log message was redundant due to this fatal call, but the log message in the
>> fatal call looks like it's not printed on all platforms.
>
> Sounds good. Here's an updated webrev:
> http://cr.openjdk.java.net/~brutisso/8149541/webrev.00/
>
> and the diff compared to the last one:
> http://cr.openjdk.java.net/~brutisso/8149541/webrev.00-01.diff/
>
>>
>> Besides that it looks good.
>
> Great! Thanks!
>
> Bengt
>
>> /Jesper
>>
>>
>> Den 10/2/16 kl. 13:43, skrev Bengt Rutisson:
>>>
>>> Hi everyone,
>>>
>>> Could I have a couple of reviews for this change?
>>>
>>> http://cr.openjdk.java.net/~brutisso/8149541/webrev.00/
>>> https://bugs.openjdk.java.net/browse/JDK-8149541
>>>
>>> When the GC code was converted to use the unified logging framework the
>>> verification logging was changed to mostly use:
>>>
>>> log_info(gc, vefiy)("Information about verification failure");
>>>
>>> The problem with this is that some verification, in particular in G1, does not
>>> report the relevant information in asserts and guarnatee messages. Instead the
>>> information is logged ahead of time and at some later point there is something
>>> like a "guarantee(false, "Verification failed.");"
>>>
>>> So, to know what went wrong you really need the information that was logged.
>>> However when it is logged on log_info(gc, verify) you need to have remembered to
>>> set -Xlog:gc* on the command line to get this information.
>>>
>>> A better solution is to log failure information at the error level. That way it
>>> is always logged.
>>>
>>> Thanks,
>>> Bengt
>


More information about the hotspot-gc-dev mailing list