diff --git a/src/main/java/com/google/devtools/build/lib/profiler/Profiler.java b/src/main/java/com/google/devtools/build/lib/profiler/Profiler.java index c2369e237418b4..9284b70f4210e7 100644 --- a/src/main/java/com/google/devtools/build/lib/profiler/Profiler.java +++ b/src/main/java/com/google/devtools/build/lib/profiler/Profiler.java @@ -1021,7 +1021,14 @@ private static long getSortIndex(String threadName) { return MAX_SORT_INDEX; } - long extractedNumber = Long.parseLong(numberMatcher.group()); + long extractedNumber; + try { + extractedNumber = Long.parseLong(numberMatcher.group()); + } catch (NumberFormatException e) { + // If the number cannot be parsed, e.g. is larger than a long, the actual position is not + // really relevant. + return MAX_SORT_INDEX; + } if (threadName.startsWith("skyframe-evaluator")) { return SKYFRAME_EVALUATOR_SHIFT + extractedNumber;