bug-classpath
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug classpath/111585] New: java.lang.Process does not fail when running


From: guillerodriguez.dev at gmail dot com
Subject: [Bug classpath/111585] New: java.lang.Process does not fail when running a non-existing binary
Date: Mon, 25 Sep 2023 08:38:38 +0000

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111585

            Bug ID: 111585
           Summary: java.lang.Process does not fail when running a
                    non-existing binary
           Product: classpath
           Version: 0.99
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: classpath
          Assignee: unassigned at gcc dot gnu.org
          Reporter: guillerodriguez.dev at gmail dot com
  Target Milestone: ---

Trying to run a non-existing binary via Runtime.exec or ProcessBuilder.start
does not fail. The java.lang.Process object is apparently created successfully,
and failure is only reported when Process.waitFor is called, making it
impossible to distinguish between "could not execute program" and "the executed
program finished with a non-success exit code".

Test code:

    Process process = Runtime.getRuntime().exec("dummy");
    System.out.println("waitFor: " + process.waitFor());

Output on JDK:

    Exception in thread "main" java.io.IOException: Cannot run program "dummy":
error=2, No such file or directory
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
        at java.lang.Runtime.exec(Runtime.java:621)
        at java.lang.Runtime.exec(Runtime.java:451)
        at java.lang.Runtime.exec(Runtime.java:348)
        at Run.main(Run.java:6)

Output on JamVM + Classpath:

    waitFor: -6


reply via email to

[Prev in Thread] Current Thread [Next in Thread]