aqa-tests icon indicating copy to clipboard operation
aqa-tests copied to clipboard

tools/javah/ReadOldClass.sh and serviceability/dcmd/DynLibDcmdTest.java fail on AIX

Open Haroon-Khel opened this issue 10 months ago • 1 comments
trafficstars

https://ci.adoptium.net/job/Test_openjdk8_hs_sanity.openjdk_ppc64_aix_testList_0/19/tapResults/

langtools_all_0

Failed test cases: 
TEST: tools/javah/ReadOldClass.sh
Test results: passed: 3,120; failed: 1

This test fails on AIX Logs:

19:53:12  STDOUT:
19:53:12  Unrecognized system!
19:53:12  STDERR:
19:53:12  rerun:

Looking at the test code:

https://github.com/adoptium/jdk8u/blob/1a6e3a5ea32d5c671cb46a590046f16426089921/langtools/test/tools/javah/ReadOldClass.sh#L31

# set platform-dependent variables
OS=`uname -s`
case "$OS" in
  SunOS | Linux | Darwin | CYGWIN* )
    PS=":"
    FS="/"
    ;;
  Windows* )
    PS=";"
    FS="\\"
    ;;
  * )
    echo "Unrecognized system!"
    exit 1;
    ;;
esac

uname -s returns AIX on aix machines, so this test is expected to fail on AIX. Should be excluded for JDK8 (only present on JDK8)

Haroon-Khel avatar Jan 14 '25 14:01 Haroon-Khel

Adding serviceability/dcmd/DynLibDcmdTest.java to this issue. Looking at the code, it fails if run on AIX https://github.com/adoptium/jdk8u/blob/1a6e3a5ea32d5c671cb46a590046f16426089921/hotspot/test/serviceability/dcmd/DynLibDcmdTest.java#L4

        String osDependentBaseString = null;
        if (Platform.isSolaris()) {
            osDependentBaseString = "lib%s.so";
        } else if (Platform.isWindows()) {
            osDependentBaseString = "%s.dll";
        } else if (Platform.isOSX()) {
            osDependentBaseString = "lib%s.dylib";
        } else if (Platform.isLinux()) {
            osDependentBaseString = "lib%s.so";
        }

        if (osDependentBaseString == null) {
            throw new Exception("Unsupported OS");
        }

This is what we are seeing in our logs:

https://ci.adoptium.net/job/Test_openjdk8_hs_extended.openjdk_ppc64_aix_testList_0/20/testReport/serviceability_dcmd_DynLibDcmdTest/java/DynLibDcmdTest/

java.lang.Exception: Unsupported OS
	at DynLibDcmdTest.main(DynLibDcmdTest.java:53)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298)
	at java.lang.Thread.run(Thread.java:750)

Haroon-Khel avatar Jan 14 '25 14:01 Haroon-Khel

Mark this issue as closed via https://github.com/adoptium/aqa-tests/pull/5855 (not keeping this issue open, as its a permanent exclude).

smlambert avatar Aug 20 '25 17:08 smlambert