SAPs OpenJDK 8 ppc test setup for HOTSPOT jtreg tests

Lindenmaier, Goetz goetz.lindenmaier at sap.com
Fri Jul 23 07:07:40 UTC 2021


Hi,

After SAP discontinued the support of linuxppc64 and aixppc64
of OpenJDK 8 I want to share how we ran the
hotspot jtreg tests, and especially which tests we excluded.
Most of the test excludes could be fixed by downporting
test changes.
Also, issues might be fixed after we excluded them, I did not
check this.

We build with only mandatory configure settings, except for the following:
linuxppc64:  --with-extra-cflags=-Wno-strict-aliasing
aix:         --with-native-debug-symbols=internal

We run jtreg with the following settings:
-Djava.awt.headless=true
-k:(!headful)&(!ignore)&(!stress)&(!intermittent)

We excluded the following tests:

First, tests that fail on all platforms we tested:

# Testbug
# This test copied or moved the root directory / to some subdirectory, filling up the disc
compiler/ciReplay/TestSA.sh                             generic-all
compiler/ciReplay/TestVM_no_comp_level.sh               generic-all
compiler/ciReplay/TestVM.sh                             generic-all

# Fails in 8 until 8044416 will be fixed or
# the test exclusion change 8044540 will be downported from jdk9
serviceability/sa/jmap-hashcode/Test8028623.java        generic-all

# Fixed in 11 by 8195621: JTReg failure: gc/g1/TestLargePageUseForAuxMemory.java
gc/g1/TestLargePageUseForAuxMemory.java                 generic-all

Further, tests we see failing on ppc but not on x86_64.

# Class data sharing not implemented on ppc.
runtime/CDSCompressedKPtrs/CDSCompressedKPtrs.java          generic-ppc64
runtime/CDSCompressedKPtrs/CDSCompressedKPtrsError.java     generic-ppc64
runtime/CompressedOops/CompressedClassPointers.java         generic-ppc64
runtime/NMT/NMTWithCDS.java                                 generic-ppc64
runtime/NMT/VirtualAllocCommitUncommitRecommit.java         generic-ppc64
runtime/SharedArchiveFile/CdsDifferentObjectAlignment.java  generic-ppc64
runtime/SharedArchiveFile/CdsSameObjectAlignment.java       generic-ppc64
runtime/SharedArchiveFile/LimitSharedSizes.java             generic-ppc64
runtime/SharedArchiveFile/PrintSharedArchiveAndExit.java    generic-ppc64
runtime/SharedArchiveFile/SharedArchiveFile.java            generic-ppc64
runtime/SharedArchiveFile/SharedBaseAddress.java            aix-ppc64
runtime/SharedArchiveFile/SpaceUtilizationCheck.java        generic-ppc64

# C1 not implemented. In jdk9 these are moved to subdir /c1/.
compiler/6478991/NullCheckTest.java              generic_ppc64
compiler/6579789/Test6579789.java                generic_ppc64
compiler/6756768/Test6756768_2.java              generic_ppc64
compiler/6756768/Test6756768.java                generic_ppc64
compiler/6757316/Test6757316.java                generic_ppc64
compiler/6758234/Test6758234.java                generic_ppc64
compiler/6769124/TestArrayCopy6769124.java       generic_ppc64
compiler/6769124/TestDeoptInt6769124.java        generic_ppc64
compiler/6769124/TestUnalignedLoad6769124.java   generic_ppc64
compiler/6795465/Test6795465.java                generic_ppc64
compiler/6849574/Test.java                       generic_ppc64
compiler/6855215/Test6855215.java                generic_ppc64
compiler/6932496/Test6932496.java                generic_ppc64
compiler/7042153/Test7042153.java                generic_ppc64
compiler/7090976/Test7090976.java                generic_ppc64
compiler/7103261/Test7103261.java                generic_ppc64
compiler/7123108/Test7123108.java                generic_ppc64
compiler/8011706/Test8011706.java                generic_ppc64
compiler/8011771/Test8011771.java                generic_ppc64
# tests that set -client which is currently not supported
compiler/8004051/Test8004051.java                generic-ppc64
gc/g1/TestHumongousCodeCacheRoots.java           generic-ppc64
compiler/tiered/Level2RecompilationTest.java     generic-ppc64

# Don't look at tests that will be renamed. These don't show obvious errors in the port.
compiler/8004051/Test8004051.java                generic-ppc64

# Fail because of 64K page size
# Fixed in 9, but 8067941 not downported.
compiler/exceptions/TestRecursiveReplacedException.java generic-ppc64
compiler/runtime/6865265/StackOverflowBug.java          linux-ppc64
compiler/6865265/StackOverflowBug.java                  linux-ppc64
# In addition, this test is shaky in the amount of stack frames pushed.
compiler/uncommontrap/8009761/Test8009761.java          linux-ppc64,aix-ppc64,windows-all
compiler/8009761/Test8009761.java                       linux-ppc64,aix-ppc64,windows-all
compiler/uncommontrap/StackOverflowGuardPagesOff.java   linux-ppc64
compiler/uncommontrap/TestStackBangMonitorOwned.java    linux-ppc64
compiler/uncommontrap/TestStackBangRbp.java             linux-ppc64
gc/arguments/TestMaxHeapSizeTools.java                  linux-ppc64
gc/g1/TestGCLogMessages.java                            linux-ppc64
gc/g1/TestHumongousAllocInitialMark.java                linux-ppc64
runtime/whitebox/WBStackSize.java                       linux-ppc64
sanity/ExecuteInternalVMTests.java                      linux-ppc64
# These also fail because of the 64K problem.
gc/arguments/TestCMSHeapSizeFlags.java                  linux-ppc64
gc/arguments/TestG1HeapSizeFlags.java                   linux-ppc64
gc/arguments/TestParallelHeapSizeFlags.java             linux-ppc64
gc/arguments/TestSerialHeapSizeFlags.java               linux-ppc64

# Fail on aix because OS not supported in test.
# Fixed in 9, but 8068013 not downported.
serviceability/dcmd/DynLibDcmdTest.java                        aix-ppc64
testlibrary_tests/TestMutuallyExclusivePlatformPredicates.java aix-ppc64

# Fail on aix and mac because SA not supported.
# Fixed in 9, but 8068778 not downported
# linux-ppc64: SA isn't downported
gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java    generic-all,macosx-all
gc/metaspace/CompressedClassSpaceSizeInJmapHeap.jtr     generic-all,macosx-all

# Fail on ppc64 because tiered compilation not supported.
# Test fixed in 9, but 8067941 not downported
compiler/arguments/CheckCompileThresholdScaling.java    generic-ppc64

# OptimizeFill is broken on ppc.
compiler/6982370/Test6982370.java                       generic-ppc64

# These require test_env.sh-like adaptions (mention AIX in switch statement).
# They are not in jdk9, so no fix to downport.
compiler/6894807/IsInstanceTest.java                    aix-ppc64
runtime/7110720/Test7110720.java                        aix-ppc64
runtime/7110720/Test7110720.sh                          aix-ppc64
# Must add SIGTRAP in check code.
runtime/memory/ReserveMemory.java                       aix-ppc64

# Modes don't work in 8.
runtime/CompressedOops/UseCompressedOops.java           aix-ppc64


Best regards,
  Goetz.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20210723/36087469/attachment-0001.htm>


More information about the ppc-aix-port-dev mailing list