RELEASE NOTES: JDK 21.0.1

Notes generated: Wed Apr 03 11:11:54 CEST 2024

JEPs

None.

RELEASE NOTES

core-libs/java.util.jar

Issue Description
JDK-8313765

Validations on ZIP64 Extra Fields


A (JDK enhancement)[https://bugs.openjdk.org/browse/JDK-8311940] has improved validation of the ZIP64 Extra Fields contained within zip files and jar files. Files which do not satisfy these new validation checks may result in ZipException : Invalid CEN header (invalid zip64 extra data field size).

The following third party tools have 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. The new validation checks can be disabled by adding -Djdk.util.zip.disableZip64ExtraFieldValidation=true to the runtime launcher arguments.

Further modification of validations on ZIP64 Extra Fields contained within zip and jar files will be made in the upcoming JDK release. See JDK-8313765.


hotspot/runtime

Issue Description
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.


core-libs/java.util.regex

Issue Description
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 happens on java.util.regex.Patterns containing lookaheads and lookbehinds that, in turn, contain groups. If these are located outside the match, it results in throwing StringIndexOutOfBoundsException when accessing these groups. See JDK-8312976 for an example.


security-libs/java.security

Issue Description
JDK-8312489

Increase Default Value of the System Property `jdk.jar.maxSignatureFileSize`


The system property, jdk.jar.maxSignatureFileSize, allows applications to control the maximum size of signature files in a signed JAR. Its default value has been increased from 8000000 bytes (8 MB) to 16000000 bytes (16 MB).


JDK-8314960

Added Certigna Root CA Certificate


The following root certificate has been added to the cacerts truststore: ` + Certigna (Dhimyotis) + certignarootca DN: CN=Certigna Root CA, OU=0002 48146308100036, O=Dhimyotis, C=FR `


FIXED ISSUES

client-libs/2d

Priority Bug Summary
P3 JDK-8312555 Ideographic characters aren't stretched by AffineTransform.scale(2, 1)
P4 JDK-8311033 [macos] PrinterJob does not take into account Sides attribute
P4 JDK-8313576 GCC 7 reports compiler warning in bundled freetype 2.13.0
P4 JDK-8311917 MAP_FAILED definition seems to be obsolete in src/java.desktop/unix/native/common/awt/fontpath.c

client-libs/java.awt

Priority Bug Summary
P4 JDK-8312591 GCC 6 build failure after JDK-8280982

client-libs/javax.accessibility

Priority Bug Summary
P3 JDK-8311160 [macOS, Accessibility] VoiceOver: No announcements on JRadioButtonMenuItem and JCheckBoxMenuItem

client-libs/javax.sound

Priority Bug Summary
P3 JDK-8312535 MidiSystem.getSoundbank() throws unexpected SecurityException

core-libs/java.io

Priority Bug Summary
P4 JDK-8312127 FileDescriptor.sync should temporarily increase parallelism

core-libs/java.lang

Priority Bug Summary
P3 JDK-8308609 java/lang/ScopedValue/StressStackOverflow.java fails with "-XX:-VMContinuations"
P4 JDK-8311926 java/lang/ScopedValue/StressStackOverflow.java takes 9mins in tier1

core-libs/java.net

Priority Bug Summary
P3 JDK-8309591 Socket.setOption(TCP_QUICKACK) uses wrong level
P4 JDK-8308184 Launching java with large number of jars in classpath with java.protocol.handler.pkgs system property set can lead to StackOverflowError
P4 JDK-8314517 some tests fail in case ipv6 is disabled on the machine

core-libs/java.nio

Priority Bug Summary
P3 JDK-8312180 (bf) MappedMemoryUtils passes incorrect arguments to msync (aix)
P4 JDK-8309475 Test java/foreign/TestByteBuffer.java fails: a problem with msync (aix)

core-libs/java.util

Priority Bug Summary
P4 JDK-8313307 java/util/Formatter/Padding.java fails on some Locales

core-libs/java.util.concurrent

Priority Bug Summary
P4 JDK-8308047 java/util/concurrent/ScheduledThreadPoolExecutor/BasicCancelTest.java timed out and also had jcmd pipe errors

core-libs/java.util.jar

Priority Bug Summary
P2 JDK-8313765 Invalid CEN header (invalid zip64 extra data field size)

core-libs/java.util.regex

Priority Bug Summary
P2 JDK-8312976 MatchResult produces StringIndexOutOfBoundsException for groups outside match

core-libs/javax.naming

Priority Bug Summary
P3 JDK-8313657 com.sun.jndi.ldap.Connection.cleanup does not close connections on SocketTimeoutErrors
P3 JDK-8314063 The socket is not closed in Connection::createSocket when the handshake failed for LDAP connection

core-svc

Priority Bug Summary
P4 JDK-8313602 increase timeout for jdk/classfile/CorpusTest.java

hotspot/compiler

Priority Bug Summary
P2 JDK-8313402 C1: Incorrect LoadIndexed value numbering
P2 JDK-8313262 C2: Sinking node may cause required cast to be dropped
P2 JDK-8313248 C2: setScopedValueCache intrinsic exposes nullptr pre-values to store barriers
P2 JDK-8314024 SIGSEGV in PhaseIdealLoop::build_loop_late_post_work due to bad immediate dominator info
P3 JDK-8299658 C1 compilation crashes in LinearScan::resolve_exception_edge
P3 JDK-8312909 C1 should not inline through interface calls with non-subtype receiver
P3 JDK-8313626 C2 crash due to unexpected exception control flow
P3 JDK-8309502 RISC-V: String.indexOf intrinsic may produce misaligned memory loads
P3 JDK-8304954 SegmentedCodeCache fails when using large pages
P4 JDK-8313676 Amend TestLoadIndexedMismatch test to target intrinsic directly
P4 JDK-8312573 Failure during CompileOnly parsing leads to ShouldNotReachHere
P4 JDK-8315051 jdk/jfr/jvm/TestGetEventWriter.java fails with non-JVMCI GCs
P4 JDK-8314618 RISC-V: -XX:MaxVectorSize does not work as expected
P4 JDK-8310268 RISC-V: misaligned memory access in String.Compare intrinsic
P4 JDK-8311862 RISC-V: small improvements to shift immediate instructions
P4 JDK-8311923 TestIRMatching.java fails on RISC-V

hotspot/gc

Priority Bug Summary
P3 JDK-8314144 gc/g1/ihop/TestIHOPStatic.java fails due to extra concurrent mark with -Xcomp
P4 JDK-8293114 JVM should trim the native heap
P4 JDK-8311249 Remove unused MemAllocator::obj_memory_range
P4 JDK-8311026 Some G1 specific tests do not set -XX:+UseG1GC

hotspot/jfr

Priority Bug Summary
P4 JDK-8311511 Improve description of NativeLibrary JFR event

hotspot/jvmti

Priority Bug Summary
P2 JDK-8310211 serviceability/jvmti/thread/GetStackTrace/getstacktr03/getstacktr03.java failing

hotspot/runtime

Priority Bug Summary
P2 JDK-8311981 Test gc/stringdedup/TestStringDeduplicationAgeThreshold.java#ZGenerational timed out
P3 JDK-8312394 [linux] SIGSEGV if kernel was built without hugepage support
P3 JDK-8312525 New test runtime/os/TestTrimNative.java#trimNative is failing: did not see the expected RSS reduction
P3 JDK-8314850 SharedRuntime::handle_wrong_method() gets called too often when resolving Continuation.enter
P3 JDK-8312182 THPs cause huge RSS due to thread start timing issue
P3 JDK-8312620 WSL Linux build crashes after JDK-8310233
P4 JDK-8309889 [s390] Missing return statement after calling jump_to_native_invoker method in generate_method_handle_dispatch.
P4 JDK-8310233 Fix THP detection on Linux
P4 JDK-8312395 Improve assertions in growableArray
P4 JDK-8303815 Improve Metaspace test speed
P4 JDK-8311921 Inform about MaxExpectedDataSegmentSize in case of pthread_create failures on AIX
P4 JDK-8313752 InstanceKlassFlags::print_on doesn't print the flag names
P4 JDK-8310687 JDK-8303215 is incomplete
P4 JDK-8313874 JNI NewWeakGlobalRef throws exception for null arg
P4 JDK-8307766 Linux: Provide the option to override the timer slack
P4 JDK-8313081 MonitoringSupport_lock should be unconditionally initialized after 8304074
P4 JDK-8314020 Print instruction blocks in byte units
P4 JDK-8310873 Re-enable locked_create_entry symbol check in runtime/NMT/CheckForProperDetailStackTrace.java for RISC-V
P4 JDK-8312585 Rename DisableTHPStackMitigation flag to THPStackMitigation
P4 JDK-8311285 report some fontconfig related environment variables in hs_err file
P4 JDK-8314426 runtime/os/TestTrimNative.java is failing on slow machines
P4 JDK-8313678 SymbolTable can leak Symbols during cleanup
P4 JDK-8312625 Test serviceability/dcmd/vm/TrimLibcHeapTest.java failed: RSS use increased
P4 JDK-8314139 TEST_BUG: runtime/os/THPsInThreadStackPreventionTest.java could fail on machine with large number of cores
P4 JDK-8313691 use close after failing os::fdopen in vmError and ciEnv

hotspot/svc

Priority Bug Summary
P4 JDK-8313796 AsyncGetCallTrace crash on unreadable interpreter method pointer
P4 JDK-8314501 Shenandoah: sun/tools/jhsdb/heapconfig/JMapHeapConfigTest.java fails

hotspot/svc-agent

Priority Bug Summary
P3 JDK-8314679 SA fails to properly attach to JVM after having just detached from a different JVM
P4 JDK-8314117 RISC-V: Incorrect VMReg encoding in RISCV64Frame.java

infrastructure

Priority Bug Summary
P4 JDK-8310171 Bump version numbers for 21.0.1

infrastructure/build

Priority Bug Summary
P4 JDK-8311955 c++filt is now ibm-llvm-cxxfilt when using xlc17 / clang on AIX
P4 JDK-8313707 GHA: Bootstrap sysroots with --variant=minbase
P4 JDK-8313428 GHA: Bump GCC versions for July 2023 updates
P4 JDK-8314262 GHA: Cut down cross-compilation sysroots deeper
P4 JDK-8314730 GHA: Drop libfreetype6-dev transitional package in favor of libfreetype-dev
P4 JDK-8314656 GHA: No need for Debian ports keyring installation after JDK-8313701
P4 JDK-8313701 GHA: RISC-V should use the official repository for bootstrap
P4 JDK-8310321 make JDKOPT_CHECK_CODESIGN_PARAMS more verbose
P4 JDK-8309746 Reconfigure check should include make/conf/version-numbers.conf
P4 JDK-8315020 The macro definition for LoongArch64 zero build is not accurate.
P4 JDK-8314118 Update JMH devkit to 1.37

other-libs

Priority Bug Summary
P2 JDK-8313312 Add missing classpath exception copyright header

security-libs/java.security

Priority Bug Summary
P2 JDK-8314960 Add Certigna Root CA - 2
P3 JDK-8302017 Allocate BadPaddingException only if it will be thrown
P3 JDK-8308474 DSA does not reset SecureRandom when initSign is called again
P3 JDK-8312489 Increase jdk.jar.maxSignatureFileSize default which is too low for JARs such as WhiteSource/Mend unified agent jar

security-libs/javax.crypto

Priority Bug Summary
P2 JDK-8311592 ECKeySizeParameterSpec causes too many exceptions on third party providers

security-libs/javax.crypto:pkcs11

Priority Bug Summary
P3 JDK-8309214 sun/security/pkcs11/KeyStore/CertChainRemoval.java fails after 8301154

security-libs/javax.net.ssl

Priority Bug Summary
P4 JDK-8310106 sun.security.ssl.SSLHandshake.getHandshakeProducer() incorrectly checks handshakeConsumers

tools/javac

Priority Bug Summary
P3 JDK-8314216 Case enumConstant, pattern compilation fails
P3 JDK-8315534 Incorrect warnings about implicit annotation processing
P3 JDK-8313323 javac -g on a java file which uses unnamed variable leads to ClassFormatError when launching that class
P3 JDK-8314423 Multiple patterns without unnamed variables
P3 JDK-8312619 Strange error message when switching over long
P4 JDK-8312984 javac may crash on a record pattern with too few components

tools/jlink

Priority Bug Summary
P3 JDK-8240567 MethodTooLargeException thrown while creating a jlink image

tools/jpackage

Priority Bug Summary
P3 JDK-8313904 [macos] All signing tests which verifies unsigned app images are failing
P3 JDK-8308042 [macOS] Developer ID Application Certificate not picked up by jpackage if it contains UNICODE characters
P4 JDK-8309032 jpackage does not work for module projects unless --module-path is specified