diff --git a/src/jdk.jfr/share/classes/jdk/jfr/internal/Utils.java b/src/jdk.jfr/share/classes/jdk/jfr/internal/Utils.java index 35586615672..c8349ad6caa 100644 --- a/src/jdk.jfr/share/classes/jdk/jfr/internal/Utils.java +++ b/src/jdk.jfr/share/classes/jdk/jfr/internal/Utils.java @@ -126,9 +126,9 @@ private static enum TimespanUnit { } } - // Tjis method can't handle Long.MIN_VALUE because absolute value is negative + // handle Long.MIN_VALUE as a special case since its absolute value is negative private static String formatDataAmount(String formatter, long amount) { - int exp = (int) (Math.log(Math.abs(amount)) / Math.log(1024)); + int exp = (amount == Long.MIN_VALUE) ? 6 : (int) (Math.log(Math.abs(amount)) / Math.log(1024)); char unitPrefix = "kMGTPE".charAt(exp - 1); return String.format(formatter, amount / Math.pow(1024, exp), unitPrefix); }