RELEASE NOTES: JDK 24.0.2

Notes generated: Sun Apr 27 07:14:43 CEST 2025

JEPs

None.

RELEASE NOTES

tools/jpackage

Issue Description
JDK-8345185

jpackage No Longer Includes Service Bindings by Default for Generated Run-Time Images


Starting with JDK 25, jpackage will no longer include service bindings for a run-time image that it creates. Prior to JDK 25, jpackage would include service bindings for run-time images. As a result, the generated run-time images produced by jpackage might not include the same set of modules as it did in prior versions.

The previous behavior can be achieved with jpackage of JDK 25 by adding the --bind-services jlink option to the default jlink options jpackage uses:

` jpackage [...] --jlink-options \ "--strip-native-commands --strip-debug --no-man-pages --no-header-files --bind-services" `


hotspot/compiler

Issue Description
JDK-8349637

Incorrect result of Integer.numberOfLeadingZeros


Integer.numberOfLeadingZeros may return an incorrect result on x86_64 with AVX2. The issue is caused by an incorrect JIT compiler optimization. As a workaround, the following command-line options can be used -XX:+UnlockDiagnosticVMOptions -XX:DisableIntrinsic=_numberOfLeadingZeros_i.


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 `


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-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-8347377 Add validation checks for ICC_Profile header fields
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-8346837 jdk/javax/print/URLGIFPrinting.java test fails with java.lang.IllegalAccessException: class com.sun.javatest.regtest.agent.MainWrapper$MainTask

client-libs/java.awt

Priority Bug Summary
P3 JDK-8280991 [XWayland] No displayChanged event after setDisplayMode call
P3 JDK-8348675 TrayIcon tests fail in Ubuntu 24.10 Wayland
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-8349378 Build splashscreen lib with SIZE optimization
P4 JDK-8352109 java/awt/Desktop/MailTest.java fails in platforms where Action.MAIL is not supported
P4 JDK-8351277 Remove pipewire from AIX build
P4 JDK-8348299 Update List/ItemEventTest/ItemEventTest.java

client-libs/java.beans

Priority Bug Summary
P4 JDK-8344892 beans/finder/MethodFinder.findMethod incorrectly returns null

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
P3 JDK-8286204 [Accessibility,macOS,VoiceOver] VoiceOver reads the spinner value 10 as 1 when user iterates to 10 for the first time on macOS

client-libs/javax.sound

Priority Bug Summary
P4 JDK-8347576 Error output in libjsound has non matching format strings

client-libs/javax.swing

Priority Bug Summary
P2 JDK-8347427 JTabbedPane/8134116/Bug8134116.java has no license header
P4 JDK-8350924 javax/swing/JMenu/4213634/bug4213634.java fails
P4 JDK-8346581 JRadioButton/ButtonGroupFocusTest.java fails in CI on Linux
P5 JDK-8342524 Use latch in AbstractButton/bug6298940.java instead of delay

core-libs

Priority Bug Summary
P4 JDK-8347038 [JMH] jdk.incubator.vector.SpiltReplicate fails NoClassDefFoundError
P4 JDK-8350682 [JMH] vector.IndexInRangeBenchmark failed with IndexOutOfBoundsException for size=1024
P4 JDK-8345676 [ubsan] ProcessImpl_md.c:561:40: runtime error: applying zero offset to null pointer on macOS aarch64

core-libs/java.io

Priority Bug Summary
P3 JDK-8347740 java/io/File/createTempFile/SpecialTempFile.java failing
P4 JDK-8345368 java/io/File/createTempFile/SpecialTempFile.java fails on Windows Server 2025

core-libs/java.lang

Priority Bug Summary
P4 JDK-8346880 [aix] java/lang/ProcessHandle/InfoTest.java still fails: "reported cputime less than expected"
P4 JDK-8349358 [JMH] Cannot access class jdk.internal.vm.ContinuationScope
P4 JDK-8349787 java/lang/Thread/virtual/ThreadPollOnYield.java#default passes unexpectedly without libVThreadPinner.so
P4 JDK-8350786 Some java/lang jtreg tests miss requires vm.hasJFR

core-libs/java.net

Priority Bug Summary
P3 JDK-8346705 SNI not sent with Java 22+ using java.net.http.HttpClient.Builder#sslParameters
P4 JDK-8347000 Bug in com/sun/net/httpserver/bugs/B6361557.java test
P4 JDK-8347373 HTTP/2 flow control checks may count unprocessed data twice
P4 JDK-8352706 httpclient HeadTest does not run on HTTP2
P4 JDK-8347173 java/net/DatagramSocket/InterruptibleDatagramSocket.java fails with virtual thread factory
P4 JDK-8217914 java/net/httpclient/ConnectTimeoutHandshakeSync.java failed on connection refused while doing POST
P4 JDK-8330598 java/net/httpclient/Http1ChunkedTest.java fails with java.util.MissingFormatArgumentException: Format specifier '%s'
P4 JDK-8348102 java/net/httpclient/HttpClientSNITest.java fails intermittently
P4 JDK-8281511 java/net/ipv6tests/UdpTest.java fails with checkTime failed
P4 JDK-8347995 Race condition in jdk/java/net/httpclient/offline/FixedResponseHttpClient.java
P4 JDK-8350546 Several java/net/InetAddress tests fails UnknownHostException

core-libs/java.nio

Priority Bug Summary
P3 JDK-8346671 java/nio/file/Files/probeContentType/Basic.java fails on Windows 2025
P4 JDK-8347171 (dc) java/nio/channels/DatagramChannel/InterruptibleOrNot.java fails with virtual thread factory
P4 JDK-8353053 (fs) Add support for UserDefinedFileAttributeView on AIX
P4 JDK-8347286 (fs) Remove some extensions from java/nio/file/Files/probeContentType/Basic.java
P4 JDK-8346972 Test java/nio/channels/FileChannel/LoopingTruncate.java fails sometimes with IOException: There is not enough space on the disk

core-libs/java.time

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

core-libs/java.util

Priority Bug Summary
P3 JDK-8351233 [ASAN] avx2-emu-funcs.hpp:151:20: error: ‘D.82188’ is used uninitialized

core-libs/java.util.concurrent

Priority Bug Summary
P4 JDK-8351933 Inaccurate masking of TC subfield decrement in ForkJoinPool

core-libs/java.util.jar

Priority Bug Summary
P3 JDK-8353787 Increased number of SHA-384-Digest java.util.jar.Attributes$Name instances leading to higher memory footprint

core-libs/java.util:i18n

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

core-svc/java.lang.management

Priority Bug Summary
P4 JDK-8347267 [macOS]: UnixOperatingSystem.c:67:40: runtime error: division by zero

globalization/translation

Priority Bug Summary
P4 JDK-8351223 Update localized resources in keytool and jarsigner

hotspot/compiler

Priority Bug Summary
P2 JDK-8349637 Integer.numberOfLeadingZeros outputs incorrectly in certain cases
P3 JDK-8353274 [PPC64] Bug related to -XX:+UseCompactObjectHeaders -XX:-UseSIGTRAP in JDK-8305895
P3 JDK-8347997 assert(false) failed: EA: missing memory path
P3 JDK-8348261 assert(n->is_Mem()) failed: memory node required
P3 JDK-8347018 C2: Insertion of Assertion Predicates ignores the effects of PhaseIdealLoop::clone_up_backedge_goo()
P3 JDK-8336042 Caller/callee param size mismatch in deoptimization causes crash
P3 JDK-8347718 Unexpected NullPointerException in C2 compiled code due to ReduceAllocationMerges
P4 JDK-8346264 "Total compile time" counter should include time spent in failing/bailout compiles
P4 JDK-8342775 [Graal] java/util/concurrent/locks/Lock/OOMEInAQS.java fails OOME thrown from the UncaughtExceptionHandler
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-8350483 AArch64: turn on signum intrinsics by default on Ampere CPUs
P4 JDK-8343607 C2: Shenandoah crashes during barrier expansion in Continuation::enter
P4 JDK-8350211 CTW: Attempt to preload all classes in constant pool
P4 JDK-8349753 Incorrect use of CodeBlob::is_buffer_blob() in few places
P4 JDK-8350683 Non-C2 / minimal JVM crashes in the build on ppc64 platforms
P4 JDK-8351033 RISC-V: TestFloat16ScalarOperations asserts with offset (4210) is too large to be patched in one beq/bge/bgeu/blt/bltu/bne instruction!
P4 JDK-8339889 Several compiler tests ignore vm flags and not marked as flagless
P4 JDK-8350386 Test TestCodeCacheFull.java fails with option -XX:-UseCodeCacheFlushing
P4 JDK-8352512 TestVectorZeroCount: counter not reset between iterations
P4 JDK-8343978 Update the default value of CodeEntryAlignment for Ampere-1A and 1B
P5 JDK-8352866 TestLogJIT.java runs wrong test class

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-8349213 G1: Clearing bitmaps during collection set merging not claimed by region
P4 JDK-8347126 gc/stress/TestStressG1Uncommit.java gets OOM-killed
P4 JDK-8349002 GenShen: Deadlock during shutdown

hotspot/jfr

Priority Bug Summary
P4 JDK-8344453 Test jdk/jfr/event/oldobject/TestSanityDefault.java timed out

hotspot/jvmti

Priority Bug Summary
P4 JDK-8305010 Test vmTestbase/nsk/jvmti/scenarios/sampling/SP05/sp05t003/TestDescription.java timed out: thread not suspended

hotspot/runtime

Priority Bug Summary
P3 JDK-8345569 [ubsan] adjustments to filemap.cpp and virtualspace.cpp for macOS aarch64
P3 JDK-8343191 Cgroup v1 subsystem fails to set subsystem path
P3 JDK-8353946 Incorrect WINDOWS ifdef in os::build_agent_function_name
P3 JDK-8350201 Out of bounds access on Linux aarch64 in os::print_register_info
P4 JDK-8349623 [ASAN] Gtest os_linux.glibc_mallinfo_wrapper_vm fails
P4 JDK-8347268 [ubsan] logOutput.cpp:357:21: runtime error: applying non-zero offset 1 to null pointer
P4 JDK-8346881 [ubsan] logSelection.cpp:154:24 / logSelectionList.cpp:72:94 : runtime error: applying non-zero offset 1 to null pointer
P4 JDK-8348323 Corrupted timezone string in JVM crash log
P4 JDK-8350313 Include timings for leaving safepoint in safepoint logging
P4 JDK-8338303 Linux ppc64le with toolchain clang - detection failure in early JVM startup
P4 JDK-8350499 Minimal build fails with slowdebug builds
P4 JDK-8351382 New test containers/docker/TestMemoryWithSubgroups.java is failing
P4 JDK-8351665 Remove unused UseNUMA in os_aix.cpp
P4 JDK-8346832 runtime/CompressedOops/CompressedCPUSpecificClassSpaceReservation.java fails on RISC-V
P4 JDK-8352946 SEGV_BND signal code of SIGSEGV missing from our signal-code table
P4 JDK-8353329 Small memory leak when create GrowableArray with initial size 0
P4 JDK-8350103 Test containers/systemd/SystemdMemoryAwarenessTest.java fails on Linux ppc64le SLES15 SP6

hotspot/svc-agent

Priority Bug Summary
P4 JDK-8349039 Adjust exception No type named in database

hotspot/test

Priority Bug Summary
P4 JDK-8322983 Virtual Threads: exclude 2 tests

infrastructure/build

Priority Bug Summary
P3 JDK-8353709 Debug symbols bundle should contain full debug files when building --with-external-symbols-in-bundles=public
P4 JDK-8350137 After JDK-8348975, Linux builds contain man pages for windows only tools
P4 JDK-8345590 AIX 'make all' fails after JDK-8339480
P4 JDK-8349375 Cleanup AIX special file build settings
P4 JDK-8349214 Improve size optimization flags for MSVC builds
P4 JDK-8353066 Properly detect Windows/aarch64 as build platform
P4 JDK-8348582 Set -fstack-protector when building with clang
P4 JDK-8349150 Support precompiled headers on AIX
P4 JDK-8350202 Tune for Power10 CPUs on Linux ppc64le

infrastructure/other

Priority Bug Summary
P4 JDK-8349370 Bump version numbers for 24.0.2

performance/libraries

Priority Bug Summary
P4 JDK-8349943 [JMH] Use jvmArgs consistently

security-libs/java.security

Priority Bug Summary
P3 JDK-8303770 Remove Baltimore root certificate expiring in May 2025
P4 JDK-8346049 jdk/test/lib/security/timestamp/TsaServer.java warnings
P4 JDK-8349348 Refactor ClassLoaderDeadlock.sh and Deadlock.sh to run fully in java
P4 JDK-8344316 security/auth/callback/TextCallbackHandler/Password.java make runnable with JTReg and add the UI
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
P4 JDK-8349492 Update sun/security/pkcs12/KeytoolOpensslInteropTest.java to use a recent Openssl version

security-libs/javax.net.ssl

Priority Bug Summary
P4 JDK-8344629 SSLSocketNoServerHelloClientShutdown test timeout

security-libs/jdk.security

Priority Bug Summary
P4 JDK-8349501 Relocate supporting classes in security/testlibrary to test/lib/jdk tree
P4 JDK-8346285 Update jarsigner compatibility test for change in default digest algorithm

tools/javac

Priority Bug Summary
P4 JDK-8343882 BasicAnnoTests doesn't handle multiple annotations at the same position

tools/jlink

Priority Bug Summary
P3 JDK-8353185 Introduce the concept of upgradeable files in context of JEP 493
P4 JDK-8347302 Mark test tools/jimage/JImageToolTest.java as flagless

tools/jpackage

Priority Bug Summary
P3 JDK-8347298 Bug in JPackageCommand.ignoreFakeRuntime()
P3 JDK-8347300 Don't exclude the "PATH" var from the environment when running app launchers in jpackage tests
P3 JDK-8345185 Update jpackage to not include service bindings by default
P4 JDK-8347296 WinInstallerUiTest fails in local test runs if the path to test work directory is longer that regular

tools/jshell

Priority Bug Summary
P4 JDK-8351639 Improve debuggability of test/langtools/jdk/jshell/JdiHangingListenExecutionControlTest.java test
P4 JDK-8347629 Test FailOverDirectExecutionControlTest.java fails with -Xcomp

xml

Priority Bug Summary
P4 JDK-8344925 translet-name ignored when package-name is also set