RELEASE NOTES FOR: 17.0.14 ==================================================================================================== Notes generated: Tue Oct 22 06:08:58 CEST 2024 Hint: Prefix bug IDs with https://bugs.openjdk.org/browse/ to reach the relevant JIRA entry. JAVA ENHANCEMENT PROPOSALS (JEP): None. RELEASE NOTES: tools/javac: 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](http://openjdk.java.net/jeps/280). For example, the following now prints `"foofoobar"`, not `"foobarfoobar"`: ``` StringBuilder builder = new StringBuilder("foo"); System.err.println("" + builder + builder.append("bar")); ``` ALL FIXED ISSUES, BY COMPONENT AND PRIORITY: client-libs: (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: (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: (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: (P4) JDK-8071693: Introspector ignores default interface methods client-libs/javax.imageio: (P3) JDK-8332866: Crash in ImageIO JPEG decoding when MEM_STATS in enabled client-libs/javax.sound: (P3) JDK-8282578: AIOOBE in javax.sound.sampled.Clip client-libs/javax.swing: (P4) JDK-8339731: java.desktop/share/classes/javax/swing/text/html/default.css typo in margin settings core-libs: (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: (P4) JDK-8287003: InputStreamReader::read() can return zero despite writing a char in the buffer core-libs/java.lang: (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: (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: (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: (P4) JDK-8319817: Charset constructor should make defensive copy of aliases core-libs/java.time: (P4) JDK-8339644: Improve parsing of Day/Month in tzdata rules core-libs/java.util: (P4) JDK-8295239: Refactor java/util/Formatter/Basic script into a Java native test launcher core-libs/java.util.concurrent: (P3) JDK-8278527: java/util/concurrent/tck/JSR166TestCase.java fails nanoTime test core-libs/java.util.jar: (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: (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: (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: (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: (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: (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: (P3) JDK-8280131: jcmd reports "Module jdk.jfr not found." when "jdk.management.jfr" is missing hotspot/jvmti: (P4) JDK-8314824: Fix serviceability/jvmti/8036666/GetObjectLockCount.java to use vm flags hotspot/runtime: (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: (P5) JDK-8339384: Unintentional IOException in jdk.jdi module when JDWP end of stream occurs hotspot/svc-agent: (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: (P4) JDK-8303697: ProcessTools doesn't print last line of process output (P4) JDK-8332777: Update JCStress test suite infrastructure: (P4) JDK-8339591: Mark jdk/jshell/ExceptionMessageTest.java intermittent infrastructure/build: (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: (P4) JDK-8339081: Bump update version for OpenJDK: jdk-17.0.14 other-libs/other: (P4) JDK-8321163: [test] OutputAnalyzer.getExitValue() unnecessarily logs even when process has already completed security-libs: (P4) JDK-8328957: Update PKCS11Test.java to not use hardcoded path security-libs/java.security: (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: (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: (P4) JDK-8273914: Indy string concat changes order of operations (P4) JDK-8293877: Rewrite MineField test (P4) JDK-8294726: Update URLs in minefield tests