RFR: 8282219: jdk/java/lang/ProcessBuilder/Basic.java fails on AIX [v4]
Thomas Stuefe
stuefe at openjdk.java.net
Fri Feb 25 07:42:56 UTC 2022
On Thu, 24 Feb 2022 18:51:08 GMT, Roger Riggs <rriggs at openjdk.org> wrote:
>> Ichiroh Takiguchi has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Add null check
>
> The piece I was missing is that the HotSpot AIX specific code, computes and sets LIBPATH based on
> the path to the java executable. This computed LIBPATH value is set in the environment unless
> it is overridden by an existing LIBPATH in the environment.
>
> The test cases that failed, do not supply a value for LIBPATH so the launcher provided value is inserted
> and thereafter reported as the environment from the child process.
>
> Since both of these tests are testing a different condition not related to LIBPATH,
> the presence/accuracy of LIBPATH is not the point of the test.
>
> The current solution to remove `test.nativepath` works and is ok by me.
>
> (The alternative used by #7581, to include LIBPATH in the environment when launching might be slightly more robust to future changes.)
>
> Thanks for the followup.
> Thanks @RogerRiggs and @tstuefe . I appreciate your deeper investigations. Could you give me some advice on what to do next?
Hi @takiguc,
My preference would be to spawn `sh -c env` instead of java, since it removes all need for second-guessing what the java child does with the environment (java modifies the environment and also conceivably System.getenv() may lie to us at some point in the future since it seems a convenient way to filter environment variables for java programs). That is if my reasoning was correct in the first place.
But I do not have a strong preference and defer to Roger and Tyler.
Cheers, Thomas
-------------
PR: https://git.openjdk.java.net/jdk/pull/7574
More information about the core-libs-dev
mailing list