Hi Steve,

 

Thanks for this fix!

I made a webrev for it, and also would sponsor it:

http://cr.openjdk.java.net/~goetz/wr18/sgroeger/8211844-aix_pipe_proc/01/

 

I also added a patch to remove the test from the problem list.

The ProblemList is used to exclude tests known to be failing.

 

I think this needs to be reviewed on hotspot-runtime-dev. But I’m not

sure, maybe core-libs-dev is the better list.

If you post there, point me to it (in case I miss it) and I’ll send a formal

review.  I also put it into our testing.

 

Should this be fixed for Solaris, too?  I didn’t see the problem there,

though.

 

Best regards,

  Goetz.

 

 

 

From: Steve Groeger <GROEGES@uk.ibm.com>
Sent: Thursday, December 6, 2018 4:26 PM
To: ppc-aix-port-dev <ppc-aix-port-dev@openjdk.java.net>
Cc: Lindenmaier, Goetz <goetz.lindenmaier@sap.com>
Subject: JDK-8211844 [aix] ProcessBuilder: Piping between created processes does not work.

 

Hi all,

I have been investigating the issue https://bugs.openjdk.java.net/browse/JDK-8211844 raised by Goetz Lindenmaier which is related to the
jdk/java/lang/ProcessBuilder/PipelineTest.java JTReg test failing on AIX. Having done some investigation I have a potential fix fore the issue:


diff -r 9501a7b59111 src/java.base/unix/classes/java/lang/ProcessImpl.java
--- a/src/java.base/unix/classes/java/lang/ProcessImpl.java     Mon Dec 03 14:28:19 2018 +0300
+++ b/src/java.base/unix/classes/java/lang/ProcessImpl.java     Thu Dec 06 15:01:03 2018 +0000
@@ -446,7 +446,7 @@
                         ProcessBuilder.NullOutputStream.INSTANCE :
                         new ProcessPipeOutputStream(fds[0]);

-                stdout = (fds[1] == -1) ?
+                stdout = (fds[1] == -1 || forceNullOutputStream) ?
                          ProcessBuilder.NullInputStream.INSTANCE :
                          new DeferredCloseProcessPipeInputStream(fds[1]);

I would appreciate any feedback please, and for someone to be a sponsor for this and to contributute it to OpenJDK.

Steve Groeger
IBM Runtime Technologies
Hursley, Winchester
Tel: (44) 1962 816911  Mobex: 279990  Mobile: 07718 517 129
Fax (44) 1962 816800
Lotus Notes: Steve Groeger/UK/IBM
Internet: groeges@uk.ibm.com

Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU