RFR: 8352046: Test testEcoFriendly() in jdk tools launcher ExecutionEnvironment.java for AIX and Linux/musl is brittle [v3]
Joachim Kern
jkern at openjdk.org
Wed Mar 26 09:52:27 UTC 2025
> The test `testEcoFriendly()` checks if the launcher pollutes the `LD_LIBRARY_PATH` environment variable.
> Because aix and musl intentionally pollute the `LD_LIBRARY_PATH`, it does not make sense to make this test somehow passing with crude workarounds, which even do not work in any case. It only works when the test is executed by jtreg without explicitly setting `LD_LIBRARY_PATH`.
>
> The problem occurs if the `LD_LIBRARY_PATH` is set from outside, so the test is called with an already set `LD_LIBRARY_PATH`. This means internally the `LD_LIBRARY_PATH` is polluted with the generic pollution on AIX/musl (called A) and the additional jtreg set `LD_LIBRARY_PATH` (called B).
> The result is, the test has A:B in its `LD_LIBRARY_PATH`. Then the test launched a new VM also with an explicitly given `LD_LIBRARY_PATH` (called C). This VM has the resulting `LD_LIBRARY_PATH` A:C which is being reported to the calling Test.
> Now the test compares the returned A:C against the A:B from the test adding the known C. `if (A:C == A:B:C)`.
> Because the test neither knows A nor B, but only C there is now way to program a working comparison. It only works if B is empty meaning the test is not called by jtreg with a preset `LD_LIBRARY_PATH`
>
> Unfortunately we now have to call all tests with a given runtime search path provided in `LD_LIBRARY_PATH`.
> So my proposal is to skip this sub test for aix and musl.
Joachim Kern has updated the pull request incrementally with one additional commit since the last revision:
cleanup
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/24055/files
- new: https://git.openjdk.org/jdk/pull/24055/files/ea56e279..41670da2
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=24055&range=02
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=24055&range=01-02
Stats: 55 lines in 1 file changed: 1 ins; 40 del; 14 mod
Patch: https://git.openjdk.org/jdk/pull/24055.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/24055/head:pull/24055
PR: https://git.openjdk.org/jdk/pull/24055
More information about the core-libs-dev
mailing list