RELEASE NOTES: JDK 17.0.14

Notes generated: Tue Oct 22 06:08:58 CEST 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
P4 JDK-8271456 Avoid looking up standard charsets in "java.desktop" module
P4 JDK-8327401 Some jtreg tests fail on Wayland without any tracking bug
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-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-8328021 Convert applet test java/awt/List/SetFontTest/SetFontTest.html to main program
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-8312111 open/test/jdk/java/awt/Robot/ModifierRobotKey/ModifierRobotKeyTest.java fails on ubuntu 23.04
P4 JDK-8340007 Refactor KeyEvent/FunctionKeyTest.java
P4 JDK-8325762 Use PassFailJFrame.Builder.splitUI() in PrintLatinCJKTest.java

client-libs/java.beans

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

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
P4 JDK-8339731 java.desktop/share/classes/javax/swing/text/html/default.css typo in margin settings

core-libs

Priority Bug Summary
P4 JDK-8309303 jdk/internal/misc/VM/RuntimeArguments test ignores jdk/internal/vm/options
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

core-libs/java.net

Priority Bug Summary
P4 JDK-8339470 [17u] More defensive fix for 8163921
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

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-8339644 Improve parsing of Day/Month in tzdata rules

core-libs/java.util

Priority Bug Summary
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

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-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-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(..)

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/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-8340230 Tests crash: assert(is_in_encoding_range || k->is_interface() || k->is_abstract()) failed: sanity
P4 JDK-8323688 C2: Fix UB of jlong overflow in PhaseIdealLoop::is_counted_loop()
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-8332724 x86 MacroAssembler may over-align code

hotspot/gc

Priority Bug Summary
P3 JDK-8325587 Shenandoah: ShenandoahLock should allow blocking in VM
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

hotspot/jvmti

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

hotspot/runtime

Priority Bug Summary
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 ...
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-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-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-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
P4 JDK-8303697 ProcessTools doesn't print last line of process output
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-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-8339548 GHA: RISC-V: Use Debian snapshot archive for bootstrap
P4 JDK-8338402 GHA: some of bundles may not get removed

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-8324841 PKCS11 tests still skip execution
P4 JDK-8296787 Unify debug printing format of X.509 cert serial numbers

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

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