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