RELEASE NOTES: JDK 25.0.2

Notes generated: Thu Sep 18 08:28:59 CEST 2025

JEPs

None.

RELEASE NOTES

core-libs/java.lang.invoke

Issue Description
JDK-8358535

Performance Regression in java.lang.ClassValue::get


JDK-8351996 updated ClassValue in JDK 25 to make it more robust in various threading conditions. Unfortunately, this update caused ClassValue.get to run more slowly after a call to ClassValue.remove. Most applications do not use ClassValue directly, but libraries which call both ClassValue.get and remove may be affected by the slowdown. An example of a library affected by the slowdown is the standard library in Scala 2.12. The slowdown is fixed in in JDK-8358535.


FIXED ISSUES

client-libs

Priority Bug Summary
P4 JDK-8366764 Deproblemlist java/awt/ScrollPane/ScrollPositionTest.java

client-libs/2d

Priority Bug Summary
P3 JDK-8361748 Enforce limits on the size of an XBM image
P3 JDK-8366208 Unexpected exception in sun.java2d.cmm.lcms.LCMSImageLayout
P4 JDK-8363676 [GCC static analyzer] missing return value check of malloc in OGLContext_SetTransform
P4 JDK-8364996 java/awt/font/FontNames/LocaleFamilyNames.java times out on Windows
P4 JDK-8366359 Test should throw SkippedException when there is no lpstat
P4 JDK-8358697 TextLayout/MyanmarTextTest.java passes if no Myanmar font is found

client-libs/java.awt

Priority Bug Summary
P3 JDK-8354415 [Ubuntu25.04] api/java_awt/GraphicsDevice/indexTGF.html#SetDisplayMode - setDisplayMode_REFRESH_RATE_UNKNOWN fails: Height is different on vnc
P3 JDK-8362390 AIX make fails in awt_GraphicsEnv.c
P3 JDK-8354646 java.awt.TextField allows to identify the spaces in a password when double clicked at the starting and end of the text
P4 JDK-8355478 DoubleActionESC.java fails intermittently
P4 JDK-8346952 GetGraphicsStressTest.java fails: Native resources unavailable
P4 JDK-8347277 java/awt/Focus/ComponentLostFocusTest.java fails intermittently
P4 JDK-8364177 JDK fails to build due to undefined symbol in libpng on LoongArch64
P4 JDK-8359687 Use PassFailJFrame for java/awt/print/Dialog/DialogType.java

client-libs/javax.swing

Priority Bug Summary
P3 JDK-8358813 JPasswordField identifies spaces in password via delete shortcuts
P3 JDK-8349188 LineBorder does not scale correctly
P4 JDK-8362089 DnDAutoTests for JList, JTable, JTree tests are failing with Parse Exception
P4 JDK-8357799 Improve instructions for JFileChooser/HTMLFileName.java
P4 JDK-8365615 Improve JMenuBar/RightLeftOrientation.java
P4 JDK-8361298 SwingUtilities/bug4967768.java fails where character P is not underline
P4 JDK-8359428 Test 'javax/swing/JTabbedPane/bug4499556.java' failed because after selecting one of L&F items, the test case automatically failed when clicking on L&F Menu button again
P4 JDK-8335986 Test javax/swing/JCheckBox/4449413/bug4449413.java fails on Windows 11 x64 because RBMenuItem's and CBMenuItem's checkmark on the left side are not visible
P4 JDK-8346753 Test javax/swing/JMenuItem/RightLeftOrientation/RightLeftOrientation.java fails on Windows Server 2025 x64 because the icons of RBMenuItem and CBMenuItem are not visible in Nimbus LookAndFeel

core-libs

Priority Bug Summary
P3 JDK-8366537 Test "java/util/TimeZone/DefaultTimeZoneTest.java" is not updating the zone ID as expected
P4 JDK-8361959 [GCC static analyzer] java_props_md.c leak of 'temp' variable is reported
P4 JDK-8361888 [GCC static analyzer] ProcessImpl_md.c Java_java_lang_ProcessImpl_forkAndExec error: use of uninitialized value '*(ChildStuff *)p.mode
P4 JDK-8352016 Improve java/lang/RuntimeTests/RuntimeExitLogTest.java
P4 JDK-8361112 Use exact float -> Float16 conversion method in Float16 tests

core-libs/java.io

Priority Bug Summary
P4 JDK-8359449 [TEST] open/test/jdk/java/io/File/SymLinks.java Refactor extract method for Windows specific test

core-libs/java.lang

Priority Bug Summary
P2 JDK-8365307 AIX make fails after JDK-8364611
P4 JDK-8364611 (process) Child process SIGPIPE signal disposition should be default
P4 JDK-8362889 [GCC static analyzer] leak in libstringPlatformChars.c
P4 JDK-8362207 Add more test cases for possible double-rounding in fma
P4 JDK-8361497 Scoped Values: orElse and orElseThrow do not access the cache

core-libs/java.lang.foreign

Priority Bug Summary
P4 JDK-8362169 Pointer passed to upcall may get wrong scope

core-libs/java.lang.invoke

Priority Bug Summary
P4 JDK-8358535 Changes in ClassValue (JDK-8351996) caused a 1-9% regression in Renaissance-PageRank
P4 JDK-8366028 MethodType::fromMethodDescriptorString should not throw UnsupportedOperationException for invalid descriptors

core-libs/java.net

Priority Bug Summary
P3 JDK-8358048 java/net/httpclient/HttpsTunnelAuthTest.java incorrectly calls Thread::stop
P4 JDK-8360408 [TEST] Use @requires tag instead of exiting based on "os.name" property value for sun/net/www/protocol/file/FileURLTest.java
P4 JDK-8359127 Amend java/nio/channels/DatagramChannel/PromiscuousIPv6.java to use @requires for OS platform selection
P4 JDK-8364263 HttpClient: Improve encapsulation of ProxyServer
P4 JDK-8317801 java/net/Socket/asyncClose/Race.java fails intermittently (aix)
P4 JDK-8366031 Mark com/sun/nio/sctp/SctpChannel/CloseDescriptors.java as intermittent
P4 JDK-8360981 Remove use of Thread.stop in test/jdk/java/net/Socket/DeadlockTest.java
P4 JDK-8362855 Test java/net/ipv6tests/TcpTest.java should report SkippedException when there no ia4addr or ia6addr
P4 JDK-8364786 Test java/net/vthread/HttpALot.java intermittently fails - 24999 handled, expected 25000
P4 JDK-8365811 test/jdk/java/net/CookieHandler/B6644726.java failure - "Should have 5 cookies. Got only 4, expires probably didn't parse correctly"

core-libs/java.nio

Priority Bug Summary
P4 JDK-8357959 (bf) ByteBuffer.allocateDirect initialization can result in large TTSP spikes
P4 JDK-8365543 UnixNativeDispatcher.init should lookup open64at and stat64at on AIX

core-svc/java.lang.management

Priority Bug Summary
P4 JDK-8366092 [GCC static analyzer] UnixOperatingSystem.c warning: use of uninitialized value 'systemTicks'
P4 JDK-8362533 Tests sun/management/jmxremote/bootstrap/* duplicate VM flags

core-svc/tools

Priority Bug Summary
P3 JDK-8279005 sun/tools/jstat tests do not check for test case exit codes after JDK-8245129
P4 JDK-8305567 serviceability/tmtools/jstat/GcTest01.java failed utils.JstatGcResults.assertConsistency

hotspot/compiler

Priority Bug Summary
P2 JDK-8361211 C2: Final graph reshaping generates unencodeable klass constants
P2 JDK-8365468 EagerJVMCI should only apply to the CompilerBroker JVMCI runtime
P3 JDK-8361892 AArch64: Incorrect matching rule leading to improper oop instruction encoding
P3 JDK-8365071 ARM32: JFR intrinsic jvm_commit triggers C2 regalloc assert
P3 JDK-8365166 ARM32: missing os::fetch_bcp_from_context implementation
P3 JDK-8362838 RISC-V: Incorrect matching rule leading to improper oop instruction encoding
P3 JDK-8365926 RISC-V: Performance regression in renaissance (chi-square)
P4 JDK-8357816 Add test from JDK-8350576
P4 JDK-8357822 C2: Multiple string optimization tests are no longer testing string concatenation optimizations
P4 JDK-8360867 CTW: Disable inline cache verification
P4 JDK-8360783 CTW: Skip deoptimization between tiers
P4 JDK-8361255 CTW: Tolerate more NCDFE problems
P4 JDK-8361180 Disable CompiledDirectCall verification with -VerifyInlineCaches
P4 JDK-8363895 Minimal build fails with slowdebug builds after JDK-8354887
P4 JDK-8360520 RISC-V: C1: Fix primitive array clone intrinsic regression after JDK-8333154
P4 JDK-8361449 RISC-V: Code cleanup for native call
P4 JDK-8365206 RISC-V: compiler/c2/irTests/TestFloat16ScalarOperations.java is failing on riscv64
P4 JDK-8365302 RISC-V: compiler/loopopts/superword/TestAlignVector.java fails when vlen=128
P4 JDK-8365200 RISC-V: compiler/loopopts/superword/TestGeneralizedReductions.java fails with Zvbb and vlen=128
P4 JDK-8367048 RISC-V: Correct pipeline descriptions of the architecture
P4 JDK-8365772 RISC-V: correctly prereserve NaN payload when converting from float to float16 in vector way
P4 JDK-8362596 RISC-V: Improve _vectorizedHashCode intrinsic
P4 JDK-8364150 RISC-V: Leftover for JDK-8343430 removing old trampoline call
P4 JDK-8361504 RISC-V: Make C1 clone intrinsic platform guard more specific
P4 JDK-8365841 RISC-V: Several IR verification tests fail after JDK-8350960 without Zvfh
P4 JDK-8357694 RISC-V: Several IR verification tests fail when vlen=128
P4 JDK-8365844 RISC-V: TestBadFormat.java fails when running without RVV
P4 JDK-8363898 RISC-V: TestRangeCheckHoistingScaledIV.java fails after JDK-8355293 when running without RVV
P4 JDK-8364120 RISC-V: unify the usage of MacroAssembler::instruction_size
P4 JDK-8364296 Set IntelJccErratumMitigation flag ergonomically
P5 JDK-8361494 [IR Framework] Escape too much in replacement of placeholder

hotspot/gc

Priority Bug Summary
P2 JDK-8350621 Code cache stops scheduling GC
P4 JDK-8364503 gc/g1/TestCodeCacheUnloadDuringConcCycle.java fails because of race printing to stdout
P4 JDK-8365571 GenShen: PLAB promotions may remain disabled for evacuation threads
P4 JDK-8361948 Shenandoah: region free capacity unit mismatch
P4 JDK-8362532 Test gc/g1/plab/* duplicate command-line options
P4 JDK-8366147 ZGC: ZPageAllocator::cleanup_failed_commit_single_partition may leak memory

hotspot/jfr

Priority Bug Summary
P3 JDK-8364257 JFR: User-defined events and settings with a one-letter name cannot be configured
P4 JDK-8364090 Dump JFR recording on CrashOnOutOfMemoryError
P4 JDK-8365638 JFR: Add --exact for debugging out-of-order events

hotspot/jvmti

Priority Bug Summary
P4 JDK-8365240 [asan] exclude some tests when using asan enabled binaries
P4 JDK-8351487 [ubsan] jvmti.h runtime error: load of value which is not a valid value
P4 JDK-8360664 Null pointer dereference in src/hotspot/share/prims/jvmtiTagMap.cpp in IterateOverHeapObjectClosure::do_object()

hotspot/runtime

Priority Bug Summary
P2 JDK-8343218 Add option to disable allocating interface and abstract classes in non-class metaspace
P3 JDK-8364235 Fix for JDK-8361447 breaks the alignment requirements for GuardedMemory
P3 JDK-8356324 JVM crash (SIGSEGV at ClassListParser::resolve_indy_impl) during -Xshare:dump starting from 21.0.5
P3 JDK-8363928 Specifying AOTCacheOutput with a blank path causes the JVM to crash
P4 JDK-8361198 [AIX] fix misleading error output in thread_cpu_time_unchecked
P4 JDK-8365442 [asan] runtime/ErrorHandling/CreateCoredumpOnCrash.java fails
P4 JDK-8364514 [asan] runtime/jni/checked/TestCharArrayReleasing.java heap-buffer-overflow
P4 JDK-8365487 [asan] some oops (mode) related tests fail
P4 JDK-8358685 [TEST] AOTLoggingTag.java failed with missing log message
P4 JDK-8360090 [TEST] RISC-V: disable some cds tests on qemu
P4 JDK-8360791 [ubsan] Adjust signal handling
P4 JDK-8361215 Add AOT test case: verification constraint classes are excluded
P4 JDK-8361367 AOT ExcludedClasses.java test failed with missing constant pool logs
P4 JDK-8366029 Do not add -XX:VerifyArchivedFields by default to CDS tests
P4 JDK-8360518 Docker tests do not work when asan is configured
P4 JDK-8364199 Enhance list of environment variables printed in hserr/hsinfo file
P4 JDK-8320836 jtreg gtest runs should limit heap size
P4 JDK-8364198 NMT should have a better corruption message
P4 JDK-8359207 Remove runtime/signal/TestSigusr2.java since it is always skipped
P4 JDK-8367616 RISC-V: Auto-enable Zicboz extension for debug builds
P4 JDK-8362515 RISC-V: cleanup NativeFarCall
P4 JDK-8367137 RISC-V: Detect Zicboz block size via hwprobe
P4 JDK-8359105 RISC-V: No need for acquire fence in safepoint poll during JNI calls
P4 JDK-8367066 RISC-V: refine register selection in MacroAssembler:: decode_klass_not_null
P4 JDK-8367098 RISC-V: sync CPU features with related JVM flags for dependant ones
P4 JDK-8357382 runtime/cds/appcds/aotClassLinking/BulkLoaderTest.java#aot fails with Xcomp and C1
P4 JDK-8360255 runtime/jni/checked/TestLargeUTF8Length.java fails with -XX:-CompactStrings
P4 JDK-8362834 Several runtime/Thread tests should mark as /native
P4 JDK-8359827 Test runtime/Thread/ThreadCountLimit.java need loop increasing the limit
P4 JDK-8364114 Test TestHugePageDecisionsAtVMStartup.java#LP_enabled fails when no free hugepage

hotspot/svc

Priority Bug Summary
P4 JDK-8362379 Test serviceability/HeapDump/UnmountedVThreadNativeMethodAtTop.java should mark as /native

hotspot/test

Priority Bug Summary
P4 JDK-8361599 [PPC64] enable missing tests via jtreg requires
P4 JDK-8362602 Add test.timeout.factor to CompileFactory to avoid test timeouts
P4 JDK-8366558 Gtests leave /tmp/cgroups-test* files
P4 JDK-8362501 Update test/hotspot/jtreg/applications/jcstress/README

infrastructure/build

Priority Bug Summary
P4 JDK-8363910 Avoid tuning for Power10 CPUs on Linux ppc64le when gcc < 10 is used
P4 JDK-8365312 GCC 12 cannot compile SVE on aarch64 with auto-var-init pattern
P4 JDK-8343546 GHA: Cache required dependencies in master-branch workflow
P4 JDK-8362582 GHA: Increase bundle retention time to deal with infra overload better
P4 JDK-8363965 GHA: Switch cross-compiling sysroots to Debian bookworm
P4 JDK-8363966 GHA: Switch cross-compiling sysroots to Debian trixie
P4 JDK-8361478 GHA: Use MSYS2 from GHA runners

other-libs

Priority Bug Summary
P4 JDK-8364597 Replace THL A29 Limited with Tencent

release-team/RM

Priority Bug Summary
P3 JDK-8363696 Update the release version and date for OpenJDK 25u

security-libs/javax.crypto

Priority Bug Summary
P4 JDK-8356897 Update NSS library to 3.111

security-libs/javax.crypto:pkcs11

Priority Bug Summary
P4 JDK-8361868 [GCC static analyzer] complains about missing calloc - NULL checks in p11_util.c
P4 JDK-8361871 [GCC static analyzer] complains about use of uninitialized value ckpObject in p11_util.c
P4 JDK-8365168 Use 64-bit aligned addresses for CK_ULONG access in PKCS11 native key code

security-libs/jdk.security

Priority Bug Summary
P4 JDK-8365863 /test/jdk/sun/security/pkcs11/Cipher tests skip without SkippedException

tools/jar

Priority Bug Summary
P4 JDK-8365700 Jar --validate without any --file option leaves around a temporary file /tmp/tmpJar.jar

tools/javac

Priority Bug Summary
P5 JDK-8360022 ClassRefDupInConstantPoolTest.java fails when running in repeat
P5 JDK-8354447 Missing test for retroactive @SuppressWarnings("dangling-doc-comments") behavior