RELEASE NOTES: JDK 25.0.2

Notes generated: Fri Aug 29 09:45:27 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/2d

Priority Bug Summary
P4 JDK-8364996 java/awt/font/FontNames/LocaleFamilyNames.java times out on Windows
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-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-8357799 Improve instructions for JFileChooser/HTMLFileName.java
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

core-libs

Priority Bug Summary
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-8362207 Add more test cases for possible double-rounding in fma

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

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-8317801 java/net/Socket/asyncClose/Race.java fails intermittently (aix)
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-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/tools

Priority Bug Summary
P3 JDK-8279005 sun/tools/jstat tests do not check for test case exit codes after JDK-8245129

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-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
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-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-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

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

hotspot/jfr

Priority Bug Summary
P4 JDK-8364090 Dump JFR recording on CrashOnOutOfMemoryError

hotspot/jvmti

Priority Bug Summary
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-8360791 [ubsan] Adjust signal handling
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-8359207 Remove runtime/signal/TestSigusr2.java since it is always skipped
P4 JDK-8362515 RISC-V: cleanup NativeFarCall
P4 JDK-8359105 RISC-V: No need for acquire fence in safepoint poll during JNI calls
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-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-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-8361478 GHA: Use MSYS2 from GHA runners

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

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