RFR 8080569: (process) java/lang/ProcessBuilder/DestroyTest.java fails with "Process terminated prematurely"
Lance Andersen
lance.andersen at oracle.com
Mon Jan 14 18:48:16 UTC 2019
Hi Roger,
The changes look reasonable to me!
Best
Lance
> On Jan 14, 2019, at 11:56 AM, Roger Riggs <Roger.Riggs at oracle.com> wrote:
>
> Please review removing a test for Process.destroy(). [1]
> It fails intermittently and is based on an incorrect assumption.
>
> The child is a bash script that uses trap to ignore SIGTERM. The child is started and then sent SIGTERM.
> The child should not terminate. However, there is a race in which in some cases the child does terminate
> with SIGPIPE (not SIGTERM) as a result of destroy() closing the streams.
>
> The Process implementation on Unix closes the streams after sending the SIGTERM signal
> and has since (forever...). But this behavior is not documented.
>
> This test of destroy() is invalid and should be removed. Since both Mac OS and Windows
> already skip the testing of destroy() the test is simplified to remove it from all cases.
>
> A separate issue[2] has been created to consider documenting the
> Process implementations' closing of the streams.
>
> Webrev:
> http://cr.openjdk.java.net/~rriggs/webrev-destroytest-8080569-2/
>
> Thanks, Roger
>
> [1] https://bugs.openjdk.java.net/browse/JDK-8080569
> [2] https://bugs.openjdk.java.net/browse/JDK-8216990
>
<http://oracle.com/us/design/oracle-email-sig-198324.gif>
<http://oracle.com/us/design/oracle-email-sig-198324.gif> <http://oracle.com/us/design/oracle-email-sig-198324.gif>
<http://oracle.com/us/design/oracle-email-sig-198324.gif>Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
Oracle Java Engineering
1 Network Drive
Burlington, MA 01803
Lance.Andersen at oracle.com <mailto:Lance.Andersen at oracle.com>
More information about the core-libs-dev
mailing list