RELEASE NOTES: JDK 14.0.2

Notes generated: Tue Apr 02 22:16:21 CEST 2024

JEPs

None.

RELEASE NOTES

security-libs/javax.net.ssl

Issue Description
JDK-8237474

Default SSLEngine Should Create in Server Role


In JDK 11 and later, javax.net.ssl.SSLEngine by default used client mode when handshaking. As a result, the set of default enabled protocols may differ to what is expected. SSLEngine would usually be used in server mode. From this JDK release onwards, SSLEngine will default to server mode. The javax.net.ssl.SSLEngine.setUseClientMode​(boolean mode) method may be used to configure the mode.


FIXED ISSUES

client-libs/2d

Priority Bug Summary
P3 JDK-8221741 ClassCastException can happen when fontconfig.properties is used
P4 JDK-8223935 PIT: java/awt/font/WindowsIndicFonts.java fails on windows10

client-libs/java.awt

Priority Bug Summary
P2 JDK-8242498 Invalid "sun.awt.TimedWindowEvent" object leads to JVM crash

core-libs/java.net

Priority Bug Summary
P3 JDK-8183369 RFC unconformity of HttpURLConnection with proxy

core-libs/java.nio

Priority Bug Summary
P4 JDK-8044365 (dc) MulticastSendReceiveTests.java failing with ENOMEM when joining group (OS X 10.9)
P4 JDK-8241568 (fs) UserPrincipalLookupService.lookupXXX failure with IOE "Operation not permitted"

core-svc/java.lang.management

Priority Bug Summary
P4 JDK-8242430 Correct links in javadoc of OperatingSystemMXBean

hotspot/compiler

Priority Bug Summary
P2 JDK-8231118 ARM32: Math tests failures
P2 JDK-8237859 C2: Crash when loads float above range check
P2 JDK-8240227 Loop predicates should be copied to unswitched loops
P3 JDK-8239142 C2's UseUniqueSubclasses optimization is broken for array accesses
P3 JDK-8238356 CodeHeap::blob_count() overestimates the number of blobs
P3 JDK-8237945 CTW: C2 compilation fails with assert(just_allocated_object(alloc_ctl) == ptr) failed: most recent allo
P3 JDK-8239852 java/util/concurrent tests fail with -XX:+VerifyGraphEdges: assert(!VerifyGraphEdges) failed: verification should have failed
P3 JDK-8236759 ShouldNotReachHere in PhaseIdealLoop::verify_strip_mined_scheduling
P3 JDK-8238438 SuperWord::co_locate_pack picks memory state of first instead of last load
P3 JDK-8235332 TestInstanceCloneAsLoadsStores.java fails with -XX:+StressGCM
P4 JDK-8238190 [JVMCI] Fix single implementor speculation for diamond shapes.
P4 JDK-8239456 [win][x86] vtable stub generation: assert failure (code size estimate)
P4 JDK-8239931 [win][x86] vtable stub generation: assert failure (code size estimate) follow-up
P4 JDK-8238756 C2: assert(((n) == __null || !VerifyIterativeGVN || !((n)->is_dead()))) failed: can not use dead node
P4 JDK-8238811 C2: assert(i >= req() || i == 0 || is_Region() || is_Phi()) with -XX:+VerifyGraphEdges
P4 JDK-8234146 compiler/jsr292/ContinuousCallSiteTargetChange.java times out on SPARC
P4 JDK-8238366 CTW runner closes standard output on exit
P4 JDK-8238247 CTW runner should sweep nmethods more aggressively
P4 JDK-8238385 CTW: C2 (Shenandoah) compilation fails with "Range check dependent CastII node was not removed"
P4 JDK-8237951 CTW: C2 compilation fails with "malformed control flow"
P4 JDK-8240220 IdealLoopTree::dump_head predicate printing is broken
P4 JDK-8240070 Shenandoah: remove obsolete ShenandoahCommonGCStateLoads
P4 JDK-8240223 Use consistent predicate order in and with PhaseIdealLoop::find_predicate

hotspot/gc

Priority Bug Summary
P2 JDK-8237632 Shenandoah: accept NULL fwdptr to cooperate with JVMTI and JFR
P2 JDK-8237837 Shenandoah: assert(mem == __null) failed: only one safepoint
P2 JDK-8237821 Shenandoah: build broken after JDK-8237637 (Remove dubious type conversions from oop)
P2 JDK-8238851 Shenandoah: C1: Resolve into registers of correct type
P2 JDK-8241081 Shenandoah: Do not modify update-watermark concurrently
P2 JDK-8237780 Shenandoah: More reliable nmethod verification
P2 JDK-8239926 Shenandoah: Shenandoah needs to mark nmethod's metadata
P3 JDK-8240589 OtherRegionsTable::_num_occupied not updated correctly
P3 JDK-8241765 Shenandoah: AARCH64 need to save/restore call clobbered registers before calling keepalive barrier
P4 JDK-8225216 gc/logging/TestMetaSpaceLog.java doesn't work for Shenandoah
P4 JDK-8237217 Incorrect G1StringDedupEntry type used in StringDedupTable destructor
P4 JDK-8220503 Move definition of ShenandoahTerminatorTerminator::should_exit_termination() to .cpp file
P4 JDK-8239904 Shenandoah: accumulated penalties should not be over 100% of capacity
P4 JDK-8242041 Shenandoah: adaptive heuristics should account evac reserve in free target
P4 JDK-8241435 Shenandoah: avoid disabling pacing with "aggressive"
P4 JDK-8240917 Shenandoah: Avoid scanning thread code roots twice in all root scanner
P4 JDK-8240872 Shenandoah: Avoid updating new regions from start of evacuation
P4 JDK-8240948 Shenandoah: cleanup not-forwarded-objects paths after JDK-8240868
P4 JDK-8239081 Shenandoah: Consolidate C1 LRB and native barriers
P4 JDK-8241139 Shenandoah: distribute mark-compact work exactly to minimize fragmentation
P4 JDK-8239868 Shenandoah: ditch C2 node limit adjustments
P4 JDK-8240534 Shenandoah: ditch debug safepoint timeout adjustment
P4 JDK-8241351 Shenandoah: fragmentation metrics overhaul
P4 JDK-8239354 Shenandoah: minor enhancements to traversal GC
P4 JDK-8237543 Shenandoah: More asserts around code roots
P4 JDK-8236851 Shenandoah: More details in Traversal GC event messages
P4 JDK-8241838 Shenandoah: no need to trash cset during final mark
P4 JDK-8241926 Shenandoah: only print heap changes for operations that directly affect it
P4 JDK-8240076 Shenandoah: pacer should cover reset and preclean phases
P4 JDK-8240511 Shenandoah: parallel safepoint workers count should be ParallelGCThreads
P4 JDK-8242089 Shenandoah: per-worker stats should be summed up, not averaged
P4 JDK-8242040 Shenandoah: print allocation failure type
P4 JDK-8240671 Shenandoah: refactor ShenandoahPhaseTimings
P4 JDK-8240749 Shenandoah: refactor ShenandoahUtils
P4 JDK-8241534 Shenandoah: region status should include update watermark
P4 JDK-8240868 Shenandoah: remove CM-with-UR piggybacking cycles
P4 JDK-8240750 Shenandoah: remove leftover files and mentions of ShenandoahAllocTracker
P4 JDK-8240215 Shenandoah: remove ShenandoahAllocationTrace
P4 JDK-8240217 Shenandoah: remove ShenandoahEvacAssist
P4 JDK-8242213 Shenandoah: remove ShenandoahHeuristics::_bytes_in_cset
P4 JDK-8240216 Shenandoah: remove ShenandoahTerminationTrace
P4 JDK-8240915 Shenandoah: Remove unused fields in init mark tasks
P4 JDK-8240315 Shenandoah: Rename ShLBN::get_barrier_strength()
P4 JDK-8230853 Shenandoah: replace leftover assert(is_in(...)) with rich asserts
P4 JDK-8240873 Shenandoah: Short-cut arraycopy barriers
P4 JDK-8241985 Shenandoah: simplify collectable garbage logging
P4 JDK-8241983 Shenandoah: simplify FreeSet logging
P4 JDK-8241520 Shenandoah: simplify region sequence numbers handling
P4 JDK-8242083 Shenandoah: split "Prepare Evacuation" tracking into cset/freeset counters
P4 JDK-8241583 Shenandoah: turn heap lock asserts into macros
P4 JDK-8240069 Shenandoah: turn more flags diagnostic

hotspot/runtime

Priority Bug Summary
P2 JDK-8241296 Segfault in JNIHandleBlock::oops_do()
P3 JDK-8239787 AArch64: String.indexOf may incorrectly handle empty strings.
P4 JDK-8241586 compiler/cpuflags/TestAESIntrinsicsOnUnsupportedConfig.java fails on aarch64

infrastructure

Priority Bug Summary
P3 JDK-8238534 Deep sign macOS bundles before bundle archive is being created

infrastructure/build

Priority Bug Summary
P3 JDK-8237192 Generate stripped/public pdbs on Windows for jdk images
P3 JDK-8237879 make 4.3 breaks build
P3 JDK-8231572 Use -lobjc instead of -fobjc-link-runtime in libosxsecurity
P4 JDK-8240972 macOS codesign fail on macOS 10.13.5 or older

security-libs/javax.net.ssl

Priority Bug Summary
P2 JDK-8237474 Default SSLEngine should create in server role
P2 JDK-8239798 SSLSocket closes socket both socket endpoints on a SocketTimeoutException
P3 JDK-8215711 Missing key_share extension for (EC)DHE key exchange should alert missing_extension

tools/launcher

Priority Bug Summary
P3 JDK-8240629 argfiles parsing broken for argfiles with comment cross 4096 bytes chunk
P4 JDK-8241445 Fix copyrights after JDK-8240629 change