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

Bengt Rutisson bengt.rutisson at oracle.com
Wed Feb 10 15:12:21 UTC 2016

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:

and the diff compared to the last one:

> Besides that it looks good.

Great! Thanks!


> /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