oracle/graal · error · GraalError

Java launcher %s does not exist or is not executable

Error message

Java launcher %s does not exist or is not executable

What it means

Error "Java launcher %s does not exist or is not executable" thrown in oracle/graal.

Source

Thrown at compiler/src/jdk.graal.compiler.libgraal/src/jdk/graal/compiler/libgraal/GetJNIConfig.java:122

            throw new GraalError(e, "Interrupted waiting for command: %s%n%s", quotedCommand, out);
        }
        if (exitValue != 0) {
            throw new GraalError("Command finished with exit value %d: %s%n%s", exitValue, quotedCommand, out);
        }
        try {
            lines = Files.readAllLines(configFilePath);
        } catch (IOException e) {
            Path cfp = configFilePath;
            configFilePath = null;
            throw new GraalError("Reading JNI config in %s dumped by command: %s%n%s", cfp, quotedCommand, out);
        }
    }

    static Path getJavaExe(Path javaHome) {
        boolean isWindows = GraalServices.getSavedProperty("os.name").contains("Windows");
        Path javaExe = javaHome.resolve(Path.of("bin", isWindows ? "java.exe" : "java"));
        if (!Files.isExecutable(javaExe)) {
            throw new GraalError("Java launcher %s does not exist or is not executable", javaExe);
        }
        return javaExe;
    }

    @Override
    public void close() {
        if (configFilePath != null && Files.exists(configFilePath)) {
            try {
                Files.delete(configFilePath);
                configFilePath = null;
            } catch (IOException e) {
                throw new GraalError(e, "Could not delete %s", configFilePath);
            }
        }
    }

    public static Class<?> forPrimitive(String name) {
        return switch (name) {

View on GitHub (pinned to a66e9ccd1d)

Solutions

  1. Fix the condition reported by the error: Java launcher {} does not exist or is not executable
  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: Java launcher {} does not exist or is not executable

When it happens

Trigger: Thrown at compiler/src/jdk.graal.compiler.libgraal/src/jdk/graal/compiler/libgraal/GetJNIConfig.java:122 when the library encounters an invalid state.

Common situations: Occurs when a caller violates the contract guarded by this check: Java launcher {} does not exist or is not executable


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