RFR: [XS] 8228650: runtime/SharedArchiveFile/CheckDefaultArchiveFile.java test fails on AIX

mikhailo.seledtsov at oracle.com mikhailo.seledtsov at oracle.com
Fri Jul 26 22:57:01 UTC 2019


Looks good to me,

Misha

On 7/26/19 6:25 AM, Baesken, Matthias wrote:
> Hello, please review this small  CDS test related fix .
>
> Currently the runtime/SharedArchiveFile/CheckDefaultArchiveFile.java test fails on AIX .
> It runs into this NPE :
>
> java.lang.NullPointerException
> at java.base/sun.nio.fs.UnixPath.normalizeAndCheck(UnixPath.java:75)
> at java.base/sun.nio.fs.UnixPath.<init>(UnixPath.java:69)
> at java.base/sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:279)
> at java.base/java.nio.file.Path.of(Path.java:147)
> at java.base/java.nio.file.Paths.get(Paths.java:69)
> at CheckDefaultArchiveFile.main(CheckDefaultArchiveFile.java:51)
> at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:567)
> at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
> at java.base/java.lang.Thread.run(Thread.java:830)
>
> Reason is that the path to the classes.jsa is null, which is correct on a non CDS platform (like AIX).
> See the coding :
>
> jdk/src/hotspot/share/runtime/arguments.hpp  :
>
>        static char* get_default_shared_archive_path() NOT_CDS_RETURN_(NULL);
>
> jdk/src/hotspot/share/runtime/arguments.cpp  :
>
> 3477 #if INCLUDE_CDS
> 3478 // Sharing support
> 3479 // Construct the path to the archive
> 3480 char* Arguments::get_default_shared_archive_path() {
>
>
> However the test does not handle this case correctly.
> AIX has CDS disabled, it is currently not supported on the platform .
>
> jdk/make/autoconf/hotspot.m4  :
>
> 495  # Disable CDS on AIX.
> 496  if test "x$OPENJDK_TARGET_OS" = "xaix"; then
> 497    ENABLE_CDS="false"
> 498    if test "x$enable_cds" = "xyes"; then
> 499      AC_MSG_ERROR([CDS is currently not supported on AIX. Remove --enable-cds.])
> 500    fi
> 501  fi
>
>
> Bug/webrev :
>
> https://bugs.openjdk.java.net/browse/JDK-8228650
>
> http://cr.openjdk.java.net/~mbaesken/webrevs/8228650.0/
>
>
> Thanks, Matthias


More information about the hotspot-dev mailing list