RFR: JDK-8235738: tools/jpackage/macosx/NameWithSpaceTest.java failed due to exit code 134
andy.herrick at oracle.com
Fri Dec 13 14:16:52 UTC 2019
I approve these changes.
My first thought was that, if reading output only after Process is
complete is valid and safe, then why not do it that way all the time ?
But comment in Process javadoc: "Because some native platforms only
provide limited buffer size for standard input and output streams,
failure to promptly write the input stream or read the output stream of
the process may cause the process to block, or even deadlock." indicates
is is prudent to do this only when necessary.
My second thought is that this indicates an underlying unidentified bug
in the mac native code used by Process or ProcessBuilder , and although
it would be better to identify and resolve the underlying problem, the
fix is needed now, so this change seems appropriate.
On 12/13/2019 1:01 AM, Alexander Matveev wrote:
> Please review fix  for jpackage bug .
> Not sure why it happens, but reading output from "hdiutil attach" was
> not exiting immediately after process terminated with delays upto 20
> seconds always and in some case upto 10 minutes and thus test was
> timeout. Only possible workaround found is to wait for "hdiutil
> attach" process to exit before reading output. In this case call to
> "hdiutil attach" and reading output happens very fast and does not
> hang for long time. Generating simple DMG image went from ~40 seconds
> to ~20 seconds after fix. Test was done with verbose output enabled.
>  https://bugs.openjdk.java.net/browse/JDK-8235738
>  http://cr.openjdk.java.net/~almatvee/8235738/webrev.00/
More information about the core-libs-dev