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 14:41:20 UTC 2016


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.

Besides that it looks good.
/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