RELEASE NOTES: JDK 21.0.8

Notes generated: Tue Apr 08 06:36:50 CEST 2025

JEPs

None.

RELEASE NOTES

core-libs/java.net

Issue Description
JDK-8342075

java.net.http.HttpClient Is Enhanced to Report HTTP/2 Flow Control Errors to the Server


The java.net.http.HttpClient will now report HTTP/2 flow control errors to the server when they are detected. This is an implementation detail that should be transparent to users of the HttpClient API, but could result in streams being reset or connections being closed if connecting to a non-conformant HTTP/2 server.


hotspot/runtime

Issue Description
JDK-8318636

New System.map and System.dump_map Diagnostic Commands Have Been Added


New System.map and System.dump_map diagnostic commands have been added to jcmd. When executed, these commands print the virtual memory map of the JVM process, together with Native Memory Tracking information about the virtual memory segments. For the latter information to be displayed, Native Memory Tracking must be enabled.

jcmd <pid> System.map will print the virtual memory map of the JVM indicated by <pid> to the stdout of jcmd.

jcmd <pid> System.dump_map will cause the target JVM indicated by <pid> to print the virtual memory map to a file named vm_memory_map_<pid>.txt into the current directory of the target JVM.


security-libs/java.security

Issue Description
JDK-8303770

Removed Baltimore CyberTrust Root Certificate after expiry date


The following expired root certificate has been removed from the cacerts keystore: ` + alias name "baltimorecybertrustca [jdk]" Distinguished Name: CN=Baltimore CyberTrust Root, OU=CyberTrust, O=Baltimore, C=IE `


JDK-8309841

Jarsigner Should Print a Warning If an Entry Is Removed


If an entry is removed from a signed JAR file, there is no mechanism to detect that it has been removed using the JarFile API, since the getJarEntry method returns null as if the entry had never existed. With this change, the jarsigner -verify command analyzes the signature files and if some sections do not have matching file entries, it prints out the following warning: "This JAR contains signed entries for files that do not exist". Users can further find out the names of these entries by adding the -verbose option to the command.


FIXED ISSUES

client-libs

Priority Bug Summary
P4 JDK-8294155 Exception thrown before awaitAndCheck hangs PassFailJFrame
P4 JDK-8350260 Improve HTML instruction formatting in PassFailJFrame
P4 JDK-8340560 Open Source several AWT/2D font and rendering tests
P4 JDK-8340784 Remove PassFailJFrame constructor with screenshots

client-libs/2d

Priority Bug Summary
P3 JDK-8330936 [ubsan] exclude function BilinearInterp and ShapeSINextSpan in libawt java2d from ubsan checks
P3 JDK-8343224 print/Dialog/PaperSizeError.java fails with MediaSizeName is not A4: A4
P3 JDK-8348596 Update FreeType to 2.13.3
P3 JDK-8348597 Update HarfBuzz to 10.4.0
P3 JDK-8348110 Update LCMS to 2.17
P4 JDK-8316497 ColorConvertOp - typo for non-ICC conversions needs one-line fix
P4 JDK-8340143 Open source several Java2D rendering loop tests.
P4 JDK-8341535 sun/awt/font/TestDevTransform.java fails with RuntimeException: Different rendering

client-libs/java.awt

Priority Bug Summary
P3 JDK-8280991 [XWayland] No displayChanged event after setDisplayMode call
P3 JDK-8270269 Desktop.browse method fails if earlier CoInitialize call as COINIT_MULTITHREADED
P3 JDK-8348598 Update Libpng to 1.6.47
P3 JDK-8348600 Update PipeWire to 1.3.81
P4 JDK-8349751 AIX build failure after upgrade pipewire to 1.3.81
P4 JDK-8334644 Automate javax/print/attribute/PageRangesException.java
P4 JDK-8328482 Convert and Open source few manual applet test to main based
P4 JDK-8340625 Open source additional Component tests (part 3)
P4 JDK-8341004 Open source AWT FileDialog related tests
P4 JDK-8339984 Open source AWT MenuItem related tests
P4 JDK-8339794 Open source closed choice tests #1
P4 JDK-8340393 Open source closed choice tests #2
P4 JDK-8340433 Open source closed choice tests #3
P4 JDK-8340907 Open source closed frame tests # 2
P4 JDK-8341239 Open source closed frame tests # 3
P4 JDK-8341373 Open source closed frame tests # 4
P4 JDK-8340228 Open source couple more miscellaneous AWT tests
P4 JDK-8340555 Open source DnD tests - Set4
P4 JDK-8340713 Open source DnD tests - Set5
P4 JDK-8340966 Open source few Checkbox and Cursor tests - Set1
P4 JDK-8340164 Open source few Component tests - Set1
P4 JDK-8340967 Open source few Cursor tests - Set2
P4 JDK-8340978 Open source few DnD tests - Set6
P4 JDK-8340437 Open source few more AWT Frame related tests
P4 JDK-8340809 Open source few more AWT PopupMenu tests
P4 JDK-8341378 Open source few TrayIcon tests - Set8
P4 JDK-8341298 Open source more AWT window tests
P4 JDK-8340790 Open source several AWT Dialog tests - Batch 4
P4 JDK-8339727 Open source several AWT focus tests - series 1
P4 JDK-8339842 Open source several AWT focus tests - series 2
P4 JDK-8339895 Open source several AWT focus tests - series 3
P4 JDK-8339906 Open source several AWT focus tests - series 4
P4 JDK-8339935 Open source several AWT focus tests - series 5
P4 JDK-8340605 Open source several AWT PopupMenu tests
P4 JDK-8340271 Open source several AWT Robot tests
P4 JDK-8341170 Open source several Choice related tests (part 2)
P4 JDK-8340173 Open source some Component/Panel/EventQueue tests - Set2
P4 JDK-8340985 Open source some Desktop related tests
P4 JDK-8340874 Open source some of the AWT Geometry/Button tests
P4 JDK-8341000 Open source some of the AWT Window tests
P4 JDK-8340367 Opensource few AWT image tests
P4 JDK-8339639 Opensource few AWT PopupMenu tests
P4 JDK-8348299 Update List/ItemEventTest/ItemEventTest.java

client-libs/javax.accessibility

Priority Bug Summary
P3 JDK-8345728 [Accessibility,macOS,Screen Magnifier]: JCheckbox unchecked state does not magnify but works for checked state
P3 JDK-8348936 [Accessibility,macOS,VoiceOver] VoiceOver doesn't announce untick on toggling the checkbox with "space" key on macOS

client-libs/javax.imageio

Priority Bug Summary
P4 JDK-8337681 PNGImageWriter uses much more memory than necessary

client-libs/javax.swing

Priority Bug Summary
P4 JDK-8325435 [macos] Menu or JPopupMenu not closed when main window is resized
P4 JDK-8328670 Automate and open source few closed manual applet test
P4 JDK-8328484 Convert and Opensource few JFileChooser applet test to main
P4 JDK-8346581 JRadioButton/ButtonGroupFocusTest.java fails in CI on Linux
P4 JDK-8315876 Open source several Swing CSS related tests
P4 JDK-8315951 Open source several Swing HTMLEditorKit related tests
P4 JDK-8315669 Open source several Swing PopupMenu related tests
P4 JDK-8316061 Open source several Swing RootPane and Slider related tests
P4 JDK-8315742 Open source several Swing Scroll related tests
P4 JDK-8315981 Opensource five more random Swing tests
P4 JDK-8315871 Opensource five more Swing regression tests
P4 JDK-8316388 Opensource five Swing component related regression tests
P4 JDK-8328648 Remove applet usage from JFileChooser tests bug4150029
P4 JDK-8345357 test/jdk/javax/swing/JRadioButton/8033699/bug8033699.java fails in ubuntu22.04
P5 JDK-8342524 Use latch in AbstractButton/bug6298940.java instead of delay

core-libs

Priority Bug Summary
P4 JDK-8350682 [JMH] vector.IndexInRangeBenchmark failed with IndexOutOfBoundsException for size=1024

core-libs/java.io

Priority Bug Summary
P4 JDK-8343342 java/io/File/GetXSpace.java fails on Windows with CD-ROM drive

core-libs/java.lang

Priority Bug Summary
P3 JDK-8343019 Primitive caches must use boxed instances from the archive
P4 JDK-8349358 [JMH] Cannot access class jdk.internal.vm.ContinuationScope
P4 JDK-8350786 Some java/lang jtreg tests miss requires vm.hasJFR

core-libs/java.lang.foreign

Priority Bug Summary
P3 JDK-8331735 UpcallLinker::on_exit races with GC when copying frame anchor
P4 JDK-8286875 ProgrammableUpcallHandler::on_entry/on_exit access thread fields from native
P4 JDK-8343144 UpcallLinker::on_entry racingly clears pending exception with GC safepoints

core-libs/java.net

Priority Bug Summary
P3 JDK-8335181 Incorrect handling of HTTP/2 GOAWAY frames in HttpClient
P4 JDK-8256211 assert fired in java/net/httpclient/DependentPromiseActionsTest (infrequent)
P4 JDK-8316580 HttpClient with StructuredTaskScope does not close when a task fails
P4 JDK-8342075 HttpClient: improve HTTP/2 flow control checks
P4 JDK-8281511 java/net/ipv6tests/UdpTest.java fails with checkTime failed
P4 JDK-8341637 java/net/Socket/UdpSocket.java fails with "java.net.BindException: Address already in use" (macos-aarch64)
P4 JDK-8347995 Race condition in jdk/java/net/httpclient/offline/FixedResponseHttpClient.java
P4 JDK-8348107 test/jdk/java/net/httpclient/HttpsTunnelAuthTest.java fails intermittently
P4 JDK-6956385 URLConnection.getLastModified() leaks file handles for jar:file and file: URLs

core-libs/java.nio

Priority Bug Summary
P4 JDK-8347286 (fs) Remove some extensions from java/nio/file/Files/probeContentType/Basic.java

core-libs/java.time

Priority Bug Summary
P3 JDK-8352716 (tz) Update Timezone Data to 2025b

core-libs/java.util:i18n

Priority Bug Summary
P4 JDK-8349200 [JMH] time.format.ZonedDateTimeFormatterBenchmark fails

core-libs/javax.naming

Priority Bug Summary
P4 JDK-8220213 com/sun/jndi/dns/ConfigTests/Timeout.java failed intermittent
P4 JDK-8339538 Wrong timeout computations in DnsClient

core-svc/debugger

Priority Bug Summary
P5 JDK-8337299 vmTestbase/nsk/jdb/stop_at/stop_at002/stop_at002.java failure goes undetected

core-svc/javax.management

Priority Bug Summary
P4 JDK-8343936 Adjust timeout in test javax/management/monitor/DerivedGaugeMonitorTest.java

hotspot/compiler

Priority Bug Summary
P3 JDK-8335662 [AArch64] C1: guarantee(val < (1ULL << nbits)) failed: Field too big for insn
P3 JDK-8345146 [PPC64] Make intrinsic conversions between bit representations of half precision values and floats
P3 JDK-8336042 Caller/callee param size mismatch in deoptimization causes crash
P3 JDK-8180450 secondary_super_cache does not scale well
P4 JDK-8346264 "Total compile time" counter should include time spent in failing/bailout compiles
P4 JDK-8350412 [21u] AArch64: Ambiguous frame layout leads to incorrect traces in JFR
P4 JDK-8346888 [ubsan] block.cpp:1617:30: runtime error: 9.97582e+36 is outside the range of representable values of type 'int'
P4 JDK-8309978 [x64] Fix useless padding
P4 JDK-8330158 C2: Loop strip mining uses ABS with min int
P4 JDK-8330106 C2: VectorInsertNode::make() shouldn't call ConINode::make() directly
P4 JDK-8337221 CompileFramework: test library to conveniently compile java and jasm sources for fuzzing
P4 JDK-8350211 CTW: Attempt to preload all classes in constant pool
P4 JDK-8333890 Fatal error in auto-vectorizer with float16 kernel.
P4 JDK-8331088 Incorrect TraceLoopPredicate output
P4 JDK-8333805 Replaying compilation with null static final fields results in a crash

hotspot/gc

Priority Bug Summary
P3 JDK-8351500 G1: NUMA migrations cause crashes in region allocation
P4 JDK-8314840 3 gc/epsilon tests ignore external vm options
P4 JDK-8276995 Bug in jdk.jfr.event.gc.collection.TestSystemGC
P4 JDK-8339300 CollectorPolicy.young_scaled_initial_ergo_vm gtest fails on ppc64 based platforms
P4 JDK-8329261 G1: interpreter post-barrier x86 code asserts index size of wrong buffer
P4 JDK-8347126 gc/stress/TestStressG1Uncommit.java gets OOM-killed
P4 JDK-8319439 Move BufferNode from PtrQueue files to new files
P4 JDK-8211400 nsk.share.gc.Memory::getArrayLength returns wrong value
P4 JDK-8338202 Shenandoah: Improve handshake closure labels
P4 JDK-8337981 ShenandoahHeap::is_in should check for alive regions

hotspot/jfr

Priority Bug Summary
P3 JDK-8279016 JFR Leak Profiler is broken with Shenandoah
P4 JDK-8334780 Crash: assert(h_array_list.not_null()) failed: invariant
P4 JDK-8338314 JFR: Split JFRCheckpoint VM operation

hotspot/jvmti

Priority Bug Summary
P4 JDK-8343103 Enable debug logging for vmTestbase/nsk/jvmti/scenarios/sampling/SP05/sp05t003/TestDescription.java
P4 JDK-8346082 Output JVMTI agent information in hserr files

hotspot/runtime

Priority Bug Summary
P3 JDK-8339148 Make os::Linux::active_processor_count() public
P3 JDK-8350201 Out of bounds access on Linux aarch64 in os::print_register_info
P3 JDK-8337958 Out-of-bounds array access in secondary_super_cache
P3 JDK-8327169 serviceability/dcmd/vm/SystemMapTest.java and SystemDumpMapTest.java may fail after JDK-8326586
P3 JDK-8332506 SIGFPE In ObjectSynchronizer::is_async_deflation_needed()
P4 JDK-8318636 Add jcmd to print annotated process memory map
P4 JDK-8348323 Corrupted timezone string in JVM crash log
P4 JDK-8338064 Give better error for ConcurrentHashTable corruption
P4 JDK-8326586 Improve Speed of System.map
P4 JDK-8321931 memory_swap_current_in_bytes reports 0 as "unlimited"
P4 JDK-8342376 More reliable OOM handling in ExceptionDuringDumpAtObjectsInitPhase test
P4 JDK-8334895 OpenJDK fails to configure on linux aarch64 when CDS is disabled after JDK-8331942
P4 JDK-8351665 Remove unused UseNUMA in os_aix.cpp
P4 JDK-8324678 Replace NULL with nullptr in HotSpot gtests
P4 JDK-8350616 Skip ValidateHazardPtrsClosure in non-debug builds
P4 JDK-8339678 Update runtime/condy tests to be executed with VM flags
P4 JDK-8338010 WB_IsFrameDeoptimized miss ResourceMark

hotspot/svc-agent

Priority Bug Summary
P3 JDK-8307318 Test serviceability/sa/ClhsdbCDSJstackPrintAll.java failed: ArrayIndexOutOfBoundsException
P4 JDK-8343529 serviceability/sa/ClhsdbWhere.java fails AssertionFailure: Corrupted constant pool

infrastructure/release_eng

Priority Bug Summary
P4 JDK-8350650 Bump update version for OpenJDK: jdk-21.0.8

performance/libraries

Priority Bug Summary
P4 JDK-8343345 Use -jvmArgsPrepend when running microbenchmarks in RunTests.gmk
P4 JDK-8342958 Use jvmArgs consistently in microbenchmarks

security-libs/java.security

Priority Bug Summary
P3 JDK-8309841 Jarsigner should print a warning if an entry is removed
P3 JDK-8303770 Remove Baltimore root certificate expiring in May 2025
P3 JDK-8344361 Restore null return for invalid services from legacy providers
P4 JDK-8346049 jdk/test/lib/security/timestamp/TsaServer.java warnings
P4 JDK-8328864 NullPointerException in sun.security.jca.ProviderList.getService()
P4 JDK-8345134 Test sun/security/tools/jarsigner/ConciseJarsigner.java failed: unable to find valid certification path to requested target
P4 JDK-8352302 Test sun/security/tools/jarsigner/TimestampCheck.java is failing
P4 JDK-8345133 Test sun/security/tools/jarsigner/TsacertOptionTest.java failed: Warning found in stdout

security-libs/javax.crypto

Priority Bug Summary
P4 JDK-8345598 Upgrade NSS binaries for interop tests

security-libs/javax.crypto:pkcs11

Priority Bug Summary
P4 JDK-8336499 Failure when creating non-CRT RSA private keys in SunPKCS11

tools/jar

Priority Bug Summary
P4 JDK-8339810 Clean up the code in sun.tools.jar.Main to properly close resources and use ZipFile during extract

tools/jshell

Priority Bug Summary
P4 JDK-8347629 Test FailOverDirectExecutionControlTest.java fails with -Xcomp