RFR: 8352046: Test testEcoFriendly() in jdk tools launcher ExecutionEnvironment.java for AIX and Linux/musl is brittle [v4]

Joachim Kern jkern at openjdk.org
Thu Mar 27 14:15:12 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:

  add !windows again and remove @compile

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/24055/files
  - new: https://git.openjdk.org/jdk/pull/24055/files/41670da2..3f72981e

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=24055&range=03
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=24055&range=02-03

  Stats: 2 lines in 1 file changed: 1 ins; 1 del; 0 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 hotspot-runtime-dev mailing list