RFR: JDK-8311788: ClassLoadUnloadTest fails on AIX after JDK-8193513
Thomas Stuefe
stuefe at openjdk.org
Wed Jul 12 07:57:18 UTC 2023
On Wed, 12 Jul 2023 07:15:40 GMT, Matthias Baesken <mbaesken at openjdk.org> wrote:
> Hi Thomas, maybe using something else like ClassUnloadTest would work too. Using StringConcatHelper came out of the discussion in https://bugs.openjdk.org/browse/JDK-8193513
Hi Matthias,
`ClassUnloadTest` is always present, since we are executing it. StringConcatHelper may get renamed or moved or removed in the future, and then this test breaks again.
In contrast to very basic classes like `j.l.String` we also know that `ClassUnloadTest` will get loaded with traditional class loading, not materialized via CDS heap archive. Which may interfere with callstack tracing.
If you use the same argument as we start the child process with, you don't even need to hardcode the name. Example:
String x = ClassUnloadTestMain.class.getName();
pb = exec("-Xlog:class+load+cause", "-XX:LogClassLoadingCauseFor=" + x);
checkFor("[class,load,cause]", "Java stack when loading " + x + ":");
pb = exec("-Xlog:class+load+cause+native", "-XX:LogClassLoadingCauseFor=" + x);
checkFor("[class,load,cause,native]", "Native stack when loading " + x + ":");
pb = exec("-Xlog:class+load+cause*", "-XX:LogClassLoadingCauseFor=" + x);
checkFor("[class,load,cause] Java stack when loading " + x + ":");
checkFor("[class,load,cause,native] Native stack when loading " + x + ":");
passed for me.
Cheers, Thomas
-------------
PR Comment: https://git.openjdk.org/jdk/pull/14829#issuecomment-1632025580
More information about the hotspot-runtime-dev
mailing list