RFR: 8329653: JLILaunchTest fails on AIX after JDK-8329131 [v2]
Christoph Langer
clanger at openjdk.org
Tue May 7 07:06:55 UTC 2024
On Fri, 3 May 2024 15:25:05 GMT, Joachim Kern <jkern at openjdk.org> wrote:
>> Since ~ end of March, after [JDK-8329131](https://bugs.openjdk.org/browse/JDK-8329131), tools/launcher/JliLaunchTest.java fails on AIX. Failure is :
>>
>> stdout: [];
>> stderr: [Error: could not find libjava.so
>> Error: Could not find Java SE Runtime Environment.
>> ]
>> exitValue = 2
>>
>> java.lang.RuntimeException: Expected to get exit value of [0], exit value is: [2]
>> at jdk.test.lib.process.OutputAnalyzer.shouldHaveExitValue(OutputAnalyzer.java:521)
>> at JliLaunchTest.main(JliLaunchTest.java:58)
>> at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
>> at java.base/java.lang.reflect.Method.invoke(Method.java:580)
>> at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:333)
>> at java.base/java.lang.Thread.run(Thread.java:1575)
>>
>> Maybe we need to do further adjustments to BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeJliLaunchTest / BUILD_JDK_JTREG_EXECUTABLES_LDFLAGS_exeJliLaunchTest on AIX ?
>> Or somehow adjust the coding that attempts to find parts of "JRE" (libjava.so) ? The libjli.so is gone on AIX after [JDK-8329131](https://bugs.openjdk.org/browse/JDK-8329131), and with this also the image discovery based on GetApplicationHomeFromDll which uses libjli.so .
>>
>> Without libjli.so we have to analyze the LD-LIBRARY_PATH / LIBPATH envvar. There is no other methos available on AIX, because it lacks the $ORIGIN feature of the rpath.
>
> Joachim Kern has updated the pull request incrementally with one additional commit since the last revision:
>
> only for AIX
Minor formatting suggestions
src/java.base/unix/native/libjli/java_md_common.c line 135:
> 133: */
> 134: jboolean
> 135: GetApplicationHomeFromLibpath(char *buf, jint bufsize)
Suggestion:
GetApplicationHomeFromLibpath(char *buf, jint bufsize) {
src/java.base/unix/native/libjli/java_md_common.c line 136:
> 134: jboolean
> 135: GetApplicationHomeFromLibpath(char *buf, jint bufsize)
> 136: {
Suggestion:
src/java.base/unix/native/libjli/java_md_common.c line 139:
> 137: char *env = getenv(LD_LIBRARY_PATH);
> 138: char *tmp;
> 139: char* save_ptr = NULL;
Suggestion:
char *save_ptr = NULL;
-------------
PR Review: https://git.openjdk.org/jdk/pull/19000#pullrequestreview-2042227569
PR Review Comment: https://git.openjdk.org/jdk/pull/19000#discussion_r1591912792
PR Review Comment: https://git.openjdk.org/jdk/pull/19000#discussion_r1591912990
PR Review Comment: https://git.openjdk.org/jdk/pull/19000#discussion_r1591911912
More information about the core-libs-dev
mailing list