RELEASE NOTES: JDK 25.0.2

Notes generated: Wed Oct 08 08:15:20 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.


hotspot/gc

Issue Description
JDK-8366434

-XX:+UseTransparentHugePages Fails to Enable Huge Pages for G1


On systems configured with the Transparent Huge Pages (THP) mode as ´madvise´, the option -XX:+UseTransparentHugePages does not enable huge pages when running with the default garbage collector G1.

A workaround to allow the use of transparent huge pages with G1 is to configure the THP mode as always: ```

echo always > /sys/kernel/mm/transparent_hugepage/enabled

```

This issue will be fixed in a future update.


FIXED ISSUES

client-libs

Priority Bug Summary
P4 JDK-8366764 Deproblemlist java/awt/ScrollPane/ScrollPositionTest.java
P4 JDK-8198872 Test javax/swing/text/JTextComponent/4532590/bug4532590.java is unstable

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-8362204 test/jdk/sun/awt/font/TestDevTransform.java fails on Ubuntu 24.04
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-8367348 Enhance PassFailJFrame to support links in HTML
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-8367017 Remove legacy checks from WrappedToolkitTest and convert from bash
P4 JDK-8359687 Use PassFailJFrame for java/awt/print/Dialog/DialogType.java
P5 JDK-8162380 [TEST_BUG] MouseEvent/.../AltGraphModifierTest.java has only "Fail" button

client-libs/javax.swing

Priority Bug Summary
P3 JDK-8358532 JFileChooser in GTK L&F still displays HTML filename
P3 JDK-8358813 JPasswordField identifies spaces in password via delete shortcuts
P3 JDK-8349188 LineBorder does not scale correctly
P3 JDK-8365389 Remove static color fields from SwingUtilities3 and WindowsMenuItemUI
P4 JDK-8365425 [macos26] javax/swing/JInternalFrame/8160248/JInternalFrameDraggingTest.java fails on macOS 26
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-8366893 java/lang/Thread/virtual/stress/GetStackTraceALotWhenPinned.java timed out on macos-aarch64
P4 JDK-8361497 Scoped Values: orElse and orElseThrow do not access the cache
P4 JDK-8368192 Test java/lang/ProcessBuilder/Basic.java#id0 fails with Exception: Stack trace

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-8333783 java/nio/channels/FileChannel/directio/DirectIOTest.java is unstable with AV software
P4 JDK-8365543 UnixNativeDispatcher.init should lookup open64at and stat64at on AIX

core-svc/debugger

Priority Bug Summary
P4 JDK-8367131 Test com/sun/jdi/ThreadMemoryLeakTest.java fails on 32 bits

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-8366948 AOT cache creation crashes when iterating training data
P2 JDK-8361211 C2: Final graph reshaping generates unencodeable klass constants
P2 JDK-8368071 Compilation throughput regressed 2X-8X after JDK-8355003
P2 JDK-8365468 EagerJVMCI should only apply to the CompilerBroker JVMCI runtime
P2 JDK-8368698 runtime/cds/appcds/aotCache/OldClassSupport.java assert(can_add()) failed: Cannot add TrainingData objects
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-8367333 C2: Vector math operation intrinsification failure
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)
P3 JDK-8365726 Test crashed with assert in C1 thread: Possible safepoint reached by thread that does not allow it
P3 JDK-8362530 VM crash with -XX:+PrintTieredEvents when collecting AOT profiling
P3 JDK-8365265 x86 short forward jump exceeds 8-bit offset in methodHandles_x86.cpp when using Intel APX
P4 JDK-8357816 Add test from JDK-8350576
P4 JDK-8362972 C2 fails with unexpected node in SuperWord truncation: IsFiniteF, IsFiniteD
P4 JDK-8367969 C2: compiler/vectorapi/TestVectorMathLib.java fails without UnlockDiagnosticVMOptions
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-8367313 CTW: Execute in AWT headless mode
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-8367694 Fix jtreg test failure when Intel APX is enabled for KNL platforms
P4 JDK-8363895 Minimal build fails with slowdebug builds after JDK-8354887
P4 JDK-8368366 RISC-V: AlignVector is mistakenly set to AvoidUnalignedAccesses
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-8368732 RISC-V: Detect support for misaligned vector access via hwprobe
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
P2 JDK-8359104 gc/TestAlwaysPreTouchBehavior.java# fails on Linux
P2 JDK-8366434 THP not working properly with G1 after JDK-8345655
P3 JDK-8366980 TestTransparentHugePagesHeap.java fails when run with -UseCompressedOops
P4 JDK-8364503 gc/g1/TestCodeCacheUnloadDuringConcCycle.java fails because of race printing to stdout
P4 JDK-8361897 gc/z/TestUncommit.java fails with Uncommitted too slow
P4 JDK-8365956 GenShen: Adaptive tenuring threshold algorithm may raise threshold prematurely
P4 JDK-8367378 GenShen: Missing timing stats when old mark buffers are flushed during final update refs
P4 JDK-8365571 GenShen: PLAB promotions may remain disabled for evacuation threads
P4 JDK-8365919 Replace currentTimeMillis with nanoTime in Stresser.java
P4 JDK-8368152 Shenandoah: Incorrect behavior at end of degenerated cycle
P4 JDK-8361948 Shenandoah: region free capacity unit mismatch
P4 JDK-8364212 Shenandoah: Rework archived objects loading
P4 JDK-8361520 Stabilize SystemGC benchmarks
P4 JDK-8358340 Support CDS heap archive with Generational Shenandoah
P4 JDK-8362532 Test gc/g1/plab/* duplicate command-line options
P4 JDK-8368367 Test jdk/jfr/event/gc/detailed/TestGCHeapMemoryUsageEvent.java fails jdk.GCHeapMemoryUsage "expected 0 > 0"
P4 JDK-8366147 ZGC: ZPageAllocator::cleanup_failed_commit_single_partition may leak memory

hotspot/jfr

Priority Bug Summary
P3 JDK-8362836 JFR: Broken pipe in jdk/jfr/event/io/TestIOTopFrame.java
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-8277444 Data race between JvmtiClassFileReconstituter::copy_bytecodes and class linking
P4 JDK-8360664 Null pointer dereference in src/hotspot/share/prims/jvmtiTagMap.cpp in IterateOverHeapObjectClosure::do_object()
P4 JDK-8361314 Test serviceability/jvmti/VMEvent/MyPackage/VMEventRecursionTest.java FATAL ERROR in native method: Failed during the GetClassSignature call

hotspot/other

Priority Bug Summary
P4 JDK-8364184 [REDO] AArch64: [VectorAPI] sve vector math operations are not supported after JDK-8353217

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-8365823 Revert storing abstract and interface Klasses to non-class metaspace
P3 JDK-8362282 runtime/logging/StressAsyncUL.java failed with exitValue = 134
P3 JDK-8363928 Specifying AOTCacheOutput with a blank path causes the JVM to crash
P4 JDK-8360219 [AIX] assert(locals_base >= l2) failed: bad placement
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-8357064 cds/appcds/ArchiveRelocationTest.java failed with missing expected output
P4 JDK-8361253 CommandLineOptionTest library should report observed values on failure
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-8359423 Improve error message in case of missing jsa shared archive
P4 JDK-8364111 InstanceMirrorKlass iterators should handle CDS and hidden classes consistently
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
P4 JDK-8360178 TestArguments.atojulong gtest has incorrect format string
P4 JDK-8365165 Zap C-heap memory at delete/free

hotspot/svc

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

hotspot/svc-agent

Priority Bug Summary
P4 JDK-8367689 Revert removal of several compilation-related vmStructs fields

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
P3 JDK-8357141 Update to use jtreg 7.5.2
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
P4 JDK-8362516 Support of GCC static analyzer (-fanalyzer)

infrastructure/other

Priority Bug Summary
P4 JDK-8364352 Some tests fail when using a limited number of pregenerated .jsa CDS archives

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/java.security

Priority Bug Summary
P4 JDK-8325766 Extend CertificateBuilder to create trust and end entity certificates programmatically
P4 JDK-8357691 File blocked.certs contains bad content when boot jdk 25 is used, sun/security/lib/CheckBlockedCerts.java failing

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
P4 JDK-8367782 VerifyJarEntryName.java: Fix modifyJarEntryName to operate on bytes and re-introduce verifySignatureEntryName

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

tools/jpackage

Priority Bug Summary
P3 JDK-8345810 Custom launchers must be linked with pthread to avoid dynamic linker issues
P3 JDK-8365790 Shutdown hook for application image does not work on Windows