diff --git a/.gitignore b/.gitignore index 2259ed3..0b3e031 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,4 @@ /openjdk-21.0.2+13.tar.xz /openjdk-22+32-ea.tar.xz /openjdk-jdk-22+36-ea.tar.xz +/openjdk-jdk-22.0.1+8.tar.xz diff --git a/NEWS b/NEWS index 24382b1..8ceb10c 100644 --- a/NEWS +++ b/NEWS @@ -3,909 +3,77 @@ Key: JDK-X - https://bugs.openjdk.java.net/browse/JDK-X CVE-XXXX-YYYY: https://cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY -New in release OpenJDK 21.0.2 (2024-01-16): +New in release OpenJDK 22.0.1 (2024-04-16): =========================================== -* CVEs - - CVE-2024-20918 - - CVE-2024-20919 - - CVE-2024-20921 - - CVE-2024-20945 - - CVE-2024-20952 -* Security fixes - - JDK-8308204: Enhanced certificate processing - - JDK-8314295: Enhance verification of verifier - - JDK-8314307: Improve loop handling - - JDK-8314468: Improve Compiler loops - - JDK-8316976: Improve signature handling - - JDK-8317547: Enhance TLS connection support -* Other changes - - JDK-8038244: (fs) Check return value of malloc in Java_sun_nio_fs_AixNativeDispatcher_getmntctl() - - JDK-8161536: sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java fails with ProviderException - - JDK-8219652: [aix] Tests failing with JNI attach problems. - - JDK-8225377: type annotations are not visible to javac plugins across compilation boundaries - - JDK-8232839: JDI AfterThreadDeathTest.java failed due to "FAILED: Did not get expected IllegalThreadStateException on a StepRequest.enable()" - - JDK-8267502: JDK-8246677 caused 16x performance regression in SynchronousQueue - - JDK-8267509: Improve IllegalAccessException message to include the cause of the exception - - JDK-8268916: Tests for AffirmTrust roots - - JDK-8286757: adlc tries to build with /pathmap but without /experimental:deterministic - - JDK-8294156: Allow PassFailJFrame.Builder to create test UI - - JDK-8294158: HTML formatting for PassFailJFrame instructions - - JDK-8294427: Check boxes and radio buttons have rendering issues on Windows in High DPI env - - JDK-8294535: Add screen capture functionality to PassFailJFrame - - JDK-8295068: SSLEngine throws NPE parsing CertificateRequests - - JDK-8295555: Primitive wrapper caches could be `@Stable` - - JDK-8299614: Shenandoah: STW mark should keep nmethod/oops referenced from stack chunk alive - - JDK-8300663: java/util/concurrent/SynchronousQueue/Fairness.java failed with "Error: fair=true i=0 j=1" - - JDK-8301247: JPackage app-image exe launches multiple exe's in JDK 17+ - - JDK-8301341: LinkedTransferQueue does not respect timeout for poll() - - JDK-8301457: Code in SendPortZero.java is uncommented even after JDK-8236852 was fixed - - JDK-8301489: C1: ShortLoopOptimizer might lift instructions before their inputs - - JDK-8301846: Invalid TargetDataLine after screen lock when using JFileChooser or COM library - - JDK-8303737: C2: Load can bypass subtype check that enforces it's from the right object type - - JDK-8306561: Possible out of bounds access in print_pointer_information - - JDK-8308103: Massive (up to ~30x) increase in C2 compilation time since JDK 17 - - JDK-8308452: Extend internal Architecture enum with byte order and address size - - JDK-8308479: [s390x] Implement alternative fast-locking scheme - - JDK-8308592: Framework for CA interoperability testing - - JDK-8308593: Add KEEPALIVE Extended Socket Options Support for Windows - - JDK-8309209: C2 failed "assert(_stack_guard_state == stack_guard_reserved_disabled) failed: inconsistent state" - - JDK-8309305: sun/security/ssl/SSLSocketImpl/BlockedAsyncClose.java fails with jtreg test timeout - - JDK-8309545: Thread.interrupted from virtual thread needlessly resets interrupt status - - JDK-8309663: test fails "assert(check_alignment(result)) failed: address not aligned: 0x00000008baadbabe" - - JDK-8309778: java/nio/file/Files/CopyAndMove.java fails when using second test directory - - JDK-8309974: some JVMCI tests fail when VM options include -XX:+EnableJVMCI - - JDK-8310239: Add missing cross modifying fence in nmethod entry barriers - - JDK-8310512: Cleanup indentation in jfc files - - JDK-8310596: Utilize existing method frame::interpreter_frame_monitor_size_in_bytes() - - JDK-8310982: jdk/internal/util/ArchTest.java fails after JDK-8308452 failed with Method isARM() - - JDK-8311261: [AIX] TestAlwaysPreTouchStacks.java fails due to java.lang.RuntimeException: Did not find expected NMT output - - JDK-8311514: Incorrect regex in TestMetaSpaceLog.java - - JDK-8311585: Add JRadioButtonMenuItem to bug8031573.java - - JDK-8311591: Add SystemModulesPlugin test case that splits module descriptors with new local variables defined by DedupSetBuilder - - JDK-8311630: [s390] Implementation of Foreign Function & Memory API (Preview) - - JDK-8311631: When multiple users run tools/jpackage/share/LicenseTest.java, Permission denied for writing /var/tmp/*.files - - JDK-8311680: Update the release version after forking Oct CPU23_10 - - JDK-8311681: Update the Jan CPU24_01 release date in master branch after forking Oct CPU23_10 - - JDK-8311813: C1: Uninitialized PhiResolver::_loop field - - JDK-8311938: Add default cups include location for configure on AIX - - JDK-8312078: [PPC] JcmdScale.java Failing on AIX - - JDK-8312126: NullPointerException in CertStore.getCRLs after 8297955 - - JDK-8312166: (dc) DatagramChannel's socket adaptor does not release carrier thread when blocking in receive - - JDK-8312174: missing JVMTI events from vthreads parked during JVMTI attach - - JDK-8312191: ColorConvertOp.filter for the default destination is too slow - - JDK-8312433: HttpClient request fails due to connection being considered idle and closed - - JDK-8312434: SPECjvm2008/xml.transform with CDS fails with "can't seal package nu.xom" - - JDK-8312440: assert(cast != nullptr) failed: must have added a cast to pin the node - - JDK-8312466: /bin/nm usage in AIX makes needs -X64 flag - - JDK-8312467: relax the builddir check in make/autoconf/basic.m4 - - JDK-8312592: New parentheses warnings after HarfBuzz 7.2.0 update - - JDK-8312612: handle WideCharToMultiByte return values - - JDK-8313164: src/java.desktop/windows/native/libawt/windows/awt_Robot.cpp GetRGBPixels adjust releasing of resources - - JDK-8313167: Update to use jtreg 7.3 - - JDK-8313206: PKCS11 tests silently skip execution - - JDK-8313244: NM flags handling in configure process - - JDK-8313252: Java_sun_awt_windows_ThemeReader_paintBackground release resources in early returns - - JDK-8313322: RISC-V: implement MD5 intrinsic - - JDK-8313368: (fc) FileChannel.size returns 0 on block special files - - JDK-8313575: Refactor PKCS11Test tests - - JDK-8313616: support loading library members on AIX in os::dll_load - - JDK-8313643: Update HarfBuzz to 8.2.2 - - JDK-8313656: assert(!JvmtiExport::can_support_virtual_threads()) with -XX:-DoJVMTIVirtualThreadTransitions - - JDK-8313756: [BACKOUT] 8308682: Enhance AES performance - - JDK-8313760: [REDO] Enhance AES performance - - JDK-8313779: RISC-V: use andn / orn in the MD5 instrinsic - - JDK-8313781: Add regression tests for large page logging and user-facing error messages - - JDK-8313782: Add user-facing warning if THPs are enabled but cannot be used - - JDK-8313792: Verify 4th party information in src/jdk.internal.le/share/legal/jline.md - - JDK-8313873: java/nio/channels/DatagramChannel/SendReceiveMaxSize.java fails on AIX due to small default RCVBUF size and different IPv6 Header interpretation - - JDK-8314045: ArithmeticException in GaloisCounterMode - - JDK-8314094: java/lang/ProcessHandle/InfoTest.java fails on Windows when run as user with Administrator privileges - - JDK-8314120: Add tests for FileDescriptor.sync - - JDK-8314121: test tools/jpackage/share/RuntimePackageTest.java#id0 fails on RHEL8 - - JDK-8314191: C2 compilation fails with "bad AD file" - - JDK-8314226: Series of colon-style fallthrough switch cases with guards compiled incorrectly - - JDK-8314242: Update applications/scimark/Scimark.java to accept VM flags - - JDK-8314246: javax/swing/JToolBar/4529206/bug4529206.java fails intermittently on Linux - - JDK-8314263: Signed jars triggering Logger finder recursion and StackOverflowError - - JDK-8314330: java/foreign tests should respect vm flags when start new processes - - JDK-8314476: TestJstatdPortAndServer.java failed with "java.rmi.NoSuchObjectException: no such object in table" - - JDK-8314495: Update to use jtreg 7.3.1 - - JDK-8314551: More generic way to handshake GC threads with monitor deflation - - JDK-8314580: PhaseIdealLoop::transform_long_range_checks fails with assert "was tested before" - - JDK-8314632: Intra-case dominance check fails in the presence of a guard - - JDK-8314759: VirtualThread.parkNanos timeout adjustment when pinned should be replaced - - JDK-8314883: Java_java_util_prefs_FileSystemPreferences_lockFile0 write result errno in missing case - - JDK-8314935: Shenandoah: Unable to throw OOME on back-to-back Full GCs - - JDK-8315026: ProcessHandle implementation listing processes on AIX should use getprocs64 - - JDK-8315062: [GHA] get-bootjdk action should return the abolute path - - JDK-8315082: [REDO] Generational ZGC: Tests crash with assert(index == 0 || is_power_of_2(index)) - - JDK-8315088: C2: assert(wq.size() - before == EMPTY_LOOP_SIZE) failed: expect the EMPTY_LOOP_SIZE nodes of this body if empty - - JDK-8315195: RISC-V: Update hwprobe query for new extensions - - JDK-8315206: RISC-V: hwprobe query is_set return wrong value - - JDK-8315213: java/lang/ProcessHandle/TreeTest.java test enhance output of children - - JDK-8315214: Do not run sun/tools/jhsdb tests concurrently - - JDK-8315362: NMT: summary diff reports threads count incorrectly - - JDK-8315377: C2: assert(u->find_out_with(Op_AddP) == nullptr) failed: more than 2 chained AddP nodes? - - JDK-8315383: jlink SystemModulesPlugin incorrectly parses the options - - JDK-8315415: OutputAnalyzer.shouldMatchByLine() fails in some cases - - JDK-8315437: Enable parallelism in vmTestbase/nsk/monitoring/stress/classload tests - - JDK-8315442: Enable parallelism in vmTestbase/nsk/monitoring/stress/thread tests - - JDK-8315452: Erroneous AST missing modifiers for partial input - - JDK-8315499: build using devkit on Linux ppc64le RHEL puts path to devkit into libsplashscreen - - JDK-8315545: C1: x86 cmove can use short branches - - JDK-8315549: CITime misreports code/total nmethod sizes - - JDK-8315554: C1: Replace "cmp reg, 0" with "test reg, reg" on x86 - - JDK-8315578: PPC builds are broken after JDK-8304913 - - JDK-8315579: SPARC64 builds are broken after JDK-8304913 - - JDK-8315606: Open source few swing text/html tests - - JDK-8315612: RISC-V: intrinsic for unsignedMultiplyHigh - - JDK-8315644: increase timeout of sun/security/tools/jarsigner/Warning.java - - JDK-8315651: Stop hiding AIX specific multicast socket errors via NetworkConfiguration (aix) - - JDK-8315683: Parallelize java/util/concurrent/tck/JSR166TestCase.java - - JDK-8315684: Parallelize sun/security/util/math/TestIntegerModuloP.java - - JDK-8315688: Update jdk21u fix version to 21.0.2 - - JDK-8315692: Parallelize gc/stress/TestStressRSetCoarsening.java test - - JDK-8315696: SignedLoggerFinderTest.java test failed - - JDK-8315702: jcmd Thread.dump_to_file slow with millions of virtual threads - - JDK-8315706: com/sun/tools/attach/warnings/DynamicLoadWarningTest.java real fix for failure on AIX - - JDK-8315735: VerifyError when switch statement used with synchronized block - - JDK-8315751: RandomTestBsi1999 fails often with timeouts on Linux ppc64le - - JDK-8315766: Parallelize gc/stress/TestStressIHOPMultiThread.java test - - JDK-8315770: serviceability/sa/TestJmapCoreMetaspace.java should run with -XX:-VerifyDependencies - - JDK-8315774: Enable parallelism in vmTestbase/gc/g1/unloading tests - - JDK-8315863: [GHA] Update checkout action to use v4 - - JDK-8315869: UseHeavyMonitors not used - - JDK-8315920: C2: "control input must dominate current control" assert failure - - JDK-8315931: RISC-V: xxxMaxVectorTestsSmokeTest fails when using RVV - - JDK-8315936: Parallelize gc/stress/TestStressG1Humongous.java test - - JDK-8315937: Enable parallelism in vmTestbase/nsk/stress/numeric tests - - JDK-8315942: Sort platform enums and definitions after JDK-8304913 follow-ups - - JDK-8315960: test/jdk/java/io/File/TempDirDoesNotExist.java leaves test files behind - - JDK-8315971: ProblemList containers/docker/TestMemoryAwareness.java on linux-all - - JDK-8316003: Update FileChooserSymLinkTest.java to HTML instructions - - JDK-8316017: Refactor timeout handler in PassFailJFrame - - JDK-8316025: Use testUI() method of PassFailJFrame.Builder in FileChooserSymLinkTest.java - - JDK-8316030: Update Libpng to 1.6.40 - - JDK-8316031: SSLFlowDelegate should not log from synchronized block - - JDK-8316060: test/hotspot/jtreg/runtime/reflect/ReflectOutOfMemoryError.java may fail if heap is huge - - JDK-8316087: Test SignedLoggerFinderTest.java is still failing - - JDK-8316113: Infinite permission checking loop in java/net/spi/InetAddressResolverProvider/RuntimePermissionTest - - JDK-8316123: ProblemList serviceability/dcmd/gc/RunFinalizationTest.java on AIX - - JDK-8316130: Incorrect control in LibraryCallKit::inline_native_notify_jvmti_funcs - - JDK-8316142: Enable parallelism in vmTestbase/nsk/monitoring/stress/lowmem tests - - JDK-8316156: ByteArrayInputStream.transferTo causes MaxDirectMemorySize overflow - - JDK-8316178: Better diagnostic header for CodeBlobs - - JDK-8316179: Use consistent naming for lightweight locking in MacroAssembler - - JDK-8316181: Move the fast locking implementation out of the .ad files - - JDK-8316199: Remove sun/tools/jstatd/TestJstatd* tests from problemlist for Windows. - - JDK-8316206: Test StretchedFontTest.java fails for Baekmuk font - - JDK-8316304: (fs) Add support for BasicFileAttributes.creationTime() for Linux - - JDK-8316337: (bf) Concurrency issue in DirectByteBuffer.Deallocator - - JDK-8316341: sun/security/pkcs11/PKCS11Test.java needs adjustment on Linux ppc64le Ubuntu 22 - - JDK-8316387: Exclude more failing multicast tests on AIX after JDK-8315651 - - JDK-8316396: Endless loop in C2 compilation triggered by AddNode::IdealIL - - JDK-8316399: Exclude java/net/MulticastSocket/Promiscuous.java on AIX - - JDK-8316400: Exclude jdk/jfr/event/runtime/TestResidentSetSizeEvent.java on AIX - - JDK-8316401: sun/tools/jhsdb/JStackStressTest.java failed with "InternalError: We should have found a thread that owns the anonymous lock" - - JDK-8316411: compiler/compilercontrol/TestConflictInlineCommands.java fails intermittent with force inline by CompileCommand missing - - JDK-8316414: C2: large byte array clone triggers "failed: malformed control flow" assertion failure on linux-x86 - - JDK-8316415: Parallelize sun/security/rsa/SignedObjectChain.java subtests - - JDK-8316418: containers/docker/TestMemoryWithCgroupV1.java get OOM killed with Parallel GC - - JDK-8316436: ContinuationWrapper uses unhandled nullptr oop - - JDK-8316461: Fix: make test outputs TEST SUCCESS after unsuccessful exit - - JDK-8316468: os::write incorrectly handles partial write - - JDK-8316514: Better diagnostic header for VtableStub - - JDK-8316540: StoreReproducibilityTest fails on some locales - - JDK-8316566: RISC-V: Zero extended narrow oop passed to Atomic::cmpxchg - - JDK-8316581: Improve performance of Symbol::print_value_on() - - JDK-8316585: [REDO] runtime/InvocationTests spend a lot of time on dependency verification - - JDK-8316645: RISC-V: Remove dependency on libatomic by adding cmpxchg 1b - - JDK-8316648: jrt-fs.jar classes not reproducible between standard and bootcycle builds - - JDK-8316659: assert(LockingMode != LM_LIGHTWEIGHT || flag == CCR0) failed: bad condition register - - JDK-8316671: sun/security/ssl/SSLSocketImpl/SSLSocketCloseHang.java test fails intermittent with Read timed out - - JDK-8316679: C2 SuperWord: wrong result, load should not be moved before store if not comparable - - JDK-8316710: Exclude java/awt/font/Rotate/RotatedTextTest.java - - JDK-8316719: C2 compilation still fails with "bad AD file" - - JDK-8316735: Print LockStack in hs_err files - - JDK-8316741: BasicStroke.createStrokedShape miter-limits failing on small shapes - - JDK-8316743: RISC-V: Change UseVectorizedMismatchIntrinsic option result to warning - - JDK-8316746: Top of lock-stack does not match the unlocked object - - JDK-8316778: test hprof lib: invalid array element type from JavaValueArray.elementSize - - JDK-8316859: RISC-V: Disable detection of V through HWCAP - - JDK-8316879: RegionMatches1Tests fails if CompactStrings are disabled after JDK-8302163 - - JDK-8316880: AArch64: "stop: Header is not fast-locked" with -XX:-UseLSE since JDK-8315880 - - JDK-8316894: make test TEST="jtreg:test/jdk/..." fails on AIX - - JDK-8316906: Clarify TLABWasteTargetPercent flag - - JDK-8316929: Shenandoah: Shenandoah degenerated GC and full GC need to cleanup old OopMapCache entries - - JDK-8316933: RISC-V: compiler/vectorapi/VectorCastShape128Test.java fails when using RVV - - JDK-8316935: [s390x] Use consistent naming for lightweight locking in MacroAssembler - - JDK-8316958: Add test for unstructured locking - - JDK-8316967: Correct the scope of vmtimer in UnregisteredClasses::load_class - - JDK-8317039: Enable specifying the JDK used to run jtreg - - JDK-8317136: [AIX] Problem List runtime/jni/terminatedThread/TestTerminatedThread.java - - JDK-8317257: RISC-V: llvm build broken - - JDK-8317262: LockStack::contains(oop) fails "assert(t->is_Java_thread()) failed: incorrect cast to JavaThread" - - JDK-8317294: Classloading throws exceptions over already pending exceptions - - JDK-8317327: Remove JT_JAVA dead code in jib-profiles.js - - JDK-8317331: Solaris build failed with "declaration can not follow a statement (E_DECLARATION_IN_CODE)" - - JDK-8317335: Build on windows fails after 8316645 - - JDK-8317336: Assertion error thrown during 'this' escape analysis - - JDK-8317340: Windows builds are not reproducible if MS VS compiler install path differs - - JDK-8317373: Add Telia Root CA v2 - - JDK-8317374: Add Let's Encrypt ISRG Root X2 - - JDK-8317439: Updating RE Configs for BUILD REQUEST 21.0.2+1 - - JDK-8317507: C2 compilation fails with "Exceeded _node_regs array" - - JDK-8317510: Change Windows debug symbol files naming to avoid losing info when an executable and a library share the same name - - JDK-8317581: [s390x] Multiple test failure with LockingMode=2 - - JDK-8317601: Windows build on WSL broken after JDK-8317340 - - JDK-8317603: Improve exception messages thrown by sun.nio.ch.Net native methods (win) - - JDK-8317692: jcmd GC.heap_dump performance regression after JDK-8292818 - - JDK-8317705: ProblemList sun/tools/jstat/jstatLineCountsX.sh on linux-ppc64le and aix due to JDK-8248691 - - JDK-8317706: Exclude java/awt/Graphics2D/DrawString/RotTransText.java on linux - - JDK-8317711: Exclude gtest/GTestWrapper.java on AIX - - JDK-8317736: Stream::handleReset locks twice - - JDK-8317751: ProblemList ConsumeForModalDialogTest.java, MenuItemActivatedTest.java & MouseModifiersUnitTest_Standard.java for windows - - JDK-8317772: NMT: Make peak values available in release builds - - JDK-8317790: Fix Bug entry for exclusion of runtime/jni/terminatedThread/TestTerminatedThread.java on AIX - - JDK-8317803: Exclude java/net/Socket/asyncClose/Race.java on AIX - - JDK-8317807: JAVA_FLAGS removed from jtreg running in JDK-8317039 - - JDK-8317818: Combinatorial explosion during 'this' escape analysis - - JDK-8317834: java/lang/Thread/IsAlive.java timed out - - JDK-8317839: Exclude java/nio/channels/Channels/SocketChannelStreams.java on AIX - - JDK-8317920: JDWP-agent sends broken exception event with onthrow option - - JDK-8317959: Check return values of malloc in native java.base coding - - JDK-8317964: java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Standard.java fails on macosx-all after JDK-8317751 - - JDK-8317967: Enhance test/jdk/javax/net/ssl/TLSCommon/SSLEngineTestCase.java to handle default cases - - JDK-8317987: C2 recompilations cause high memory footprint - - JDK-8318078: ADLC: pass ASSERT and PRODUCT flags - - JDK-8318089: Class space not marked as such with NMT when CDS is off - - JDK-8318137: Change milestone to fcs for all releases - - JDK-8318144: Match on enum constants with body compiles but fails with MatchException - - JDK-8318183: C2: VM may crash after hitting node limit - - JDK-8318240: [AIX] Cleaners.java test failure - - JDK-8318415: Adjust describing comment of os_getChildren after 8315026 - - JDK-8318474: Fix memory reporter for thread_count - - JDK-8318525: Atomic gtest should run as TEST_VM to access VM capabilities - - JDK-8318528: Rename TestUnstructuredLocking test - - JDK-8318540: make test cannot run .jasm tests directly - - JDK-8318562: Computational test more than 2x slower when AVX instructions are used - - JDK-8318587: refresh libraries cache on AIX in print_vm_info - - JDK-8318591: avoid leaks in loadlib_aix.cpp reload_table() - - JDK-8318669: Target OS detection in 'test-prebuilt' makefile target is incorrect when running on MSYS2 - - JDK-8318705: [macos] ProblemList java/rmi/registry/multipleRegistries/MultipleRegistries.java - - JDK-8318736: com/sun/jdi/JdwpOnThrowTest.java failed with "transport error 202: bind failed: Address already in use" - - JDK-8318759: Add four DigiCert root certificates - - JDK-8318889: C2: add bailout after assert Bad graph detected in build_loop_late - - JDK-8318895: Deoptimization results in incorrect lightweight locking stack - - JDK-8318951: Additional negative value check in JPEG decoding - - JDK-8318953: RISC-V: Small refactoring for MacroAssembler::test_bit - - JDK-8318955: Add ReleaseIntArrayElements in Java_sun_awt_X11_XlibWrapper_SetBitmapShape XlbWrapper.c to early return - - JDK-8318957: enhance agentlib:jdwp help output by info about allow option - - JDK-8318961: increase javacserver connection timeout values and max retry attempts - - JDK-8318981: compiler/compilercontrol/TestConflictInlineCommands.java fails intermittent with 'disallowed by CompileCommand' missing from stdout/stderr - - JDK-8319104: GtestWrapper crashes with SIGILL in AsyncLogTest::test_asynclog_raw on AIX opt - - JDK-8319120: Unbound ScopedValue.get() throws the wrong exception - - JDK-8319184: RISC-V: improve MD5 intrinsic - - JDK-8319187: Add three eMudhra emSign roots - - JDK-8319195: Move most tier 1 vector API regression tests to tier 3 - - JDK-8319268: Build failure with GCC8.3.1 after 8313643 - - JDK-8319339: Internal error on spurious markup in a hybrid snippet - - JDK-8319436: Proxy.newProxyInstance throws NPE if loader is null and interface not visible from class loader - - JDK-8319525: RISC-V: Rename *_riscv64.ad files to *_riscv.ad under riscv/gc - - JDK-8319532: jshell - Non-sealed declarations sometimes break a snippet evaluation - - JDK-8319542: Fix boundaries of region to be tested with os::is_readable_range - - JDK-8319700: [AArch64] C2 compilation fails with "Field too big for insn" - - JDK-8319828: runtime/NMT/VirtualAllocCommitMerge.java may fail if mixing interpreted and compiled native invocations - - JDK-8319922: libCreationTimeHelper.so fails to link in JDK 21 - - JDK-8319958: test/jdk/java/io/File/libGetXSpace.c does not compile on Windows 32-bit - - JDK-8319961: JvmtiEnvBase doesn't zero _ext_event_callbacks - - JDK-8320001: javac crashes while adding type annotations to the return type of a constructor - - JDK-8320053: GHA: Cross-compile gtest code - - JDK-8320209: VectorMaskGen clobbers rflags on x86_64 - - JDK-8320280: RISC-V: Avoid passing t0 as temp register to MacroAssembler::lightweight_lock/unlock - - JDK-8320363: ppc64 TypeEntries::type_unknown logic looks wrong, missed optimization opportunity - - JDK-8320597: RSA signature verification fails on signed data that does not encode params correctly - - JDK-8320601: ProblemList java/lang/invoke/lambda/LambdaFileEncodingSerialization.java on linux-all - - JDK-8321067: Unlock experimental options in EATests.java - - JDK-8322883: [BACKOUT] 8225377: type annotations are not visible to javac plugins across compilation boundaries - - JDK-8322985: [BACKOUT] 8318562: Computational test more than 2x slower when AVX instructions are used - -Notes on individual issues: -=========================== - -core-libs/java.net: - -JDK-8308593: Add KEEPALIVE Extended Socket Options Support for Windows -====================================================================== -On Windows 10 version 1709 and above, TCP_KEEPIDLE and -TCP_KEEPINTERVAL are now supported in the -java.net.ExtendedSocketOptions class. Similarly, on Windows 10 -version 1703 and above, TCP_KEEPCOUNT is now supported. - -hotspot/compiler: - -JDK-8315082: [REDO] Generational ZGC: Tests crash with assert(index == 0 || is_power_of_2(index)) -================================================================================================= -In the initial release of JDK 21, running the JVM with -XX:+UseZGC and -a non-default value of -XX:ObjectAlignmentInBytes could lead to JVM -crashes or incorrect execution. This issue should now be resolved and -it should be possible to use these options again. - -hotspot/runtime: - -JDK-8317772: NMT: Make peak values available in release builds -============================================================== -The peak value is the highest value for committed memory in a given -Native Memory Tracking (NMT) category over the lifetime of the JVM -process. NMT reports will now show the peak value for all categories. - -If the committed memory for a category is at its peak, NMT will -print "at peak". Otherwise, it prints the peak value. - -For example, "Compiler (arena=196KB #4) (peak=6126KB #16)" shows that -compiler arena memory peaked above 6 MB, but now hovers around 200KB. - -JDK-8313782: Add user-facing warning if THPs are enabled but cannot be used -=========================================================================== -On Linux, the JVM will now print the following message to standard -output if Transparent Huge Pages (THPs) are requested, but are not -supported on the operating system: - -"UseTransparentHugePages disabled; transparent huge pages are not -supported by the operating system." - -security-libs/java.security: - -JDK-8317374: Added ISRG Root X2 CA Certificate from Let's Encrypt -================================================================= -The following root certificate has been added to the cacerts -truststore: - -Name: Let's Encrypt -Alias Name: letsencryptisrgx2 -Distinguished Name: CN=ISRG Root X2, O=Internet Security Research Group, C=US - -JDK-8318759: Added Four Root Certificates from DigiCert, Inc. -============================================================= -The following root certificates have been added to the cacerts -truststore: - -Name: DigiCert, Inc. -Alias Name: digicertcseccrootg5 -Distinguished Name: CN=DigiCert CS ECC P384 Root G5, O="DigiCert, Inc.", C=US - -Name: DigiCert, Inc. -Alias Name: digicertcsrsarootg5 -Distinguished Name: CN=DigiCert CS RSA4096 Root G5, O="DigiCert, Inc.", C=US - -Name: DigiCert, Inc. -Alias Name: digicerttlseccrootg5 -Distinguished Name: CN=DigiCert TLS ECC P384 Root G5, O="DigiCert, Inc.", C=US - -Name: DigiCert, Inc. -Alias Name: digicerttlsrsarootg5 -Distinguished Name: CN=DigiCert TLS RSA4096 Root G5, O="DigiCert, Inc.", C=US - -JDK-8319187: Added Three Root Certificates from eMudhra Technologies Limited -============================================================================ -The following root certificates have been added to the cacerts -truststore: - -Name: eMudhra Technologies Limited -Alias Name: emsignrootcag1 -Distinguished Name: CN=emSign Root CA - G1, O=eMudhra Technologies Limited, OU=emSign PKI, C=IN - -Name: eMudhra Technologies Limited -Alias Name: emsigneccrootcag3 -Distinguished Name: CN=emSign ECC Root CA - G3, O=eMudhra Technologies Limited, OU=emSign PKI, C=IN - -Name: eMudhra Technologies Limited -Alias Name: emsignrootcag2 -Distinguished Name: CN=emSign Root CA - G2, O=eMudhra Technologies Limited, OU=emSign PKI, C=IN - -JDK-8317373: Added Telia Root CA v2 Certificate -=============================================== -The following root certificate has been added to the cacerts -truststore: - -Name: Telia Root CA v2 -Alias Name: teliarootcav2 -Distinguished Name: CN=Telia Root CA v2, O=Telia Finland Oyj, C=FI ``` - -New in release OpenJDK 21.0.1 (2023-10-17): -=========================================== - -* CVEs - - CVE-2023-22081 - - CVE-2023-22025 -* Security fixes - - JDK-8286503, JDK-8312367: Enhance security classes - - JDK-8296581: Better system proxy support - - JDK-8297856: Improve handling of Bidi characters - - JDK-8309966: Enhanced TLS connections - - JDK-8312248: Enhanced archival support redux - - JDK-8314649: Enhanced archival support redux - - JDK-8317121: vector_masked_load instruction is moved too early after JDK-8286941 -* Other changes - - JDK-8240567: MethodTooLargeException thrown while creating a jlink image - - JDK-8284772: GHA: Use GCC Major Version Dependencies Only - - JDK-8293114: JVM should trim the native heap - - JDK-8299658: C1 compilation crashes in LinearScan::resolve_exception_edge - - JDK-8302017: Allocate BadPaddingException only if it will be thrown - - JDK-8303815: Improve Metaspace test speed - - JDK-8304954: SegmentedCodeCache fails when using large pages - - JDK-8307766: Linux: Provide the option to override the timer slack - - JDK-8308042: [macos] Developer ID Application Certificate not picked up by jpackage if it contains UNICODE characters - - JDK-8308047: java/util/concurrent/ScheduledThreadPoolExecutor/BasicCancelTest.java timed out and also had jcmd pipe errors - - JDK-8308184: Launching java with large number of jars in classpath with java.protocol.handler.pkgs system property set can lead to StackOverflowError - - JDK-8308474: DSA does not reset SecureRandom when initSign is called again - - JDK-8308609: java/lang/ScopedValue/StressStackOverflow.java fails with "-XX:-VMContinuations" - - JDK-8309032: jpackage does not work for module projects unless --module-path is specified - - JDK-8309088: security/infra/java/security/cert/CertPathValidator/certification/AmazonCA.java fails - - JDK-8309214: sun/security/pkcs11/KeyStore/CertChainRemoval.java fails after 8301154 - - JDK-8309475: Test java/foreign/TestByteBuffer.java fails: a problem with msync (aix) - - JDK-8309502: RISC-V: String.indexOf intrinsic may produce misaligned memory loads - - JDK-8309591: Socket.setOption(TCP_QUICKACK) uses wrong level - - JDK-8309746: Reconfigure check should include make/conf/version-numbers.conf - - JDK-8309889: [s390] Missing return statement after calling jump_to_native_invoker method in generate_method_handle_dispatch. - - JDK-8310106: sun.security.ssl.SSLHandshake.getHandshakeProducer() incorrectly checks handshakeConsumers - - JDK-8310171: Bump version numbers for 21.0.1 - - JDK-8310211: serviceability/jvmti/thread/GetStackTrace/getstacktr03/getstacktr03.java failing - - JDK-8310233: Fix THP detection on Linux - - JDK-8310268: RISC-V: misaligned memory access in String.Compare intrinsic - - JDK-8310321: make JDKOPT_CHECK_CODESIGN_PARAMS more verbose - - JDK-8310586: ProblemList java/lang/ScopedValue/StressStackOverflow.java#default with virtual threads on linux-all - - JDK-8310687: JDK-8303215 is incomplete - - JDK-8310873: Re-enable locked_create_entry symbol check in runtime/NMT/CheckForProperDetailStackTrace.java for RISC-V - - JDK-8311026: Some G1 specific tests do not set -XX:+UseG1GC - - JDK-8311033: [macos] PrinterJob does not take into account Sides attribute - - JDK-8311160: [macOS, Accessibility] VoiceOver: No announcements on JRadioButtonMenuItem and JCheckBoxMenuItem - - JDK-8311249: Remove unused MemAllocator::obj_memory_range - - JDK-8311285: report some fontconfig related environment variables in hs_err file - - JDK-8311511: Improve description of NativeLibrary JFR event - - JDK-8311592: ECKeySizeParameterSpec causes too many exceptions on third party providers - - JDK-8311682: Change milestone to fcs for all releases - - JDK-8311862: RISC-V: small improvements to shift immediate instructions - - JDK-8311917: MAP_FAILED definition seems to be obsolete in src/java.desktop/unix/native/common/awt/fontpath.c - - JDK-8311921: Inform about MaxExpectedDataSegmentSize in case of pthread_create failures on AIX - - JDK-8311923: TestIRMatching.java fails on RISC-V - - JDK-8311926: java/lang/ScopedValue/StressStackOverflow.java takes 9mins in tier1 - - JDK-8311955: c++filt is now ibm-llvm-cxxfilt when using xlc17 / clang on AIX - - JDK-8311981: Test gc/stringdedup/TestStringDeduplicationAgeThreshold.java#ZGenerational timed out - - JDK-8312127: FileDescriptor.sync should temporarily increase parallelism - - JDK-8312180: (bf) MappedMemoryUtils passes incorrect arguments to msync (aix) - - JDK-8312182: THPs cause huge RSS due to thread start timing issue - - JDK-8312394: [linux] SIGSEGV if kernel was built without hugepage support - - JDK-8312395: Improve assertions in growableArray - - JDK-8312401: SymbolTable::do_add_if_needed hangs when called in InstanceKlass::add_initialization_error path with requesting length exceeds max_symbol_length - - JDK-8312489: Increase jdk.jar.maxSignatureFileSize default which is too low for JARs such as WhiteSource/Mend unified agent jar - - JDK-8312525: New test runtime/os/TestTrimNative.java#trimNative is failing: did not see the expected RSS reduction - - JDK-8312535: MidiSystem.getSoundbank() throws unexpected SecurityException - - JDK-8312555: Ideographic characters aren't stretched by AffineTransform.scale(2, 1) - - JDK-8312573: Failure during CompileOnly parsing leads to ShouldNotReachHere - - JDK-8312585: Rename DisableTHPStackMitigation flag to THPStackMitigation - - JDK-8312591: GCC 6 build failure after JDK-8280982 - - JDK-8312619: Strange error message when switching over long - - JDK-8312620: WSL Linux build crashes after JDK-8310233 - - JDK-8312625: Test serviceability/dcmd/vm/TrimLibcHeapTest.java failed: RSS use increased - - JDK-8312909: C1 should not inline through interface calls with non-subtype receiver - - JDK-8312976: MatchResult produces StringIndexOutOfBoundsException for groups outside match - - JDK-8312984: javac may crash on a record pattern with too few components - - JDK-8313081: MonitoringSupport_lock should be unconditionally initialized after 8304074 - - JDK-8313248: C2: setScopedValueCache intrinsic exposes nullptr pre-values to store barriers - - JDK-8313262: C2: Sinking node may cause required cast to be dropped - - JDK-8313307: java/util/Formatter/Padding.java fails on some Locales - - JDK-8313312: Add missing classpath exception copyright header - - JDK-8313323: javac -g on a java file which uses unnamed variable leads to ClassFormatError when launching that class - - JDK-8313402: C1: Incorrect LoadIndexed value numbering - - JDK-8313428: GHA: Bump GCC versions for July 2023 updates - - JDK-8313576: GCC 7 reports compiler warning in bundled freetype 2.13.0 - - JDK-8313602: increase timeout for jdk/classfile/CorpusTest.java - - JDK-8313626: C2 crash due to unexpected exception control flow - - JDK-8313657: com.sun.jndi.ldap.Connection.cleanup does not close connections on SocketTimeoutErrors - - JDK-8313676: Amend TestLoadIndexedMismatch test to target intrinsic directly - - JDK-8313678: SymbolTable can leak Symbols during cleanup - - JDK-8313691: use close after failing os::fdopen in vmError and ciEnv - - JDK-8313701: GHA: RISC-V should use the official repository for bootstrap - - JDK-8313707: GHA: Bootstrap sysroots with --variant=minbase - - JDK-8313752: InstanceKlassFlags::print_on doesn't print the flag names - - JDK-8313765: Invalid CEN header (invalid zip64 extra data field size) - - JDK-8313796: AsyncGetCallTrace crash on unreadable interpreter method pointer - - JDK-8313874: JNI NewWeakGlobalRef throws exception for null arg - - JDK-8313901: [TESTBUG] test/hotspot/jtreg/compiler/codecache/CodeCacheFullCountTest.java fails with java.lang.VirtualMachineError - - JDK-8313904: [macos] All signing tests which verifies unsigned app images are failing - - JDK-8314020: Print instruction blocks in byte units - - JDK-8314024: SIGSEGV in PhaseIdealLoop::build_loop_late_post_work due to bad immediate dominator info - - JDK-8314063: The socket is not closed in Connection::createSocket when the handshake failed for LDAP connection - - JDK-8314117: RISC-V: Incorrect VMReg encoding in RISCV64Frame.java - - JDK-8314118: Update JMH devkit to 1.37 - - JDK-8314139: TEST_BUG: runtime/os/THPsInThreadStackPreventionTest.java could fail on machine with large number of cores - - JDK-8314144: gc/g1/ihop/TestIHOPStatic.java fails due to extra concurrent mark with -Xcomp - - JDK-8314216: Case enumConstant, pattern compilation fails - - JDK-8314262: GHA: Cut down cross-compilation sysroots deeper - - JDK-8314423: Multiple patterns without unnamed variables - - JDK-8314426: runtime/os/TestTrimNative.java is failing on slow machines - - JDK-8314501: Shenandoah: sun/tools/jhsdb/heapconfig/JMapHeapConfigTest.java fails - - JDK-8314517: some tests fail in case ipv6 is disabled on the machine - - JDK-8314618: RISC-V: -XX:MaxVectorSize does not work as expected - - JDK-8314656: GHA: No need for Debian ports keyring installation after JDK-8313701 - - JDK-8314679: SA fails to properly attach to JVM after having just detached from a different JVM - - JDK-8314730: GHA: Drop libfreetype6-dev transitional package in favor of libfreetype-dev - - JDK-8314850: SharedRuntime::handle_wrong_method() gets called too often when resolving Continuation.enter - - JDK-8314960: Add Certigna Root CA - 2 - - JDK-8315020: The macro definition for LoongArch64 zero build is not accurate. - - JDK-8315051: jdk/jfr/jvm/TestGetEventWriter.java fails with non-JVMCI GCs - - JDK-8315534: Incorrect warnings about implicit annotation processing - -Notes on individual issues: -=========================== - -core-libs/java.util.jar: - -JDK-8313765: Invalid CEN header (invalid zip64 extra data field size) -===================================================================== -Additional validity checks in the handling of Zip64 files, -JDK-8302483, introduced in 21.0.0, caused the use of some valid zip -files to now fail with the error, `Invalid CEN header (invalid zip64 -extra data field size)` - -This release, 21.0.1, allows for zero length headers and additional -padding produced by some Zip64 creation tools. - -The following third party tools have also released patches to better -adhere to the ZIP File Format Specification: - -* Apache Commons Compress fix for Empty CEN Zip64 Extra Headers fixed in Commons Compress release 1.11 -* Apache Ant fix for Empty CEN Zip64 Extra Headers fixed in Ant 1.10.14 -* BND issue with writing invalid Extra Headers fixed in BND 5.3 - -The maven-bundle-plugin 5.1.5 includes the BND 5.3 patch. - -If these improved validation checks cause issues for deployed zip or -jar files, check how the file was created and whether patches are -available from the generating software to resolve the issue. With -both JDK releases, the checks can be disabled by setting the new -system property, `jdk.util.zip.disableZip64ExtraFieldValidation` to -`true`. - -hotspot/runtime: - -JDK-8311981: JVM May Hang When Using Generational ZGC if a VM Handshake Stalls on Memory -======================================================================================== -The JVM can hang under an uncommon condition that involves the JVM -running out of heap memory, the GC just starting a relocation phase to -reclaim memory, and a JVM thread-local Handshake asking to relocate an -object. This potential deadlock should now be avoided in this -release. - -core-libs/java.util.regex: - -JDK-8312976: `java.util.regex.MatchResult` Might Throw `StringIndexOutOfBoundsException` on Regex Patterns Containing Lookaheads and Lookbehinds -================================================================================================================================================ -JDK-8132995 introduced an unintended regression when using instances -returned by `java.util.regex.Matcher.toMatchResult()`. - -This regression happens with a `java.util.regex.Pattern`s containing -lookaheads and lookbehinds that, in turn, contain groups. If these are -located outside the match, a `StringIndexOutOfBoundsException` is -thrown when accessing these groups. See JDK-8312976 for an example. - -The issue is resolved in this release by calculating a minimum start -location as part of the match result and using this in constructing -String objects, rather than the location of the first match. - -JDK-8314960: Added Certigna Root CA Certificate -=============================================== -The following root certificate has been added to the cacerts -truststore: - -Name: Certigna (Dhimyotis) -Alias Name: certignarootca -Distinguished Name: CN=Certigna Root CA, OU=0002 48146308100036, O=Dhimyotis, C=FR - -JDK-8312489: Increase Default Value of the System Property `jdk.jar.maxSignatureFileSize` -========================================================================================= -A maximum signature file size property, jdk.jar.maxSignatureFileSize, -was introduced in the 21.0.0 release of OpenJDK by JDK-8300596 to -control the maximum size of signature files in a signed JAR. The -default value of 8MB proved to be too small for some JAR files. This -release, 21.0.1, increases it to 16MB. - -New in release OpenJDK 21.0.0 (2023-09-XX): -=========================================== -Major changes are listed below. Some changes may have been backported -to earlier releases following their first appearance in OpenJDK 18 -through to 21. - -NEW FEATURES -============ - -Language Features -================= - -Pattern Matching for switch -=========================== -https://openjdk.org/jeps/406 -https://openjdk.org/jeps/420 -https://openjdk.org/jeps/427 -https://openjdk.org/jeps/433 -https://openjdk.org/jeps/441 - -Enhance the Java programming language with pattern matching for -`switch` expressions and statements, along with extensions to the -language of patterns. Extending pattern matching to `switch` allows an -expression to be tested against a number of patterns, each with a -specific action, so that complex data-oriented queries can be -expressed concisely and safely. - -This was a preview feature (http://openjdk.java.net/jeps/12) -introduced in OpenJDK 17 (JEP 406), which saw a second preview in -OpenJDK 18 (JEP 420), a third in OpenJDK 19 (JEP 427) and a fourth -(JEP 427) in OpenJDK 20. It became final with OpenJDK 21 (JEP 441). - -Record Patterns -=============== -https://openjdk.org/jeps/405 -https://openjdk.org/jeps/432 -https://openjdk.org/jeps/440 - -Enhance the Java programming language with record patterns to -deconstruct record values. Record patterns and type patterns can be -nested to enable a powerful, declarative, and composable form of data -navigation and processing. - -This was a preview feature (http://openjdk.java.net/jeps/12) introduced -in OpenJDK 19 (JEP 405) with a second preview (JEP 432) in OpenJDK 20. -It became final with OpenJDK 21 (JEP 440). - -String Templates -================ -https://openjdk.org/jeps/430 - -Enhance the Java programming language with string templates. String -templates complement Java's existing string literals and text blocks -by coupling literal text with embedded expressions and template -processors to produce specialized results. - -This is a preview feature (http://openjdk.java.net/jeps/12) introduced -in OpenJDK 21 (JEP 430). - -Unnamed Patterns and Variables -============================== -https://openjdk.org/jeps/443 - -Enhance the Java language with unnamed patterns, which match a record -component without stating the component's name or type, and unnamed -variables, which can be initialized but not used. Both are denoted by -an underscore character, _. - -This is a preview feature (http://openjdk.java.net/jeps/12) introduced -in OpenJDK 21 (JEP 443). - -Unnamed Classes and Instance Main Methods (Preview) -=================================================== -https://openjdk.org/jeps/445 - -Evolve the Java language so that students can write their first -programs without needing to understand language features designed for -large programs. Far from using a separate dialect of Java, students -can write streamlined declarations for single-class programs and then -seamlessly expand their programs to use more advanced features as -their skills grow. - -This is a preview feature (http://openjdk.java.net/jeps/12) introduced -in OpenJDK 21 (JEP 445). - -Library Features -================ - -UTF-8 by Default -================ -https://openjdk.org/jeps/400 - -Specify UTF-8 as the default charset of the standard Java APIs. With -this change, APIs that depend upon the default charset will behave -consistently across all implementations, operating systems, locales, -and configurations. - -Reimplement Core Reflection with Method Handles -=============================================== -https://openjdk.org/jeps/416 - -Reimplement java.lang.reflect.Method, Constructor, and Field on top of -java.lang.invoke method handles. Making method handles the underlying -mechanism for reflection will reduce the maintenance and development -cost of both the java.lang.reflect and java.lang.invoke APIs. - -Vector API -========== -https://openjdk.org/jeps/338 -https://openjdk.org/jeps/414 -https://openjdk.org/jeps/417 -https://openjdk.org/jeps/426 -https://openjdk.org/jeps/438 -https://openjdk.org/jeps/448 - -Introduce an API to express vector computations that reliably compile -at runtime to optimal vector hardware instructions on supported CPU -architectures and thus achieve superior performance to equivalent -scalar computations. - -This is an incubation feature (https://openjdk.java.net/jeps/11) -introduced in OpenJDK 16 (JEP 338). A second round of incubation took -place in OpenJDK 17 (JEP 414), OpenJDK 18 (JEP 417) saw a third, -OpenJDK 19 a fourth (JEP 426), OpenJDK 20 (JEP 438) a fifth and -OpenJDK 21 a sixth (JEP 448). - -Internet-Address Resolution SPI -=============================== -https://openjdk.org/jeps/418 - -Define a service-provider interface (SPI) for host name and address -resolution, so that java.net.InetAddress can make use of resolvers -other than the platform's built-in resolver. - -Foreign Function & Memory API -============================= -https://openjdk.org/jeps/412 -https://openjdk.org/jeps/419 -https://openjdk.org/jeps/424 -https://openjdk.org/jeps/434 -https://openjdk.org/jeps/442 - -Introduce an API by which Java programs can interoperate with code and -data outside of the Java runtime. By efficiently invoking foreign -functions (i.e., code outside the JVM), and by safely accessing -foreign memory (i.e., memory not managed by the JVM), the API enables -Java programs to call native libraries and process native data without -the brittleness and danger of JNI. - -This API is now a preview feature (http://openjdk.java.net/jeps/12). -It was first introduced in incubation -(https://openjdk.java.net/jeps/11) in OpenJDK 17 (JEP 412), and is an -evolution of the Foreign Memory Access API (OpenJDK 14 through 16) and -Foreign Linker API (OpenJDK 16) (see release notes for -java-17-openjdk). OpenJDK 18 saw a second round of incubation (JEP -419) before its inclusion as a preview in OpenJDK 19 (JEP 424) and a -second in OpenJDK 20 (JEP 434). It reaches a third preview in OpenJDK -21 (JEP 442). - -Virtual Threads -=============== -https://openjdk.org/jeps/425 -https://openjdk.org/jeps/436 -https://openjdk.org/jeps/444 - -Introduce virtual threads to the Java Platform. Virtual threads are -lightweight threads that dramatically reduce the effort of writing, -maintaining, and observing high-throughput concurrent applications. - -This was a preview feature (http://openjdk.java.net/jeps/12) -introduced in OpenJDK 19 (JEP 425) and reaching its second preview in -OpenJDK 20 (JEP 436). It became final with OpenJDK 21 (JEP 444). - -Structured Concurrency -====================== -https://openjdk.org/jeps/428 -https://openjdk.org/jeps/437 -https://openjdk.org/jeps/453 - -Simplify multithreaded programming by introducing an API for -structured concurrency. Structured concurrency treats multiple tasks -running in different threads as a single unit of work, thereby -streamlining error handling and cancellation, improving reliability, -and enhancing observability. - -This API is now a preview feature (http://openjdk.java.net/jeps/12) in -OpenJDK 21 (JEP 453). It was first introduced in incubation -(https://openjdk.java.net/jeps/11) in OpenJDK 19 (JEP 428) and had a -second round of incubation in OpenJDK 20 (JEP 437). - -Scoped Values -============= -https://openjdk.org/jeps/429 - -Introduce scoped values, which enable the sharing of immutable data -within and across threads. They are preferred to thread-local -variables, especially when using large numbers of virtual threads. - -This API is now a preview feature (http://openjdk.java.net/jeps/12) -in OpenJDK 21 (JEP 429). It was first introduced in incubation -(https://openjdk.java.net/jeps/11) in OpenJDK 20 (JEP 429). - -Sequenced Collections -===================== -https://openjdk.org/jeps/431 - -Introduce new interfaces to represent collections with a defined -encounter order. Each such collection has a well-defined first -element, second element, and so forth, up to the last element. It also -provides uniform APIs for accessing its first and last elements, and -for processing its elements in reverse order. - -Key Encapsulation Mechanism API -=============================== -https://openjdk.org/jeps/452 - -Introduce an API for key encapsulation mechanisms (KEMs), an -encryption technique for securing symmetric keys using public key -cryptography. - -Virtual Machine Enhancements -============================ - -Generational ZGC -================ -https://openjdk.org/jeps/439 - -Improve application performance by extending the Z Garbage Collector -(ZGC) to maintain separate generations for young and old objects. This -will allow ZGC to collect young objects — which tend to die young — -more frequently. - -Tools -===== - -Simple Web Server -================= -https://openjdk.org/jeps/408 - -Provide a command-line tool, `jwebserver`, to start a minimal web -server that serves static files only. No CGI or servlet-like -functionality is available. This tool will be useful for prototyping, -ad-hoc coding, and testing purposes, particularly in educational -contexts. - -Code Snippets in Java API Documentation -======================================= -https://openjdk.org/jeps/413 - -Introduce an @snippet tag for JavaDoc's Standard Doclet, to simplify -the inclusion of example source code in API documentation. - -Ports -===== - -Linux/RISC-V Port -================= -https://openjdk.org/jeps/422 - -RISC-V is a free and open-source RISC instruction set architecture -(ISA) designed originally at the University of California, Berkeley, -and now developed collaboratively under the sponsorship of RISC-V -International. It is already supported by a wide range of language -toolchains. With the increasing availability of RISC-V hardware, a -port of the JDK would be valuable. - -DEPRECATIONS -============ - -Deprecate Finalization for Removal -================================== -https://openjdk.org/jeps/421 - -Deprecate finalization for removal in a future release. Finalization -remains enabled by default for now, but can be disabled to facilitate -early testing. In a future release it will be disabled by default, and -in a later release it will be removed. Maintainers of libraries and -applications that rely upon finalization should consider migrating to -other resource management techniques such as the try-with-resources -statement and cleaners. - -Deprecate the Windows 32-bit x86 Port for Removal -================================================= -https://openjdk.org/jeps/449 - -Deprecate the Windows 32-bit x86 port, with the intent to remove it in -a future release. - -Prepare to Disallow the Dynamic Loading of Agents -================================================= -https://openjdk.org/jeps/451 - -Issue warnings when agents are loaded dynamically into a running -JVM. These warnings aim to prepare users for a future release which -disallows the dynamic loading of agents by default in order to improve -integrity by default. Serviceability tools that load agents at startup -will not cause warnings to be issued in any release. + - JDK-8314164: java/net/HttpURLConnection/HttpURLConnectionExpectContinueTest.java fails intermittently in timeout + - JDK-8314275: Incorrect stepping in switch + - JDK-8315708: Enhance HTTP/2 client usage + - JDK-8317299: safepoint scalarization doesn't keep track of the depth of the JVM state + - JDK-8317804: com/sun/jdi/JdwpAllowTest.java fails on Alpine 3.17 / 3.18 + - JDK-8318158: RISC-V: implement roundD/roundF intrinsics + - JDK-8318340: Improve RSA key implementations + - JDK-8318603: Parallelize sun/java2d/marlin/ClipShapeTest.java + - JDK-8318696: Do not use LFS64 symbols on Linux + - JDK-8319382: com/sun/jdi/JdwpAllowTest.java shows failures on AIX if prefixLen of mask is larger than 32 in IPv6 case + - JDK-8319851: Improve exception logging + - JDK-8320890: [AIX] Find a better way to mimic dl handle equality + - JDK-8321151: JDK-8294427 breaks Windows L&F on all older Windows versions + - JDK-8321374: Add a configure option to explicitly set CompanyName property in VersionInfo resource for Windows exe/dll + - JDK-8321408: Add Certainly roots R1 and E1 + - JDK-8321480: ISO 4217 Amendment 176 Update + - JDK-8321489: Update LCMS to 2.16 + - JDK-8321815: Shenandoah: gc state should be synchronized to java threads only once per safepoint + - JDK-8321972: test runtime/Unsafe/InternalErrorTest.java timeout on linux-riscv64 platform + - JDK-8322092: Bump version numbers for 22.0.1 + - JDK-8322098: os::Linux::print_system_memory_info enhance the THP output with /sys/kernel/mm/transparent_hugepage/hpage_pmd_size + - JDK-8322122: Enhance generation of addresses + - JDK-8322159: ThisEscapeAnalyzer crashes for erroneous code + - JDK-8322163: runtime/Unsafe/InternalErrorTest.java fails on Alpine after JDK-8320886 + - JDK-8322417: Console read line with zero out should zero out when throwing exception + - JDK-8322725: (tz) Update Timezone Data to 2023d + - JDK-8322772: Clean up code after JDK-8322417 + - JDK-8322783: prioritize /etc/os-release over /etc/SuSE-release in hs_err/info output + - JDK-8322790: RISC-V: Tune costs for shuffles with no conversion + - JDK-8322945: Problemlist runtime/CompressedOops/CompressedClassPointers.java on AIX + - JDK-8323021: Shenandoah: Encountered reference count always attributed to first worker thread + - JDK-8323065: Unneccesary CodeBlob lookup in CompiledIC::internal_set_ic_destination + - JDK-8323086: Shenandoah: Heap could be corrupted by oom during evacuation + - JDK-8323154: C2: assert(cmp != nullptr && cmp->Opcode() == Op_Cmp(bt)) failed: no exit test + - JDK-8323170: j2dbench is using outdated javac source/target to be able to build by itself + - JDK-8323210: Update the usage of cmsFLAGS_COPY_ALPHA + - JDK-8323331: fix typo hpage_pdm_size + - JDK-8323428: Shenandoah: Unused memory in regions compacted during a full GC should be mangled + - JDK-8323515: Create test alias "all" for all test roots + - JDK-8323637: Capture hotspot replay files in GHA + - JDK-8323657: Compilation of snippet results in VerifyError at runtime with --release 9 (and above) + - JDK-8323664: java/awt/font/JNICheck/FreeTypeScalerJNICheck.java still fails with JNI warning on some Windows configurations + - JDK-8323675: Race in jdk.javadoc-gendata + - JDK-8323920: Change milestone to fcs for all releases + - JDK-8323964: runtime/Thread/ThreadCountLimit.java fails intermittently on AIX + - JDK-8324041: ModuleOption.java failed with update release versioning scheme + - JDK-8324050: Issue store-store barrier after re-materializing objects during deoptimization + - JDK-8324280: RISC-V: Incorrect implementation in VM_Version::parse_satp_mode + - JDK-8324347: Enable "maybe-uninitialized" warning for FreeType 2.13.1 + - JDK-8324598: use mem_unit when working with sysinfo memory and swap related information + - JDK-8324637: [aix] Implement support for reporting swap space in jdk.management + - JDK-8324647: Invalid test group of lib-test after JDK-8323515 + - JDK-8324659: GHA: Generic jtreg errors are not reported + - JDK-8324753: [AIX] adjust os_posix after JDK-8318696 + - JDK-8324937: GHA: Avoid multiple test suites per job + - JDK-8325074: ZGC fails assert(index == 0 || is_power_of_2(index)) failed: Incorrect load shift: 11 + - JDK-8325150: (tz) Update Timezone Data to 2024a + - JDK-8325203: System.exit(0) kills the launched 3rd party application + - JDK-8325213: Flags introduced by configure script are not passed to ADLC build + - JDK-8325313: Header format error in TestIntrinsicBailOut after JDK-8317299 + - JDK-8325326: [PPC64] Don't relocate in case of allocation failure + - JDK-8325470: [AIX] use fclose after fopen in read_psinfo + - JDK-8325496: Make TrimNativeHeapInterval a product switch + - JDK-8325590: Regression in round-tripping UTF-16 strings after JDK-8311906 + - JDK-8325672: C2: allocate PhaseIdealLoop::_loop_or_ctrl from C->comp_arena() + - JDK-8325876: crashes in docker container tests on Linuxppc64le Power8 machines + - JDK-8326000: Remove obsolete comments for class sun.security.ssl.SunJSSE + - JDK-8326101: [PPC64] Need to bailout cleanly if creation of stubs fails when code cache is out of space + - JDK-8326360: Update the Zlib version in open/src/java.base/share/legal/zlib.md to 1.3 + - JDK-8326638: Crash in PhaseIdealLoop::remix_address_expressions due to unexpected Region instead of Loop + - JDK-8327391: Add SipHash attribution file diff --git a/generate_source_tarball.sh b/generate_source_tarball.sh index 2913af4..b811818 100755 --- a/generate_source_tarball.sh +++ b/generate_source_tarball.sh @@ -36,7 +36,7 @@ # # PROJECT_NAME=openjdk # REPO_NAME=jdk22u -# VERSION=jdk-22+36 +# VERSION=jdk-22.0.1+8 # # or to e.g., prepare systemtap, icedtea7's jstack and other tapsets: # diff --git a/java-latest-openjdk-portable.spec b/java-latest-openjdk-portable.spec index 4b63638..eb543f5 100644 --- a/java-latest-openjdk-portable.spec +++ b/java-latest-openjdk-portable.spec @@ -131,7 +131,7 @@ # Set of architectures for which we build fastdebug builds %global fastdebug_arches x86_64 ppc64le aarch64 # Set of architectures with a Just-In-Time (JIT) compiler -%global jit_arches %{arm} %{aarch64} %{ix86} %{power64} s390x sparcv9 sparc64 x86_64 +%global jit_arches %{arm} %{aarch64} %{ix86} %{power64} s390x sparcv9 sparc64 x86_64 riscv64 # Set of architectures which use the Zero assembler port (!jit_arches) %global zero_arches ppc s390 # Set of architectures which run a full bootstrap cycle @@ -141,7 +141,7 @@ # Set of architectures with a Ahead-Of-Time (AOT) compiler %global aot_arches x86_64 %{aarch64} # Set of architectures which support the serviceability agent -%global sa_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} %{arm} +%global sa_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} %{arm} riscv64 # Set of architectures which support class data sharing # As of JDK-8005165 in OpenJDK 10, class sharing is not arch-specific # However, it does segfault on the Zero assembler port, so currently JIT only @@ -149,7 +149,7 @@ # Set of architectures for which we build the Shenandoah garbage collector %global shenandoah_arches x86_64 %{aarch64} # Set of architectures for which we build the Z garbage collector -%global zgc_arches x86_64 +%global zgc_arches x86_64 riscv64 # Set of architectures for which alt-java has SSB mitigation %global ssbd_arches x86_64 # Set of architectures for which java has short vector math library (libjsvml.so) @@ -304,6 +304,10 @@ %global archinstall aarch64 %global stapinstall arm64 %endif +%ifarch riscv64 +%global archinstall riscv64 +%global stapinstall %{_target_cpu} +%endif # 32 bit sparc, optimized for v9 %ifarch sparcv9 %global archinstall sparc @@ -333,12 +337,12 @@ # New Version-String scheme-style defines %global featurever 22 %global interimver 0 -%global updatever 0 +%global updatever 1 %global patchver 0 # buildjdkver is usually same as %%{featurever}, # but in time of bootstrap of next jdk, it is featurever-1, # and this it is better to change it here, on single place -%global buildjdkver 21 +%global buildjdkver 22 # We don't add any LTS designator for STS packages (Fedora and EPEL). # We need to explicitly exclude EPEL as it would have the %%{rhel} macro defined. %if 0%{?rhel} && !0%{?epel} @@ -397,7 +401,7 @@ %global origin_nice OpenJDK %global top_level_dir_name %{vcstag} %global top_level_dir_name_backup %{top_level_dir_name}-backup -%global buildver 36 +%global buildver 8 %global rpmrelease 1 #%%global tagsuffix %%{nil} # Priority must be 8 digits in total; up to openjdk 1.8, we were using 18..... so when we moved to 11, we had to add another digit @@ -417,7 +421,7 @@ # Release will be (where N is usually a number starting at 1): # - 0.N%%{?extraver}%%{?dist} for EA releases, # - N%%{?extraver}{?dist} for GA releases -%global is_ga 0 +%global is_ga 1 %if %{is_ga} %global build_type GA %global ea_designator "" @@ -1041,7 +1045,7 @@ export NUM_PROC=${NUM_PROC:-1} [ ${NUM_PROC} -gt %{?_smp_ncpus_max} ] && export NUM_PROC=%{?_smp_ncpus_max} %endif -%ifarch s390x sparc64 alpha %{power64} %{aarch64} +%ifarch s390x sparc64 alpha %{power64} %{aarch64} riscv64 export ARCH_DATA_MODEL=64 %endif %ifarch alpha @@ -1780,6 +1784,15 @@ done %endif %changelog +* Tue Apr 30 2024 Jiri Vanek - 1:22.0.1.8-1.rolling +- April CPU + +* Wed Feb 21 2024 Songsong Zhang - 1:22.0.0.0.36-3.rolling +- Add riscv64 support + +* Fri Feb 16 2024 Jiri Vanek - 1:22.0.0.0.36-2.rolling +- bumped build jdk to 22 + * Fri Feb 16 2024 Jiri Vanek - 1:22.0.0.0.36-1.rolling - updated to 22+36 - tmp comment out of ea exit 17 diff --git a/sources b/sources index 1f686d2..7888a92 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (openjdk-jdk-22+36-ea.tar.xz) = ecc6e6b6fd10eb6c16d9eba03fe4dbf5f5b5406b166e0e24d9d4b8e339d148da4a7b551e5669f7c9327821837988696990886e55f1045ea20b54bb1ac6ef0fc6 +SHA512 (openjdk-jdk-22.0.1+8.tar.xz) = 80107b40720a551db70c6719131234cfc2d7b257c0e147897c66fb1c6331e0294e98e0ce3646ddacc9d8c860e1cb55970eaec2f76763f9fd0a9aa15859e066b1