When jspawnhelper fails for whatever reason, but more prominently due to 
[JDK-8325621](https://bugs.openjdk.org/browse/JDK-8325621), it will report the 
errors into stdout, but not to the relevant `IOException`. So, if the 
application is configured to only capture the exception logs (e.g. through 
`java.util.logging`), we will miss any output from `jspawnhelper`, and user 
would be left without a clue what have happened. We have seen customers 
spending weeks trying to figure out what went wrong.

It would be good to provide useful `IOException` when `jspawnhelper` fails. We 
already have a precedent with vmError [printing helpful 
suggestions](https://github.com/openjdk/jdk/blob/master/src/hotspot/share/utilities/vmError.cpp#L422)
 when VM fails, we can do a similar thing here. 

I am very open to bike-shedding about the actual message :)

Additional testing:
 - [x] Ad-hoc experiments with breaking jspawnhelper
 - [x] macos-aarch64-server-fastdebug, `java/lang/Process 
java/lang/ProcessBuilder`

-------------

Commit messages:
 - Initial fix

Changes: https://git.openjdk.org/jdk/pull/24149/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24149&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8352533
  Stats: 57 lines in 2 files changed: 41 ins; 0 del; 16 mod
  Patch: https://git.openjdk.org/jdk/pull/24149.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/24149/head:pull/24149

PR: https://git.openjdk.org/jdk/pull/24149

Reply via email to