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