JDK-8211844 [aix] ProcessBuilder: Piping between created processes does not work.

Lindenmaier, Goetz goetz.lindenmaier at sap.com
Fri Dec 7 14:51:13 UTC 2018


Hi,

To me, the change looks good, too.  I just wondered whether solaris needs 
to be fixed, too.  But I don’t see the test failing on solaris.

The bug needs to be removed from the ProblemList in the change, though.
See also
http://cr.openjdk.java.net/~goetz/wr18/sgroeger/8211844-aix_pipe_proc/01/

I would sponsor this issue.

Best regards,
  Goetz.



> -----Original Message-----
> From: core-libs-dev <core-libs-dev-bounces at openjdk.java.net> On Behalf
> Of Volker Simonis
> Sent: Friday, December 7, 2018 9:05 AM
> To: Steve Groeger <GROEGES at uk.ibm.com>; Java Core Libs <core-libs-
> dev at openjdk.java.net>
> Cc: ppc-aix-port-dev at openjdk.java.net
> Subject: Re: JDK-8211844 [aix] ProcessBuilder: Piping between created
> processes does not work.
> 
> Hi Steve,
> 
> thanks a lot for this fix. I'm forwarding this to core-libs-dev as
> well, because that's where the review has to take place. The
> "ppc-aix-port-dev" list is mostly a marker for the port maintainers to
> get their attention on relevant changes (so cross-posting is fine in
> this case :)
> 
> On Thu, Dec 6, 2018 at 4:26 PM Steve Groeger <GROEGES at uk.ibm.com>
> wrote:
> >
> > 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]);
> >
> 
> Your change looks good and I can sponsor it. Just as a hint for other
> reviewers I'd like to mention that this change, albeit in a shared
> Java file, is still AIX-only because it is in the "AIX" case of a
> switch statement.
> 
> @Steve: can you please verify, that your change introduces no
> regression by running the complete jtreg test suite.
> 
> Thank you and best regards,
> Volker
> 
> > 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 at 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


More information about the core-libs-dev mailing list