RELEASE NOTES FOR: 24.0.2 ==================================================================================================== Notes generated: Wed Apr 30 07:17:14 CEST 2025 Hint: Prefix bug IDs with https://bugs.openjdk.org/browse/ to reach the relevant JIRA entry. JAVA ENHANCEMENT PROPOSALS (JEP): None. RELEASE NOTES: tools/jpackage: 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: 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: 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 ``` ALL FIXED ISSUES, BY COMPONENT AND PRIORITY: client-libs: (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: (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: (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: (P4) JDK-8344892: beans/finder/MethodFinder.findMethod incorrectly returns null client-libs/javax.accessibility: (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: (P4) JDK-8347576: Error output in libjsound has non matching format strings client-libs/javax.swing: (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: (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: (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: (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: (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: (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: (P3) JDK-8352716: (tz) Update Timezone Data to 2025b core-libs/java.util: (P3) JDK-8351233: [ASAN] avx2-emu-funcs.hpp:151:20: error: ‘D.82188’ is used uninitialized core-libs/java.util.concurrent: (P4) JDK-8351933: Inaccurate masking of TC subfield decrement in ForkJoinPool core-libs/java.util.jar: (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: (P4) JDK-8349200: [JMH] time.format.ZonedDateTimeFormatterBenchmark fails core-svc/java.lang.management: (P4) JDK-8347267: [macOS]: UnixOperatingSystem.c:67:40: runtime error: division by zero globalization/translation: (P4) JDK-8351223: Update localized resources in keytool and jarsigner hotspot/compiler: (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: (P2) JDK-8352508: [Redo] G1: Pinned regions with pinned objects only reachable by native code crash VM (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: (P4) JDK-8344453: Test jdk/jfr/event/oldobject/TestSanityDefault.java timed out hotspot/jvmti: (P4) JDK-8305010: Test vmTestbase/nsk/jvmti/scenarios/sampling/SP05/sp05t003/TestDescription.java timed out: thread not suspended hotspot/runtime: (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: (P4) JDK-8349039: Adjust exception No type named in database hotspot/test: (P4) JDK-8322983: Virtual Threads: exclude 2 tests infrastructure/build: (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: (P4) JDK-8349370: Bump version numbers for 24.0.2 performance/libraries: (P4) JDK-8349943: [JMH] Use jvmArgs consistently security-libs/java.security: (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: (P4) JDK-8344629: SSLSocketNoServerHelloClientShutdown test timeout security-libs/jdk.security: (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: (P4) JDK-8343882: BasicAnnoTests doesn't handle multiple annotations at the same position tools/jlink: (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: (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: (P4) JDK-8351639: Improve debuggability of test/langtools/jdk/jshell/JdiHangingListenExecutionControlTest.java test (P4) JDK-8347629: Test FailOverDirectExecutionControlTest.java fails with -Xcomp xml: (P4) JDK-8344925: translet-name ignored when package-name is also set