RELEASE NOTES: JDK 17.0.14

Notes generated: Thu Nov 21 06:14:56 CET 2024

JEPs

None.

RELEASE NOTES

tools/javac

Issue Description
JDK-8273914

Indy String Concat Changes Order of Operations


String concatenation has been changed to evaluate each argument and eagerly convert it to a string, in left-to-right order. This fixes a bug in the invokedynamic-based string concatentation strategies introduced in JEP 280.

For example, the following now prints "foofoobar", not "foobarfoobar":

` StringBuilder builder = new StringBuilder("foo"); System.err.println("" + builder + builder.append("bar")); `


FIXED ISSUES

client-libs

Priority Bug Summary
P3 JDK-8340899 Remove wildcard bound in PositionWindows.positionTestWindows
P4 JDK-8328242 Add a log area to the PassFailJFrame
P4 JDK-8340306 Add border around instructions in PassFailJFrame
P4 JDK-8340799 Add border inside instruction frame in PassFailJFrame
P4 JDK-8340466 Add description for PassFailJFrame constructors
P4 JDK-8340461 Amend description for logArea
P4 JDK-8271456 Avoid looking up standard charsets in "java.desktop" module
P4 JDK-8338751 ConfigureNotify behavior has changed in KWin 6.2
P4 JDK-8292309 Fix java/awt/PrintJob/ConstrainedPrintingTest/ConstrainedPrintingTest.java test
P4 JDK-8326948 Force English locale for timeout formatting
P4 JDK-8328402 Implement pausing functionality for the PassFailJFrame
P4 JDK-8341235 Improve default instruction frame title in PassFailJFrame
P4 JDK-8340308 PassFailJFrame: Make rows default to number of lines in instructions
P4 JDK-8340365 Position the first window of a window list
P4 JDK-8317116 Provide layouts for multiple test UI in PassFailJFrame
P4 JDK-8327401 Some jtreg tests fail on Wayland without any tracking bug
P4 JDK-8340785 Update description of PassFailJFrame and samples
P5 JDK-8325851 Hide PassFailJFrame.Builder constructor
P5 JDK-8274505 Too weak variable type leads to unnecessary cast in java.desktop

client-libs/2d

Priority Bug Summary
P4 JDK-8324808 Manual printer tests have no Pass/Fail buttons, instructions close set 3
P4 JDK-8320673 PageFormat/CustomPaper.java has no Pass/Fail buttons; multiple instructions
P4 JDK-8320675 PrinterJob/SecurityDialogTest.java hangs

client-libs/java.awt

Priority Bug Summary
P4 JDK-8296972 [macos13] java/awt/Frame/MaximizedToIconified/MaximizedToIconified.java: getExtendedState() != 6 as expected.
P4 JDK-8335267 [XWayland] move screencast tokens from .awt to .java folder
P4 JDK-8340210 Add positionTestUI() to PassFailJFrame.Builder
P4 JDK-8195675 Call to insertText with single character from custom Input Method ignored
P4 JDK-8328021 Convert applet test java/awt/List/SetFontTest/SetFontTest.html to main program
P4 JDK-8328379 Convert URLDragTest.html applet test to main
P4 JDK-8336413 gtk headers : Fix typedef redeclaration of GMainContext and GdkPixbuf
P4 JDK-8340008 KeyEvent/KeyTyped/Numpad1KeyTyped.java has 15 seconds timeout
P4 JDK-8307297 Move some DnD tests to open
P4 JDK-8312111 open/test/jdk/java/awt/Robot/ModifierRobotKey/ModifierRobotKeyTest.java fails on ubuntu 23.04
P4 JDK-8340007 Refactor KeyEvent/FunctionKeyTest.java
P4 JDK-8332901 Select{Current,New}ItemTest.java for Choice don't open popup on macOS
P4 JDK-8328697 SubMenuShowTest and SwallowKeyEvents tests stabilization
P4 JDK-8202926 Test java/awt/Focus/WindowUpdateFocusabilityTest/WindowUpdateFocusabilityTest.html fails
P4 JDK-8325762 Use PassFailJFrame.Builder.splitUI() in PrintLatinCJKTest.java
P5 JDK-8327924 Simplify TrayIconScalingTest.java

client-libs/java.beans

Priority Bug Summary
P4 JDK-8071693 Introspector ignores default interface methods

client-libs/javax.accessibility

Priority Bug Summary
P3 JDK-8283214 [macos] Screen magnifier does not show the magnified text for JComboBox

client-libs/javax.imageio

Priority Bug Summary
P3 JDK-8332866 Crash in ImageIO JPEG decoding when MEM_STATS in enabled

client-libs/javax.sound

Priority Bug Summary
P3 JDK-8282578 AIOOBE in javax.sound.sampled.Clip

client-libs/javax.swing

Priority Bug Summary
P2 JDK-8331999 BasicDirectoryModel/LoaderThreadCount.java frequently fails on Windows in CI
P3 JDK-8322754 click JComboBox when dialog about to close causes IllegalComponentStateException
P3 JDK-8331495 Limit BasicDirectoryModel/LoaderThreadCount.java to Windows only
P3 JDK-8225220 When the Tab Policy is checked,the scroll button direction displayed incorrectly.
P4 JDK-8331142 Add test for number of loader threads in BasicDirectoryModel
P4 JDK-8339731 java.desktop/share/classes/javax/swing/text/html/default.css typo in margin settings
P4 JDK-8310072 JComboBox/DisabledComboBoxFontTestAuto: Enabled and disabled ComboBox does not match in these LAFs: GTK+
P4 JDK-7093691 Nimbus LAF: disabled JComboBox using renderer has bad font color

core-libs

Priority Bug Summary
P4 JDK-8309303 jdk/internal/misc/VM/RuntimeArguments test ignores jdk/internal/vm/options
P4 JDK-8327474 Review use of java.io.tmpdir in jdk tests
P4 JDK-8332589 ubsan: unix/native/libjava/ProcessImpl_md.c:562:5: runtime error: null pointer passed as argument 2, which is declared to never be null
P4 JDK-8320665 update jdk_core at open/test/jdk/TEST.groups
P4 JDK-8295859 Update Manual Test Groups
P4 JDK-8320586 update manual test/jdk/TEST.groups

core-libs/java.io

Priority Bug Summary
P4 JDK-8287003 InputStreamReader::read() can return zero despite writing a char in the buffer

core-libs/java.lang

Priority Bug Summary
P4 JDK-8284874 Add comment to ProcessHandle/OnExitTest to describe zombie problem
P4 JDK-8319574 Exec/process tests should be marked as flagless
P4 JDK-8339487 ProcessHandleImpl os_getChildren sysctl call - retry in case of ENOMEM and enhance exception message
P4 JDK-8321470 ThreadLocal.nextHashCode can be static final

core-libs/java.lang.invoke

Priority Bug Summary
P2 JDK-8340812 LambdaForm customization via MethodHandle::updateForm is not thread safe
P5 JDK-8333824 Unused ClassValue in VarHandles

core-libs/java.lang:reflect

Priority Bug Summary
P4 JDK-8309532 java/lang/Class/getDeclaredField/FieldSetAccessibleTest should filter modules that depend on JVMCI

core-libs/java.net

Priority Bug Summary
P4 JDK-8339470 [17u] More defensive fix for 8163921
P4 JDK-8338759 Add extra diagnostic to java/net/InetAddress/ptr/Lookup.java
P4 JDK-8339787 Add some additional diagnostic output to java/net/ipv6tests/UdpTest.java
P4 JDK-8310731 Configure a javax.net.ssl.SNIMatcher for the HTTP/1.1 test servers in java/net/httpclient tests
P4 JDK-8335530 Java file extension missing in AuthenticatorTest
P4 JDK-8319651 Several network tests ignore vm flags when start java process

core-libs/java.nio

Priority Bug Summary
P2 JDK-8341997 Tests create files in src tree instead of scratch dir
P3 JDK-8338748 [17u,21u] Test Disconnect.java compile error: cannot find symbol after JDK-8299813
P4 JDK-8286160 (fs) Files.exists returns unexpected results with C:\pagefile.sys because it's not readable
P4 JDK-8337966 (fs) Files.readAttributes fails with Operation not permitted on older docker releases
P4 JDK-8294193 Files.createDirectories throws FileAlreadyExistsException for a symbolic link whose target is an existing directory
P4 JDK-8334405 java/nio/channels/Selector/SelectWithConsumer.java#id0 failed in testWakeupDuringSelect
P4 JDK-8276763 java/nio/channels/SocketChannel/AdaptorStreams.java fails with "SocketTimeoutException: Read timed out"

core-libs/java.nio.charsets

Priority Bug Summary
P4 JDK-8319817 Charset constructor should make defensive copy of aliases

core-libs/java.time

Priority Bug Summary
P4 JDK-8339803 Acknowledge case insensitive unambiguous keywords in tzdata files
P4 JDK-8339644 Improve parsing of Day/Month in tzdata rules

core-libs/java.util

Priority Bug Summary
P4 JDK-8340684 Reading from an input stream backed by a closed ZipFile has no test coverage
P4 JDK-8295239 Refactor java/util/Formatter/Basic script into a Java native test launcher

core-libs/java.util.concurrent

Priority Bug Summary
P3 JDK-8278527 java/util/concurrent/tck/JSR166TestCase.java fails nanoTime test
P4 JDK-8303742 CompletableFuture.orTimeout leaks if the future completes exceptionally
P4 JDK-8304557 java/util/concurrent/CompletableFuture/CompletableFutureOrTimeoutExceptionallyTest.java times out

core-libs/java.util.jar

Priority Bug Summary
P4 JDK-8322830 Add test case for ZipFile opening a ZIP with no entries
P4 JDK-8326100 DeflaterDictionaryTests should use Deflater.getBytesWritten instead of Deflater.getTotalOut
P4 JDK-8321616 Retire binary test vectors in test/jdk/java/util/zip/ZipFile
P4 JDK-8304020 Speed up test/jdk/java/util/zip/ZipFile/TestTooManyEntries.java and clarify its purpose
P4 JDK-8272746 ZipFile can't open big file (NegativeArraySizeException)

core-libs/javax.naming

Priority Bug Summary
P4 JDK-8323562 SaslInputStream.read() may return wrong value

core-svc/debugger

Priority Bug Summary
P2 JDK-8315406 [REDO] serviceability/jdwp/AllModulesCommandTest.java ignores VM flags
P4 JDK-8328303 3 JDI tests timed out with UT enabled
P4 JDK-8303705 Field sleeper.started should be volatile JdbLockTestTarg.java
P4 JDK-8240343 JDI stopListening/stoplis001 "FAILED: listening is successfully stopped without starting listening"
P4 JDK-8326898 NSK tests should listen on loopback addresses only
P4 JDK-8269770 nsk tests should start IOPipe channel before launch debuggee - Debugee.prepareDebugee
P4 JDK-8314333 Update com/sun/jdi/ProcessAttachTest.java to use ProcessTools.createTestJvm(..)
P4 JDK-8298513 vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy009/TestDescription.java fails with usage tracker
P4 JDK-8296709 WARNING: JNI call made without checking exceptions

core-svc/java.lang.management

Priority Bug Summary
P4 JDK-8316446 4 sun/management/jdp tests ignore VM flags
P4 JDK-8316447 8 sun/management/jmxremote tests ignore VM flags

core-svc/javax.management

Priority Bug Summary
P2 JDK-8336257 Additional tests in jmxremote/startstop to match on PID not app name
P3 JDK-8207908 JMXStatusTest.java fails assertion intermittently
P4 JDK-8296718 Refactor bootstrap Test Common Functionalities to test/lib/Utils

core-svc/tools

Priority Bug Summary
P4 JDK-8316464 3 sun/tools tests ignore VM flags
P4 JDK-8313854 Some tests in serviceability area fail on localized Windows platform

hotspot/compiler

Priority Bug Summary
P2 JDK-8337066 Repeated call of StringBuffer.reverse with double byte string returns wrong result
P2 JDK-8340230 Tests crash: assert(is_in_encoding_range || k->is_interface() || k->is_abstract()) failed: sanity
P3 JDK-8342701 [PPC64] TestOSRLotsOfLocals.java crashes
P3 JDK-8342962 [s390x] TestOSRLotsOfLocals.java crashes
P3 JDK-8342496 C2/Shenandoah: SEGV in compiled code when running jcstress
P3 JDK-8335709 C2: assert(!loop->is_member(get_loop(useblock))) failed: must be outside loop
P4 JDK-8343687 [17u] TestAntiDependencyForPinnedLoads requires UTF-8
P4 JDK-8323688 C2: Fix UB of jlong overflow in PhaseIdealLoop::is_counted_loop()
P4 JDK-8317738 CodeCacheFullCountTest failed with "VirtualMachineError: Out of space in CodeCache for method handle intrinsic"
P4 JDK-8325610 CTW: Add StressIncrementalInlining to stress options
P4 JDK-8330621 Make 5 compiler tests use ProcessTools.executeProcess
P4 JDK-8337780 RISC-V: C2: Change C calling convention for sp to NS
P4 JDK-8339248 RISC-V: Remove li64 macro assembler routine and related code
P4 JDK-8332904 ubsan ppc64le: c1_LIRGenerator_ppc.cpp:581:21: runtime error: signed integer overflow: 9223372036854775807 + 1 cannot be represented in type 'long int'
P4 JDK-8332903 ubsan: opto/output.cpp:1002:18: runtime error: load of value 171, which is not a valid value for type 'bool'
P5 JDK-8335142 compiler/c1/TestTraceLinearScanLevel.java occasionally times out with -Xcomp
P5 JDK-8332724 x86 MacroAssembler may over-align code

hotspot/gc

Priority Bug Summary
P3 JDK-8325587 Shenandoah: ShenandoahLock should allow blocking in VM
P3 JDK-8342681 TestLoadBypassesNullCheck.java fails improperly specified VM option
P4 JDK-8281379 Assign package declarations to all jtreg test cases under gc
P4 JDK-8335493 check_gc_overhead_limit should reset SoftRefPolicy::_should_clear_all_soft_refs
P4 JDK-8317188 G1: Make TestG1ConcRefinementThreads use createTestJvm
P4 JDK-8317042 G1: Make TestG1ConcMarkStepDurationMillis use createTestJvm
P4 JDK-8317218 G1: Make TestG1HeapRegionSize use createTestJvm
P4 JDK-8290269 gc/shenandoah/TestVerifyJCStress.java fails due to invalid tag: required after JDK-8290023
P4 JDK-8316410 GC: Make TestCompressedClassFlags use createTestJvm
P4 JDK-8325616 JFR ZGC Allocation Stall events should record stack traces
P4 JDK-8315988 Parallel: Make TestAggressiveHeap use createTestJvm
P4 JDK-8317347 Parallel: Make TestInitialTenuringThreshold use createTestJvm
P4 JDK-8290023 Remove use of IgnoreUnrecognizedVMOptions in gc tests
P4 JDK-8331405 Shenandoah: Optimize ShenandoahLock with TTAS
P4 JDK-8331411 Shenandoah: Reconsider spinning duration in ShenandoahLock
P4 JDK-8326121 vmTestbase/gc/g1/unloading/tests/unloading_keepRef_rootClass_inMemoryCompilation_keep_cl failed with Full gc happened. Test was useless.
P5 JDK-8335904 Fix invalid comment in ShenandoahLock

hotspot/jfr

Priority Bug Summary
P3 JDK-8280131 jcmd reports "Module jdk.jfr not found." when "jdk.management.jfr" is missing
P4 JDK-8258734 jdk/jfr/event/oldobject/TestClassLoaderLeak.java failed with "RuntimeException: Could not find class leak"

hotspot/jvmti

Priority Bug Summary
P4 JDK-8314824 Fix serviceability/jvmti/8036666/GetObjectLockCount.java to use vm flags

hotspot/runtime

Priority Bug Summary
P2 JDK-8332935 Crash: assert(*lastPtr != 0) failed: Mismatched JNINativeInterface tables, check for new entries
P3 JDK-8314831 NMT tests ignore vm flags
P3 JDK-8339741 RISC-V: C ABI breakage for integer on stack
P3 JDK-8335449 runtime/cds/DeterministicDump.java fails with File content different at byte ...
P3 JDK-8340387 Update OS detection code to recognize Windows Server 2025
P4 JDK-8341635 [17u] runtime/ErrorHandling/ClassPathEnvVar test ignores external VM flags
P4 JDK-8334567 [test] runtime/os/TestTracePageSizes move ppc handling
P4 JDK-8341688 Aarch64: Generate comments in -XX:+PrintInterpreter to link to source code
P4 JDK-8332340 Add JavacBench as a test case for CDS
P4 JDK-8313638 Add test for dump of resolved references
P4 JDK-8288976 classfile parser 'wrong name' error message has the names the wrong way around
P4 JDK-8326611 Clean up vmTestbase/nsk/stress/stack tests
P4 JDK-8293061 Combine CDSOptions and AppCDSOptions test utility classes
P4 JDK-8295344 Harden runtime/StackGuardPages/TestStackGuardPages.java
P4 JDK-8271003 hs_err improvement: handle CLASSPATH env setting longer than O_BUFLEN
P4 JDK-8330464 hserr generic events - add entry for the before_exit calls
P4 JDK-8283222 improve diagnosability of runtime/8176717/TestInheritFD.java timeouts
P4 JDK-8316581 Improve performance of Symbol::print_value_on()
P4 JDK-8268364 jmethod clearing should be done during unloading
P4 JDK-8338058 map_or_reserve_memory_aligned Windows enhance remap assertion
P4 JDK-8271825 mark hotspot runtime/LoadClass tests which ignore external VM flags
P4 JDK-8271821 mark hotspot runtime/MinimalVM tests which ignore external VM flags
P4 JDK-8338101 remove old remap assertion in map_or_reserve_memory_aligned after JDK-8338058
P4 JDK-8341562 RISC-V: Generate comments in -XX:+PrintInterpreter to link to source code
P4 JDK-8341146 RISC-V: Unnecessary fences used for load-acquire in template interpreter
P4 JDK-8325038 runtime/cds/appcds/ProhibitedPackage.java can fail with UseLargePages
P4 JDK-8289184 runtime/ClassUnload/DictionaryDependsTest.java failed with "Test failed: should be unloaded"
P4 JDK-8271836 runtime/ErrorHandling/ClassPathEnvVar.java fails with release VMs
P4 JDK-8321299 runtime/logging/ClassLoadUnloadTest.java doesn't reliably trigger class unloading
P4 JDK-8331789 ubsan: deoptimization.cpp:403:29: runtime error: load of value 208, which is not a valid value for type 'bool'
P4 JDK-8332473 ubsan: growableArray.hpp:290:10: runtime error: null pointer passed as argument 1, which is declared to never be null
P4 JDK-8332825 ubsan: guardedMemory.cpp:35:11: runtime error: null pointer passed as argument 2, which is declared to never be null
P4 JDK-8332720 ubsan: instanceKlass.cpp:3550:76: runtime error: member call on null pointer of type 'struct Array'
P4 JDK-8331626 unsafe.cpp:162:38: runtime error in index_oop_from_field_offset_long - applying non-zero offset 4563897424 to null pointer

hotspot/svc

Priority Bug Summary
P5 JDK-8339384 Unintentional IOException in jdk.jdi module when JDWP end of stream occurs

hotspot/svc-agent

Priority Bug Summary
P2 JDK-8316562 serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java times out after JDK-8314829
P4 JDK-8340657 [PPC64] SA determines wrong unextendedSP
P4 JDK-8314829 serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java ignores vm flags
P4 JDK-8307408 Some jdk/sun/tools/jhsdb tests don't pass test JVM args to the debuggee JVM

hotspot/test

Priority Bug Summary
P1 JDK-8318964 Fix build failures caused by 8315097
P4 JDK-8342669 [21u] Fix TestArrayAllocatorMallocLimit after backport of JDK-8315097
P4 JDK-8303697 ProcessTools doesn't print last line of process output
P4 JDK-8315097 Rename createJavaProcessBuilder
P4 JDK-8332777 Update JCStress test suite

infrastructure

Priority Bug Summary
P4 JDK-8339591 Mark jdk/jshell/ExceptionMessageTest.java intermittent

infrastructure/build

Priority Bug Summary
P4 JDK-8313374 --enable-ccache's CCACHE_BASEDIR breaks builds
P4 JDK-8336343 Add more known sysroot library locations for ALSA
P4 JDK-8340815 Add SECURITY.md file
P4 JDK-8336342 Fix known X11 library locations in sysroot
P4 JDK-8341806 Gcc version detection failure on Alinux3
P4 JDK-8338286 GHA: Demote x86_32 to hotspot build only
P4 JDK-8340418 GHA: MacOS AArch64 bundles can be removed prematurely
P4 JDK-8342578 GHA: RISC-V: Bootstrap using Debian snapshot is still failing
P4 JDK-8339548 GHA: RISC-V: Use Debian snapshot archive for bootstrap
P4 JDK-8338402 GHA: some of bundles may not get removed
P4 JDK-8343923 GHA: Switch to Xcode 15 on MacOS AArch64 runners

infrastructure/other

Priority Bug Summary
P4 JDK-8343474 [updates] Customize README.md to specifics of update project

infrastructure/release_eng

Priority Bug Summary
P4 JDK-8339081 Bump update version for OpenJDK: jdk-17.0.14

other-libs/other

Priority Bug Summary
P4 JDK-8321163 [test] OutputAnalyzer.getExitValue() unnecessarily logs even when process has already completed

security-libs

Priority Bug Summary
P4 JDK-8328957 Update PKCS11Test.java to not use hardcoded path

security-libs/java.security

Priority Bug Summary
P3 JDK-8328723 IP Address error when client enables HTTPS endpoint check on server socket
P3 JDK-8028127 Regtest java/security/Security/SynchronizedAccess.java is incorrect
P3 JDK-8335344 test/jdk/sun/security/tools/keytool/NssTest.java fails to compile
P3 JDK-8331864 Update Public Suffix List to 1cbd6e7
P4 JDK-8334562 Automate com/sun/security/auth/callback/TextCallbackHandler/Default.java test
P4 JDK-8336854 CAInterop.java#actalisauthenticationrootca conflicted with /manual and /timeout
P4 JDK-8331391 Enhance the keytool code by invoking the buildTrustedCerts method for essential options
P4 JDK-8330278 Have SSLSocketTemplate.doClientSide use loopback address
P4 JDK-8300416 java.security.MessageDigestSpi clone can result in thread-unsafe clones
P4 JDK-8324841 PKCS11 tests still skip execution
P4 JDK-8296787 Unify debug printing format of X.509 cert serial numbers

security-libs/javax.crypto

Priority Bug Summary
P3 JDK-8302225 SunJCE Provider doesn't validate key sizes when using 'constrained' transforms for AES/KW and AES/KWP
P5 JDK-8336240 Test com/sun/crypto/provider/Cipher/DES/PerformanceTest.java fails with java.lang.ArithmeticException

security-libs/javax.crypto:pkcs11

Priority Bug Summary
P3 JDK-8333317 Test sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java failed with: Invalid ECDH ServerKeyExchange signature
P3 JDK-8321543 Update NSS to version 3.96

security-libs/javax.net.ssl

Priority Bug Summary
P4 JDK-8339560 Unaddressed comments during code review of JDK-8337664
P4 JDK-8306015 Update sun.security.ssl TLS tests to use SSLContextTemplate or SSLEngineTemplate
P4 JDK-8338380 Update TLSCommon/interop/AbstractServer to specify an interface to listen for connections
P4 JDK-8301379 Verify TLS_ECDH_* cipher suites cannot be negotiated

security-libs/org.ietf.jgss:krb5

Priority Bug Summary
P4 JDK-8284291 sun/security/krb5/auto/Renew.java fails intermittently on Windows 11

tools

Priority Bug Summary
P4 JDK-8337851 Some tests have name which confuse jtreg

tools/javac

Priority Bug Summary
P4 JDK-8273914 Indy string concat changes order of operations
P4 JDK-8293877 Rewrite MineField test
P4 JDK-8294726 Update URLs in minefield tests

tools/jlink

Priority Bug Summary
P4 JDK-8334057 JLinkReproducibleTest.java support receive test.tool.vm.opts