oracle/graal · error · IllegalArgumentException

The hot method percentile must be in the range [0;1].

Error message

The hot method percentile must be in the range [0;1].

What it means

Error "The hot method percentile must be in the range [0;1]." thrown in oracle/graal.

Source

Thrown at compiler/src/org.graalvm.profdiff/src/org/graalvm/profdiff/Profdiff.java:111

                            "--sort-inlining-tree", true, "sort inlining tree nodes by (bci, name)");
            sortUnorderedPhasesArgument = argumentParser.addBooleanArgument(
                            "--sort-unordered-phases", true, "sort the children of optimization phases where order is not important");
            removeVeryDetailedPhasesArgument = argumentParser.addBooleanArgument(
                            "--remove-detailed-phases", true, "remove phases which perform many optimizations");
            pruneIdentitiesArgument = argumentParser.addBooleanArgument(
                            "--prune-identities", true, "show only differences when trees are compared");
            createFragmentsArgument = argumentParser.addBooleanArgument(
                            "--create-fragments", true, "create compilation fragments from inlinees in hot compilation units");
            inlinerReasoningArgument = argumentParser.addBooleanArgument(
                            "--inliner-reasoning", false, "always print the reasoning for inlining decisions");
            commandGroup = argumentParser.addCommandGroup(
                            "command", "the action to invoke");
        }

        public void parseAndVerifyArguments(String[] args) throws Exception {
            argumentParser.parse(args);
            if (percentileArgument.getValue() > 1 || percentileArgument.getValue() < 0) {
                throw new IllegalArgumentException("The hot method percentile must be in the range [0;1].");
            }
            if (hotMinArgument.getValue() < 0 || hotMinArgument.getValue() > hotMaxArgument.getValue()) {
                throw new IllegalArgumentException(String.format("The condition 0 <= %s <= %s must be satisfied.", hotMinArgument.getName(), hotMaxArgument.getName()));
            }
        }

        public CommandGroup getCommandGroup() {
            return commandGroup;
        }

        public ProgramArgumentParser getArgumentParser() {
            return argumentParser;
        }

        private HotCompilationUnitPolicy getHotCompilationUnitPolicy() {
            HotCompilationUnitPolicy hotCompilationUnitPolicy = new HotCompilationUnitPolicy();
            hotCompilationUnitPolicy.setHotMinLimit(hotMinArgument.getValue());
            hotCompilationUnitPolicy.setHotMaxLimit(hotMaxArgument.getValue());

View on GitHub (pinned to a66e9ccd1d)

Solutions

  1. Fix the condition reported by the error: The hot method percentile must be in the range [0;1].
  2. Check the throwing call site and ensure its documented preconditions (argument values, types, environment, or configuration) are satisfied before the call.

Example fix

Validate inputs and environment so that the failing condition does not occur: The hot method percentile must be in the range [0;1].

When it happens

Trigger: Thrown at compiler/src/org.graalvm.profdiff/src/org/graalvm/profdiff/Profdiff.java:111 when the library encounters an invalid state.

Common situations: Occurs when a caller violates the contract guarded by this check: The hot method percentile must be in the range [0;1].


AI-assisted analysis of oracle/graal@a66e9ccd1d (2026-08-14). Data as JSON: /api/errors/1808a7ad1cc45a52. Report an issue: GitHub.