{"record":{"id":"49fde31692cac285","repo":"oracle/graal","slug":"interrupted-waiting-for-command-s-n-s","errorCode":null,"errorMessage":"Interrupted waiting for command: %s%n%s","messagePattern":"Interrupted waiting for command: (.+?)%n(.+?)","errorType":"panic","errorClass":"GraalError","httpStatus":null,"severity":"error","filePath":"compiler/src/jdk.graal.compiler.libgraal/src/jdk/graal/compiler/libgraal/GetJNIConfig.java","lineNumber":104,"sourceCode":"        String[] command = {javaExe.toFile().getAbsolutePath(), \"-XX:+UnlockExperimentalVMOptions\", \"-XX:+EnableJVMCI\", \"-XX:JVMCILibDumpJNIConfig=\" + configFilePath};\n        quotedCommand = Stream.of(command).map(e -> e.indexOf(' ') == -1 ? e : '\\'' + e + '\\'').collect(Collectors.joining(\" \"));\n        ProcessBuilder pb = new ProcessBuilder(command);\n        pb.redirectErrorStream(true);\n        Process p;\n        try {\n            p = pb.start();\n        } catch (IOException e) {\n            throw new GraalError(e, \"Could not run command: %s\", quotedCommand);\n        }\n\n        String nl = System.lineSeparator();\n        String out = new BufferedReader(new InputStreamReader(p.getInputStream())).lines().collect(Collectors.joining(nl));\n\n        int exitValue;\n        try {\n            exitValue = p.waitFor();\n        } catch (InterruptedException e) {\n            throw new GraalError(e, \"Interrupted waiting for command: %s%n%s\", quotedCommand, out);\n        }\n        if (exitValue != 0) {\n            throw new GraalError(\"Command finished with exit value %d: %s%n%s\", exitValue, quotedCommand, out);\n        }\n        try {\n            lines = Files.readAllLines(configFilePath);\n        } catch (IOException e) {\n            Path cfp = configFilePath;\n            configFilePath = null;\n            throw new GraalError(\"Reading JNI config in %s dumped by command: %s%n%s\", cfp, quotedCommand, out);\n        }\n    }\n\n    static Path getJavaExe(Path javaHome) {\n        boolean isWindows = GraalServices.getSavedProperty(\"os.name\").contains(\"Windows\");\n        Path javaExe = javaHome.resolve(Path.of(\"bin\", isWindows ? \"java.exe\" : \"java\"));\n        if (!Files.isExecutable(javaExe)) {\n            throw new GraalError(\"Java launcher %s does not exist or is not executable\", javaExe);","sourceCodeStart":86,"sourceCodeEnd":122,"githubUrl":"https://github.com/oracle/graal/blob/a66e9ccd1d7bf2552883939aa0788dfd0e294aab/compiler/src/jdk.graal.compiler.libgraal/src/jdk/graal/compiler/libgraal/GetJNIConfig.java#L86-L122","documentation":"Error \"Interrupted waiting for command: %s%n%s\" thrown in oracle/graal.","triggerScenarios":"Thrown at compiler/src/jdk.graal.compiler.libgraal/src/jdk/graal/compiler/libgraal/GetJNIConfig.java:104 when the library encounters an invalid state.","commonSituations":"Occurs when a caller violates the contract guarded by this check: Interrupted waiting for command: {} {}","solutions":["Fix the condition reported by the error: Interrupted waiting for command: {} {}","Check the throwing call site and ensure its documented preconditions (argument values, types, environment, or configuration) are satisfied before the call."],"exampleFix":"Validate inputs and environment so that the failing condition does not occur: Interrupted waiting for command: {} {}","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a66e9ccd1d7bf2552883939aa0788dfd0e294aab","analyzedAt":"2026-08-14T13:58:47.161Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}