oracle/graal · error · IllegalArgumentException

The condition 0 <= %s <= %s must be satisfied.

Error message

The condition 0 <= %s <= %s must be satisfied.

What it means

Error "The condition 0 <= %s <= %s must be satisfied." thrown in oracle/graal.

Source

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

            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());
            hotCompilationUnitPolicy.setHotPercentile(percentileArgument.getValue());
            return hotCompilationUnitPolicy;
        }

View on GitHub (pinned to a66e9ccd1d)

Solutions

  1. Fix the condition reported by the error: The condition 0 <= {} <= {} must be satisfied.
  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 condition 0 <= {} <= {} must be satisfied.

When it happens

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

Common situations: Occurs when a caller violates the contract guarded by this check: The condition 0 <= {} <= {} must be satisfied.


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