diff --git a/.buildkite/pipeline.yaml b/.buildkite/pipeline.yaml index 428d66d2f4..6e9bf5e3db 100644 --- a/.buildkite/pipeline.yaml +++ b/.buildkite/pipeline.yaml @@ -510,7 +510,7 @@ steps: - <<: *common <<: *docker label: ":java: Java runtime tests" - command: make java17-runtime-tests RUNTIME_ARGS=--directfs + command: make java21-runtime-tests RUNTIME_ARGS=--directfs parallelism: 40 agents: <<: *platform_specific_agents @@ -553,7 +553,7 @@ steps: - <<: *common <<: *docker label: ":java: Java runtime tests (goferfs)" - command: make java17-runtime-tests RUNTIME_ARGS=--directfs=false + command: make java21-runtime-tests RUNTIME_ARGS=--directfs=false parallelism: 40 if: build.branch == "master" agents: diff --git a/images/runtimes/java17/Dockerfile.x86_64 b/images/runtimes/java21/Dockerfile.x86_64 similarity index 63% rename from images/runtimes/java17/Dockerfile.x86_64 rename to images/runtimes/java21/Dockerfile.x86_64 index 1d5944693d..c0219856c5 100644 --- a/images/runtimes/java17/Dockerfile.x86_64 +++ b/images/runtimes/java21/Dockerfile.x86_64 @@ -1,4 +1,4 @@ -FROM ubuntu:bionic +FROM ubuntu RUN apt-get update && apt-get install -y \ autoconf \ @@ -7,7 +7,7 @@ RUN apt-get update && apt-get install -y \ curl \ java-common \ make \ - openjdk-17-jdk \ + openjdk-21-jdk \ unzip \ zip @@ -15,26 +15,26 @@ RUN apt-get update && apt-get install -y \ # Proctor expects this to be in /root/jdk. WORKDIR /root RUN set -ex \ - && curl -fsSL --retry 10 -o /tmp/jdk.tar.gz https://github.com/openjdk/jdk17u/archive/refs/tags/jdk-17.0.2-ga.tar.gz \ + && curl -fsSL --retry 10 -o /tmp/jdk.tar.gz https://github.com/openjdk/jdk21u/archive/refs/tags/jdk-21.0.3-ga.tar.gz \ && tar -zxzf /tmp/jdk.tar.gz \ - && mv jdk17u-jdk-17.0.2-ga /root/jdk \ + && mv jdk21u-jdk-21.0.3-ga /root/jdk \ && rm -f /tmp/jdk.tar.gz -# Install jtreg and add to PATH. +# Install jtreg 7.4 and add to PATH. # -# NOTE: None of the tagged releases (up to jtreg-6.2+1) build correctly, so we -# use a recent commit that does work. +# NOTE: While upgrading jdk version, if this jtreg version does not build +# openjdk correctly, try using a recent version of jtreg that does work. # # ALSO NOTE: The installed location of the JDK is annoyingly path dependant, -# and is "/usr/lib/jvm/java-17-openjdk-amd64" on x86_64 but "-aarch64" on +# and is "/usr/lib/jvm/java-21-openjdk-amd64" on x86_64 but "-aarch64" on # ARM64. The `build.sh` step below uses a wildcard to work around the fact that # we don't know the full path. -ARG COMMIT=284b16ed44b3bc25e9dde11efc4b1013702871cb +ARG COMMIT=c40e6ea6d47dcdabba8715a6f70c55d89bdce693 RUN set -ex \ && curl -fsSL --retry 10 -o jtreg.tar.gz https://github.com/openjdk/jtreg/archive/${COMMIT}.tar.gz \ && tar -zxvf jtreg.tar.gz \ && mv jtreg-${COMMIT} jtreg \ - && bash jtreg/make/build.sh --jdk /usr/lib/jvm/java-17-openjdk-* \ + && bash jtreg/make/build.sh --jdk /usr/lib/jvm/java-21-openjdk-* \ && rm -f jtreg.tar.gz ENV PATH="/root/jtreg/build/images/jtreg/bin:$PATH" diff --git a/test/runtimes/BUILD b/test/runtimes/BUILD index a1fadcdb86..ba807d35e9 100644 --- a/test/runtimes/BUILD +++ b/test/runtimes/BUILD @@ -14,9 +14,9 @@ runtime_test( ) runtime_test( - name = "java17", + name = "java21", batch = 100, - exclude_file = "exclude/java17.csv", + exclude_file = "exclude/java21.csv", lang = "java", shard_count = most_shards, ) diff --git a/test/runtimes/README.md b/test/runtimes/README.md index 583b311d4a..fa0ce17d96 100644 --- a/test/runtimes/README.md +++ b/test/runtimes/README.md @@ -29,7 +29,7 @@ Note: java runtime test take 1+ hours with 16 cores. Language | Version | Running the test suite -------- | ------- | ---------------------------------- Go | 1.22 | `make go1.22-runtime-tests` -Java | 17 | `make java17-runtime-tests` +Java | 21 | `make java21-runtime-tests` NodeJS | 16.13.2 | `make nodejs16.13.2-runtime-tests` Php | 8.1.1 | `make php8.1.1-runtime-tests` Python | 3.10.2 | `make python3.10.2-runtime-tests` diff --git a/test/runtimes/exclude/java17.csv b/test/runtimes/exclude/java21.csv similarity index 57% rename from test/runtimes/exclude/java17.csv rename to test/runtimes/exclude/java21.csv index 00e2993b0b..7e5c9ee515 100644 --- a/test/runtimes/exclude/java17.csv +++ b/test/runtimes/exclude/java21.csv @@ -1,21 +1,28 @@ test name,bug id,comment -com/sun/jdi/OnJcmdTest.java,b/180542784, -com/sun/jdi/ProcessAttachTest.java,, -com/sun/management/HotSpotDiagnosticMXBean/CheckOrigin.java,, -com/sun/management/ThreadMXBean/ThreadCpuTimeArray.java,,Test assumes high CPU clock precision -com/sun/tools/attach/AttachSelf.java,, -com/sun/tools/attach/BasicTests.java,, -com/sun/tools/attach/PermissionTest.java,, +com/sun/jdi/ClassUnloadEventTest.java,,Broken test +com/sun/jdi/ForceEarlyReturnTest.java,,Broken test +com/sun/jdi/InvokeHangTest.java,,Broken test +com/sun/jdi/PopFramesTest.java,,Broken test +com/sun/net/httpserver/simpleserver/CommandLineNegativeTest.java,,Broken test +com/sun/net/httpserver/simpleserver/CustomFileSystemTest.java,,Broken test +com/sun/net/httpserver/simpleserver/SimpleFileServerTest.java,,Broken test +com/sun/net/httpserver/simpleserver/jwebserver/CommandLineNegativeTest.java,,Broken test +com/sun/tools/attach/warnings/DynamicLoadWarningTest.java,,Broken test com/sun/tools/attach/StartManagementAgent.java,,Broken test -com/sun/tools/attach/TempDirTest.java,, -com/sun/tools/attach/modules/Driver.java,, -java/io/File/GetXSpace.java,, -java/lang/Class/GetPackageBootLoaderChildLayer.java,, +java/io/File/GetXSpace.java,,Broken test +java/io/File/createTempFile/TargetDirectory.java,,Broken test +java/lang/ClassLoader/loadLibraryDeadlock/TestLoadLibraryDeadlock.java,,Broken test +java/lang/ClassLoader/loadLibraryUnload/LoadLibraryUnloadTest.java,,Broken test java/lang/ClassLoader/nativeLibrary/NativeLibraryTest.java,,Broken test +java/lang/StackWalker/NativeMethod.java,,Broken test java/lang/String/nativeEncoding/StringPlatformChars.java,,Broken test +java/lang/Thread/jni/AttachCurrentThread/AttachTest.java#id0,,Broken test +java/lang/Thread/jni/AttachCurrentThread/AttachTest.java#id1,,Broken test +java/lang/Thread/virtual/TracePinnedThreads.java,,Broken test java/lang/instrument/HiddenClass/HiddenClassAgent.java,,Broken test java/lang/invoke/LFCaching/LFGarbageCollectedTest.java,,Broken test java/lang/invoke/lambda/LambdaFileEncodingSerialization.java,,Broken test +java/lang/management/ThreadMXBean/ThreadMXBeanStateTest.java,,Broken test java/lang/reflect/exeCallerAccessTest/CallerAccessTest.java,,Broken test java/net/DatagramSocket/AddressNotSet.java,, java/net/DatagramSocket/SetGetReceiveBufferSize.java,b/180507650, @@ -34,69 +41,38 @@ java/net/Socket/SocketReadInterruptTest.java,,Broken test java/net/Socket/UrgentDataTest.java,b/111515323, java/net/SocketOption/OptionsTest.java,, java/net/SocketPermission/SocketPermissionTest.java,, +java/net/vthread/BlockingSocketOps.java#default,, +java/net/vthread/BlockingSocketOps.java#direct-register,, +java/net/vthread/BlockingSocketOps.java#no-vmcontinuations,, +java/nio/channels/DatagramChannel/AfterDisconnect.java,, java/nio/channels/DatagramChannel/SocketOptionTests.java,,java.net.SocketException: Invalid argument java/nio/channels/FileChannel/directio/DirectIOTest.java,,Broken test -java/nio/channels/Selector/OutOfBand.java,, java/nio/channels/Selector/OutOfBand.java#id0,, -java/nio/channels/Selector/SelectWithConsumer.java,,Flaky java/nio/channels/etc/PrintSupportedOptions.java,, java/nio/channels/spi/SelectorProvider/inheritedChannel/InheritedChannelTest.java,,Broken test java/nio/channels/unixdomain/SocketOptions.java,, +java/nio/file/attribute/BasicFileAttributeView/CreationTime.java,,Broken test +java/nio/jni/NewDirectByteBuffer.java,,Broken test java/rmi/transport/checkLeaseInfoLeak/CheckLeaseLeak.java,,Broken test -java/security/cert/CertPathBuilder/targetConstraints/BuildEEBasicConstraints.java,,Broken test -java/security/cert/CertPathBuilder/akiExt/AKISerialNumber.java,b/323406905, -java/security/cert/pkix/policyChanges/TestPolicy.java,,Broken test +java/security/Security/ConfigFileTest.java,,Broken test java/util/ResourceBundle/Control/MissingResourceCauseTestRun.java,,Broken test -java/util/concurrent/locks/Lock/TimedAcquireLeak.java,, -java/util/logging/LogManager/Configuration/updateConfiguration/SimpleUpdateConfigWithInputStreamTest.java,,Broken test -java/util/logging/TestLoggerWeakRefLeak.java,, javax/imageio/plugins/jpeg/JPEGsNotAcceleratedTest.java,,Broken test javax/management/remote/mandatory/connection/RMIConnector_NPETest.java,,Broken test javax/management/security/HashedPasswordFileTest.java,,Broken test jdk/internal/loader/NativeLibraries/Main.java,,Broken test -jdk/jfr/api/consumer/log/TestDynamicStart.java,, -jdk/jfr/api/consumer/streaming/TestBaseRepositoryAfterStart.java,,Times out -jdk/jfr/api/consumer/streaming/TestBaseRepositoryLastModified.java,,Times out -jdk/jfr/api/consumer/streaming/TestCrossProcessStreaming.java,,Times out -jdk/jfr/api/consumer/streaming/TestInProcessMigration.java,, -jdk/jfr/api/consumer/streaming/TestJVMCrash.java,, -jdk/jfr/api/consumer/streaming/TestJVMExit.java,, -jdk/jfr/api/consumer/streaming/TestOutOfProcessMigration.java,, -jdk/jfr/api/consumer/streaming/TestRepositoryProperty.java,, -jdk/jfr/event/gc/detailed/TestZUncommitEvent.java,, -jdk/jfr/event/oldobject/TestLargeRootSet.java,,Flaky - `main' threw exception: java.lang.RuntimeException: Could not find root object +jdk/internal/vm/Continuation/Basic.java#id0,,Broken test +jdk/jfr/event/gc/detailed/TestZUncommitEvent.java#ZGenerational,, +jdk/jfr/event/gc/detailed/TestZUncommitEvent.java#ZSinglegen,, jdk/jfr/event/runtime/TestNetworkUtilizationEvent.java,, -jdk/jfr/javaagent/TestLoadedAgent.java,b/180542638, -jdk/jfr/jcmd/TestJcmdChangeLogLevel.java,, -jdk/jfr/jcmd/TestJcmdConfigure.java,, -jdk/jfr/jcmd/TestJcmdDump.java,, -jdk/jfr/jcmd/TestJcmdDumpGeneratedFilename.java,, -jdk/jfr/jcmd/TestJcmdDumpLimited.java,, -jdk/jfr/jcmd/TestJcmdDumpPathToGCRoots.java,, -jdk/jfr/jcmd/TestJcmdDumpWithFileName.java,b/180542783, -jdk/jfr/jcmd/TestJcmdLegacy.java,, -jdk/jfr/jcmd/TestJcmdSaveToFile.java,, -jdk/jfr/jcmd/TestJcmdStartDirNotExist.java,, -jdk/jfr/jcmd/TestJcmdStartFlushInterval.java,, -jdk/jfr/jcmd/TestJcmdStartInvaldFile.java,, -jdk/jfr/jcmd/TestJcmdStartPathToGCRoots.java,, -jdk/jfr/jcmd/TestJcmdStartStopDefault.java,, -jdk/jfr/jcmd/TestJcmdStartWithOptions.java,, -jdk/jfr/jcmd/TestJcmdStartWithSettings.java,, -jdk/jfr/jcmd/TestJcmdStopInvalidFile.java,, -jdk/jfr/jmx/TestGetRecordings.java,b/180542639, -jdk/jfr/jvm/TestJfrJavaBase.java,, -jdk/jfr/startupargs/TestStartRecording.java,, -jdk/net/Sockets/ExtOptionTest.java,, +jdk/jfr/event/runtime/TestResidentSetSizeEvent.java,, +jdk/jfr/jvm/TestWaste.java,,Broken test +jdk/net/ExtendedSocketOption/DontFragmentTest.java,, +jni/nullCaller/NullCallerTest.java,,Broken test sun/management/jmxremote/bootstrap/CustomLauncherTest.java,,Broken test sun/management/jmxremote/bootstrap/JvmstatCountersTest.java,,Broken test sun/management/jmxremote/bootstrap/LocalManagementTest.java,,Broken test sun/management/jmxremote/bootstrap/RmiRegistrySslTest.java,,Broken test -sun/management/jmxremote/bootstrap/RmiSslBootstrapTest.sh,,Broken test sun/management/jmxremote/startstop/JMXStartStopTest.java,,Broken test -sun/management/jmxremote/startstop/JMXStatusPerfCountersTest.java,, -sun/management/jmxremote/startstop/JMXStatusTest.java,, -sun/tools/jcmd/JcmdOutputEncodingTest.java,, sun/tools/jcmd/TestJcmdSanity.java,, sun/tools/jhsdb/BasicLauncherTest.java,,Broken test sun/tools/jhsdb/HeapDumpTest.java,,Broken test @@ -104,29 +80,18 @@ sun/tools/jhsdb/HeapDumpTestWithActiveProcess.java,,Broken test sun/tools/jhsdb/JShellHeapDumpTest.java,,Broken test sun/tools/jhsdb/JStackStressTest.java,,Broken test sun/tools/jhsdb/heapconfig/JMapHeapConfigTest.java,,Broken test -sun/tools/jinfo/BasicJInfoTest.java,, -sun/tools/jinfo/JInfoTest.java,, -sun/tools/jmap/BasicJMapTest.java,,Broken test -sun/tools/jstack/BasicJStackTest.java,, -sun/tools/jstack/DeadlockDetectionTest.java,, -sun/tools/jstat/jstatClassloadOutput1.sh,,Broken test -sun/tools/jstatd/TestJstatdPort.java,,Flaky -sun/tools/jstatd/TestJstatdPortAndServer.java,,Flaky tools/jimage/JImageExtractTest.java,,Broken test tools/jimage/JImageTest.java,,Broken test tools/jlink/JLinkReproducible3Test.java,,Broken test tools/jlink/plugins/StripNativeDebugSymbolsPlugin/StripNativeDebugSymbolsPluginTest.java,,Broken test -tools/jpackage/junit/junit.java,,Broken test tools/jpackage/linux/AppCategoryTest.java,,Broken test tools/jpackage/linux/LinuxBundleNameTest.java,,Broken test tools/jpackage/linux/MaintainerTest.java,,Broken test tools/jpackage/linux/PackageDepsTest.java,,Broken test -tools/jpackage/linux/ReleaseTest.java,,Broken test tools/jpackage/linux/jdk/jpackage/tests/UsrTreeTest.java,,Broken test tools/jpackage/share/AppLauncherEnvTest.java,,Broken test tools/jpackage/share/ArgumentsTest.java,,Broken test tools/jpackage/share/EmptyFolderPackageTest.java,,Broken test -tools/jpackage/share/EmptyFolderTest.java,,Broken test tools/jpackage/share/MultiLauncherTwoPhaseTest.java,,Broken test tools/jpackage/share/SimplePackageTest.java,,Broken test tools/jpackage/share/jdk/jpackage/tests/AppVersionTest.java,,Broken test