diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..52c9a4f --- /dev/null +++ b/NEWS @@ -0,0 +1,7061 @@ +Key: + +JDK-X - https://bugs.openjdk.java.net/browse/JDK-X +CVE-XXXX-YYYY: https://cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY + +New in release OpenJDK 17.0.18 (2026-01-20): +============================================ +Live versions of these release notes can be found at: + * https://bit.ly/openjdk17018 + +* CVEs + - CVE-2026-21925 + - CVE-2026-21932 + - CVE-2026-21933 + - CVE-2026-21945 +* Changes + - JDK-7124287: [macosx] JTableHeader doesn't get focus after pressing F8 key + - JDK-7191877: TEST_BUG: java/rmi/transport/checkLeaseInfoLeak/CheckLeaseLeak.java failing intermittently + - JDK-8139228: JFileChooser renders file names as HTML document + - JDK-8139392: JInternalFrame has incorrect padding + - JDK-8140527: JInternalFrame has incorrect title button width + - JDK-8201183: sjavac build failures: "Connection attempt failed: Connection refused" + - JDK-8201778: Speed up test javax/net/ssl/DTLS/PacketLossRetransmission.java + - JDK-8204868: java/util/zip/ZipFile/TestCleaner.java still fails with "cleaner failed to clean zipfile." + - JDK-8210807: Printing a JTable with a JScrollPane prints table without rows populated + - JDK-8219408: Tests should handle ${} in the view of jtreg "smart action" + - JDK-8230016: re-visit test sun/security/pkcs11/Serialize/SerializeProvider.java + - JDK-8236907: JTable added to nested panels does not paint last visible row + - JDK-8245545: Disable TLS_RSA cipher suites + - JDK-8252329: runtime/LoadClass/TestResize.java timed out + - JDK-8257810: Only First page are printed in JTable.scrollRectToVisible + - JDK-8265429: Improve GCM encryption + - JDK-8270083: -Wnonnull errors happen with GCC 11.1.1 + - JDK-8277424: javax/net/ssl/TLSCommon/TLSTest.java fails with connection refused + - JDK-8281440: AWT: Conversion from string literal loses const qualifier + - JDK-8281523: Accessibility: Conversion from string literal loses const qualifier + - JDK-8281525: Enable Zc:strictStrings flag in Visual Studio build + - JDK-8281682: Redundant .ico files in Windows app-image cause unnecessary bloat + - JDK-8282047: Enhance StringDecode/Encode microbenchmarks + - JDK-8283544: HttpClient GET method adds Content-Length: 0 header + - JDK-8285915: failure_handler: gather the contents of /etc/hosts file + - JDK-8286159: Memory leak in getAllConfigs of awt_GraphicsEnv.c:585 + - JDK-8286447: [Linux] AWT should start in Headless mode if headful AWT library not installed + - JDK-8287401: jpackage tests failing on Windows due to powershell issue + - JDK-8288109: HttpExchangeImpl.setAttribute does not allow null value after JDK-8266897 + - JDK-8288180: C2: VectorPhase must ensure that SafePointNode memory input is a MergeMemNode + - JDK-8290557: tools/jpackage/share/AddLauncherTest.java#id1 failed with "ERROR: Failed: Check icon file" + - JDK-8292043: Incorrect decoding near EOF for stateful decoders like UTF-16 + - JDK-8292214: Memory leak in getAllConfigs of awt_GraphicsEnv.c:386 + - JDK-8294314: Minimize disabled warnings in hotspot + - JDK-8294591: Fix cast-function-type warning in TemplateTable + - JDK-8294594: Fix cast-function-type warnings in signal handling code + - JDK-8294680: Refactor scaled border rendering + - JDK-8295301: Problem list TrayIcon tests that fail on Ubuntu 22.04 + - JDK-8295991: java/net/httpclient/CancelRequestTest.java fails intermittently + - JDK-8296489: tools/jpackage/windows/WinL10nTest.java fails with timeout + - JDK-8297302: gtest/AsyncLogGtest.java fails AsyncLogTest.stdoutOutput_vm + - JDK-8297531: sun/security/krb5/MicroTime.java fails with "Exception: What? only 100 musec precision?" + - JDK-8297936: Use reachabilityFence to manage liveness in ClassUnload tests + - JDK-8299278: tools/jpackage/share/AddLauncherTest.java#id1 failed AddLauncherTest.bug8230933 + - JDK-8299325: java/net/httpclient/CancelRequestTest.java fails "test CancelRequestTest.testGetSendAsync("https://localhost:46509/https1/x/same/interrupt", true, true)" + - JDK-8299553: Make ScaledEtchedBorderTest.java comprehensive + - JDK-8302838: jabswitch main() should avoid calling exit explicitly + - JDK-8303089: [jittester] Add time limit to IRTree generation + - JDK-8303959: tools/jpackage/share/RuntimePackageTest.java fails with java.lang.AssertionError missing files + - JDK-8304163: Move jdk.internal.module.ModuleInfoWriter to the test library + - JDK-8304811: vmTestbase/vm/mlvm/indy/func/jvmti/stepBreakPopReturn/INDIFY_Test.java fails with JVMTI_ERROR_TYPE_MISMATCH + - JDK-8305186: Reference.waitForReferenceProcessing should be more accessible to tests + - JDK-8305567: serviceability/tmtools/jstat/GcTest01.java failed utils.JstatGcResults.assertConsistency + - JDK-8305778: javax/swing/JTableHeader/6884066/bug6884066.java: Unexpected header's value; index = 4 value = E + - JDK-8308633: Increase precision of timestamps in g1 log + - JDK-8308780: Fix the Java Integer types on Windows + - JDK-8310049: Refactor Charset tests to use JUnit + - JDK-8310915: Typo in aarch64.ad: "envcodings" + - JDK-8311588: C2: RepeatCompilation compiler directive does not choose stress seed randomly + - JDK-8313355: javax/management/remote/mandatory/notif/ListenerScaleTest.java failed with "Exception: Failed: ratio=792.2791601423487" + - JDK-8313770: jdk/internal/platform/docker/TestSystemMetrics.java fails on Ubuntu + - JDK-8314136: Test java/net/httpclient/CancelRequestTest.java failed: WARNING: tracker for HttpClientImpl(42) has outstanding operations + - JDK-8314319: LogCompilation doesn't reset lateInlining when it encounters a failure. + - JDK-8317264: Pattern.Bound has `static` fields that should be `static final`. + - JDK-8317970: Bump target macosx-x64 version to 11.00.00 + - JDK-8318467: [jmh] tests concurrent.Queues and concurrent.ProducerConsumer hang with 101+ threads + - JDK-8318613: ChoiceFormat patterns are not well tested + - JDK-8318730: MonitorVmStartTerminate.java still times out after JDK-8209595 + - JDK-8320836: jtreg gtest runs should limit heap size + - JDK-8322135: Printing JTable in Windows L&F throws InternalError: HTHEME is null + - JDK-8322140: javax/swing/JTable/JTableScrollPrintTest.java does not print the rows and columns of the table in Nimbus and Aqua LookAndFeel + - JDK-8324065: Daylight saving information for `Africa/Casablanca` are incorrect + - JDK-8324491: Keyboard layout didn't keep its state if it was changed when dialog was active + - JDK-8324861: Exceptions::wrap_dynamic_exception() doesn't have ResourceMark + - JDK-8325647: [IR framework] Only prints stdout if exitCode is 134 + - JDK-8325766: Extend CertificateBuilder to create trust and end entity certificates programmatically + - JDK-8327071: [Testbug] g-tests for cgroup leave files in /tmp on linux + - JDK-8327180: Failed: java/io/ObjectStreamClass/ObjectStreamClassCaching.java#G1 + - JDK-8327434: Test java/util/PluggableLocale/TimeZoneNameProviderTest.java timed out + - JDK-8327748: Convert javax/swing/JFileChooser/6798062/bug6798062.java applet test to main + - JDK-8327757: Convert javax/swing/JSlider/6524424/bug6524424.java applet to main + - JDK-8327856: Convert applet test SpanishDiacriticsTest.java to a main program + - JDK-8327980: Convert javax/swing/JToggleButton/4128979/bug4128979.java applet test to main + - JDK-8328124: Convert java/awt/Frame/ShownOnPack/ShownOnPack.html applet test to main + - JDK-8328247: Remove redundant dir for tests converted from applet to main + - JDK-8328299: Convert DnDFileGroupDescriptor.html applet test to main + - JDK-8328377: Convert java/awt/Cursor/MultiResolutionCursorTest test to main + - JDK-8328562: Convert java/awt/InputMethods/DiacriticsTest/DiacriticsTest.java applet test to main + - JDK-8331231: containers/docker/TestContainerInfo.java fails + - JDK-8331977: Crash: SIGSEGV in dlerror() + - JDK-8332271: Reading data from the clipboard from multiple threads crashes the JVM + - JDK-8333526: Restructure java/nio/channels/DatagramChannel/StressNativeSignal.java to a fail fast exception handling policy + - JDK-8333569: jpackage tests must run app launchers with retries on Linux only + - JDK-8333783: java/nio/channels/FileChannel/directio/DirectIOTest.java is unstable with AV software + - JDK-8334771: [TESTBUG] Run TestDockerMemoryMetrics.java with -Xcomp fails exitValue = 137 + - 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 + - JDK-8337723: Remove redundant tests from com/sun/security/sasl/gsskerb + - JDK-8338428: Add logging of final VM flags while setting properties + - JDK-8338740: java/net/httpclient/HttpsTunnelAuthTest.java fails with java.io.IOException: HTTP/1.1 header parser received no bytes + - JDK-8339280: jarsigner -verify performs cross-checking between CEN and LOC + - JDK-8339366: [jittester] Make it possible to generate tests without execution + - JDK-8339386: Assertion on AIX - original PC must be in the main code section of the compiled method + - JDK-8339962: Open source AWT TextField tests - Set1 + - JDK-8340015: Open source several AWT focus tests - series 7 + - JDK-8340321: Disable SHA-1 in TLS/DTLS 1.2 handshake signatures + - JDK-8340354: Open source AWT desktop properties and print related tests + - JDK-8341097: GHA: Demote Mac x86 jobs to build only + - JDK-8341131: Some jdk/jfr/event/compiler tests shouldn't be executed with Xcomp + - JDK-8341138: Rename jtreg property docker.support as container.support + - JDK-8341496: Improve JMX connections + - JDK-8341861: GHA: Use only retention mechanism to remove bundles + - JDK-8342782: AWTEventMulticaster throws StackOverflowError using AquaButtonUI + - JDK-8343314: Move common properties from jpackage jtreg test declarations to TEST.properties file + - JDK-8343340: Swapping checking do not work for MetricsMemoryTester failcount + - JDK-8343875: Minor improvements of jpackage test library + - JDK-8344275: tools/jpackage/windows/Win8301247Test.java fails on localized Windows platform + - JDK-8344326: Move jpackage tests from "jdk.jpackage.tests" package to the default package + - JDK-8345213: JVM Prefers /etc/timezone Over /etc/localtime on Debian 12 + - JDK-8346234: javax/swing/text/DefaultEditorKit/4278839/bug4278839.java still fails in CI + - 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 + - JDK-8346839: [TESTBUG] "java/awt/textfield/setechochartest4/setechochartest4.java" failed because the test frame disappears on clicking "Click Several Times" button + - JDK-8346875: Test jdk/jdk/jfr/event/os/TestCPULoad.java fails on macOS + - JDK-8346929: runtime/ClassUnload/DictionaryDependsTest.java fails with "Test failed: should be unloaded" + - JDK-8347129: cpuset cgroups controller is required for no good reason + - JDK-8347277: java/awt/Focus/ComponentLostFocusTest.java fails intermittently + - JDK-8347300: Don't exclude the "PATH" var from the environment when running app launchers in jpackage tests + - JDK-8347377: Add validation checks for ICC_Profile header fields + - JDK-8347826: Introspector shows wrong method list after 8071693 + - JDK-8347841: Test fixes that use deprecated time zone IDs + - JDK-8349188: LineBorder does not scale correctly + - JDK-8349534: Refactor jdk/sun/security/krb5/runNameEquals.sh to java test + - JDK-8350102: Decouple jpackage test-lib Executor.Result and Executor classes + - JDK-8350106: [PPC] Avoid ticks_unknown_not_Java AsyncGetCallTrace() if JavaFrameAnchor::_last_Java_pc not set + - JDK-8350813: Rendering of bulky sound bank from MIDI sequence can cause OutOfMemoryError + - JDK-8351567: Jar Manifest test ValueUtf8Coding produces misleading diagnostic output + - JDK-8352678: Opensource few JMenuItem tests + - JDK-8352682: Opensource JComponent tests + - JDK-8352686: Opensource JInternalFrame tests - series3 + - JDK-8352687: Opensource few JInternalFrame and JTextField tests + - JDK-8352793: Open source several AWT TextComponent tests - Batch 1 + - JDK-8352800: [PPC] OpenJDK fails to build on PPC after JDK-8350106 + - JDK-8352865: Open source several AWT TextComponent tests - Batch 2 + - JDK-8352905: Open some JComboBox bugs 1 + - JDK-8352966: Opensource Several Font related tests - Batch 2 + - JDK-8352997: Open source several Swing JTabbedPane tests + - JDK-8353007: Open some JComboBox bugs 2 + - JDK-8353011: Open source Swing JButton tests - Set 1 + - JDK-8353201: Open source Swing Tooltip tests - Set 2 + - JDK-8353299: VerifyJarEntryName.java test fails + - JDK-8353309: Open source several Swing text tests + - JDK-8353319: Open source Swing tests - Set 3 + - JDK-8353445: Open source several AWT Menu tests - Batch 1 + - JDK-8353470: Clean up and open source couple AWT Graphics related tests (Part 2) + - JDK-8353483: Open source some JProgressBar tests + - JDK-8353486: Open source Swing Tests - Set 4 + - JDK-8353585: Provide ChoiceFormat#parse(String, ParsePosition) tests + - JDK-8353586: Open source several toolkit tests + - JDK-8353589: Open source a few Swing menu-related tests + - JDK-8353592: Open source several scrollbar tests + - JDK-8353661: Open source several swing tests batch5 + - JDK-8353832: Opensource FontClass, Selection and Icon tests + - JDK-8353950: Clipboard interaction on Windows is unstable + - JDK-8353957: Open source several AWT ScrollPane tests - Batch 1 + - JDK-8353958: Open source several AWT ScrollPane tests - Batch 2 + - JDK-8354095: Open some JTable bugs 5 + - JDK-8354106: Clean up and open source KeyEvent related tests (Part 2) + - JDK-8354214: Open source Swing tests Batch 2 + - JDK-8354233: Open some JTable bugs 6 + - JDK-8354235: Test javax/net/ssl/SSLSocket/Tls13PacketSize.java failed with java.net.SocketException: An established connection was aborted by the software in your host machine + - JDK-8354248: Open source several AWT GridBagLayout and List tests + - JDK-8354340: Open source Swing Tests - Set 6 + - JDK-8354341: Open some JTable bugs 7 + - JDK-8354365: Opensource few Modal and Full Screen related tests + - JDK-8354418: Open source Swing tests Batch 4 + - JDK-8354451: Open source some more Swing popup menu tests + - JDK-8354465: Open some JTable bugs 8 + - JDK-8354466: Open some misc Swing bugs 9 + - JDK-8354472: Clean up and open source KeyEvent related tests (Part 3) + - JDK-8354493: Opensource Several MultiScreen and Insets related tests + - JDK-8354495: Open source several AWT DataTransfer tests + - JDK-8354532: Open source JFileChooser Tests - Set 7 + - JDK-8354552: Open source a few Swing tests + - JDK-8354553: Open source several clipboard tests batch0 + - JDK-8354561: Open source several swing tests batch0 + - JDK-8354646: java.awt.TextField allows to identify the spaces in a password when double clicked at the starting and end of the text + - JDK-8354653: Clean up and open source KeyEvent related tests (Part 4) + - JDK-8354701: Open source few JToolTip tests + - JDK-8354873: javax/swing/plaf/metal/MetalIconFactory/bug4952462.java failing on CI + - JDK-8354928: Clean up and open source some miscellaneous AWT tests + - JDK-8355077: Compiler error at splashscreen_gif.c due to unterminated string initialization + - JDK-8355333: Some Problem list entries point to non-existent / wrong files + - JDK-8355387: [jittester] Disable downcasts by default + - JDK-8355444: [java.io] Use @requires tag instead of exiting based on "os.name" property value + - JDK-8355478: DoubleActionESC.java fails intermittently + - JDK-8355558: SJIS.java test is always ignored + - JDK-8355561: [macos] Build failure with Xcode 16.3 + - JDK-8356040: java/util/PluggableLocale/LocaleNameProviderTest.java timed out + - JDK-8356145: ListEnterExitTest.java fails on macos + - JDK-8356187: TestJcmd.java may incorrectly parse podman version + - JDK-8356752: Log mouse enter and exit events for debugging + - JDK-8356897: Update NSS library to 3.111 + - JDK-8357305: Compilation failure in javax/swing/JMenuItem/bug6197830.java + - JDK-8357561: BootstrapLoggerTest does not work on Ubuntu 24 with LANG de_DE.UTF-8 + - JDK-8357675: Amend headless message + - JDK-8357799: Improve instructions for JFileChooser/HTMLFileName.java + - JDK-8357822: C2: Multiple string optimization tests are no longer testing string concatenation optimizations + - JDK-8358048: java/net/httpclient/HttpsTunnelAuthTest.java incorrectly calls Thread::stop + - JDK-8358334: C2/Shenandoah: incorrect execution with Unsafe + - JDK-8358532: JFileChooser in GTK L&F still displays HTML filename + - JDK-8358701: Remove misleading javax.management.remote API doc wording about JMX spec, and historic link to JMXMP + - JDK-8358748: Large page size initialization fails with assert "page_size must be a power of 2" + - JDK-8358764: (sc) SocketChannel.close when thread blocked in read causes connection to be reset (win) + - JDK-8358813: JPasswordField identifies spaces in password via delete shortcuts + - JDK-8359061: Update and ProblemList manual test java/awt/Cursor/CursorDragTest/ListDragCursor.java + - JDK-8359167: Remove unused test/hotspot/jtreg/vmTestbase/nsk/share/jpda/BindServer.java + - JDK-8359182: Use @requires instead of SkippedException for MaxPath.java + - JDK-8359207: Remove runtime/signal/TestSigusr2.java since it is always skipped + - JDK-8359402: Test CloseDescriptors.java should throw SkippedException when there is no lsof/sctp + - JDK-8359418: Test "javax/swing/text/GlyphView/bug4188841.java" failed because the phrase of text pane does not match the instructions + - 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 + - JDK-8359449: [TEST] open/test/jdk/java/io/File/SymLinks.java Refactor extract method for Windows specific test + - JDK-8359477: com/sun/net/httpserver/Test12.java appears to have a temp file race + - JDK-8359501: Enhance Handling of URIs + - JDK-8359687: Use PassFailJFrame for java/awt/print/Dialog/DialogType.java + - JDK-8360022: ClassRefDupInConstantPoolTest.java fails when running in repeat + - JDK-8360178: TestArguments.atojulong gtest has incorrect format string + - JDK-8360288: Shenandoah crash at size_given_klass in op_degenerated + - JDK-8360408: [TEST] Use @requires tag instead of exiting based on "os.name" property value for sun/net/www/protocol/file/FileURLTest.java + - JDK-8360411: [TEST] open/test/jdk/java/io/File/MaxPathLength.java Refactor extract method to encapsulate Windows specific test logic + - JDK-8361253: CommandLineOptionTest library should report observed values on failure + - JDK-8361298: SwingUtilities/bug4967768.java fails where character P is not underline + - JDK-8361314: Test serviceability/jvmti/VMEvent/MyPackage/VMEventRecursionTest.java FATAL ERROR in native method: Failed during the GetClassSignature call + - JDK-8361423: Add IPSupport::printPlatformSupport to java/net/NetworkInterface/IPv4Only.java + - JDK-8361447: [REDO] Checked version of JNI ReleaseArrayElements needs to filter out known wrapped arrays + - JDK-8361751: Test sun/tools/jcmd/TestJcmdSanity.java timed out on Windows + - JDK-8361754: New test runtime/jni/checked/TestCharArrayReleasing.java can cause disk full errors + - JDK-8361871: [GCC static analyzer] complains about use of uninitialized value ckpObject in p11_util.c + - JDK-8362204: test/jdk/sun/awt/font/TestDevTransform.java fails on Ubuntu 24.04 + - JDK-8362207: Add more test cases for possible double-rounding in fma + - JDK-8362308: Enhance Bitmap operations + - JDK-8362532: Test gc/g1/plab/* duplicate command-line options + - JDK-8362533: Tests sun/management/jmxremote/bootstrap/* duplicate VM flags + - JDK-8362602: Add test.timeout.factor to CompileFactory to avoid test timeouts + - JDK-8362632: Improve HttpServer Request handling + - JDK-8362855: Test java/net/ipv6tests/TcpTest.java should report SkippedException when there no ia4addr or ia6addr + - JDK-8363676: [GCC static analyzer] missing return value check of malloc in OGLContext_SetTransform + - JDK-8363720: Follow up to JDK-8360411 with post review comments + - JDK-8363966: GHA: Switch cross-compiling sysroots to Debian trixie + - JDK-8364214: Enhance polygon data support + - JDK-8364235: Fix for JDK-8361447 breaks the alignment requirements for GuardedMemory + - JDK-8364263: HttpClient: Improve encapsulation of ProxyServer + - JDK-8364484: misc tests fail with Received fatal alert: handshake_failure + - JDK-8364556: JFR: Disable SymbolTableStatistics and StringTableStatistics in default.jfc + - JDK-8364597: Replace THL A29 Limited with Tencent + - JDK-8364660: ClassVerifier::ends_in_athrow() should be removed + - JDK-8364993: JFR: Disable jdk.ModuleExport in default.jfc + - JDK-8364996: java/awt/font/FontNames/LocaleFamilyNames.java times out on Windows + - JDK-8365058: Enhance CopyOnWriteArraySet + - JDK-8365086: CookieStore.getURIs() and get(URI) should return an immutable List + - JDK-8365098: make/RunTests.gmk generates a wrong path to test artifacts on Alpine + - JDK-8365168: Use 64-bit aligned addresses for CK_ULONG access in PKCS11 native key code + - JDK-8365271: Improve Swing supports + - JDK-8365280: Enhance JOptionPane + - JDK-8365425: [macos26] javax/swing/JInternalFrame/8160248/JInternalFrameDraggingTest.java fails on macOS 26 + - JDK-8365615: Improve JMenuBar/RightLeftOrientation.java + - JDK-8365660: test/jdk/sun/security/pkcs11/KeyAgreement/ tests skipped without SkipExceprion + - JDK-8365790: Shutdown hook for application image does not work on Windows + - JDK-8365834: Mark java/net/httpclient/ManyRequests.java as intermittent + - JDK-8365913: Support latest MSC_VER in abstract_vm_version.cpp + - JDK-8365919: Replace currentTimeMillis with nanoTime in Stresser.java + - JDK-8366092: [GCC static analyzer] UnixOperatingSystem.c warning: use of uninitialized value 'systemTicks' + - JDK-8366159: SkippedException is treated as a pass for pkcs11/KeyStore, pkcs11/SecretKeyFactory and pkcs11/SecureRandom + - JDK-8366229: runtime/Thread/TooSmallStackSize.java runs with all collectors + - JDK-8366233: Bump update version for OpenJDK: jdk-17.0.18 + - JDK-8366342: Key generator and key pair generator tests skipping, but showing as passed + - JDK-8366359: Test should throw SkippedException when there is no lpstat + - JDK-8366764: Deproblemlist java/awt/ScrollPane/ScrollPositionTest.java + - JDK-8366844: Update and automate MouseDraggedOriginatedByScrollBarTest.java + - JDK-8367017: Remove legacy checks from WrappedToolkitTest and convert from bash + - JDK-8367133: DTLS: fragmentation of Finished message results in handshake failure + - JDK-8367237: Thread-Safety Usage Warning for java.text.Collator Classes + - JDK-8367348: Enhance PassFailJFrame to support links in HTML + - JDK-8367782: VerifyJarEntryName.java: Fix modifyJarEntryName to operate on bytes and re-introduce verifySignatureEntryName + - JDK-8367869: Test java/io/FileDescriptor/Sync.java timed out + - JDK-8368032: Enhance Certificate Checking + - JDK-8368192: Test java/lang/ProcessBuilder/Basic.java#id0 fails with Exception: Stack trace + - JDK-8368668: Several vmTestbase/vm/gc/compact tests timed out on large memory machine + - JDK-8368982: Test sun/security/tools/jarsigner/EC.java completed and timed out + - JDK-8369032: Add test to ensure serialized ICC_Profile stores only necessary optional data + - JDK-8369078: Fix faulty test conversion in IllegalCharsetName.java + - JDK-8369184: SimpleTimeZone equals() Returns True for Unequal Instances with Different hashCode Values + - JDK-8369226: GHA: Switch to MacOS 15 + - JDK-8369450: [Ubuntu 25.10] openjdk fails to build due to rust-coreutils date + - JDK-8369506: Bytecode rewriting causes Java heap corruption on AArch64 + - JDK-8369946: Bytecode rewriting causes Java heap corruption on PPC + - JDK-8369992: JFR: Disable Placeholder-, LoaderConstraints- and ProtectionDomainCacheTableStatistics in default.jfc + - JDK-8370465: Right to Left Orientation Issues with MenuItem Component + - JDK-8372439: [17u] build-test-lib is broken + - JDK-8372534: Update Libpng to 1.6.51 + - JDK-8375448: Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.18 + +Notes on individual issues: +=========================== + +core-libs/java.util:i18n: + +JDK-8345213: Changes to the Default Time Zone Detection on Debian-based Linux +============================================================================= +On Debian-based distributions OpenJDK now uses `/etc/localtime` to +determine the default time zone instead of the deprecated +`/etc/timezone`. + +security-libs/javax.net.ssl: + +JDK-8245545: Disabled TLS_RSA Cipher Suites +=========================================== +This release disables the TLS_RSA cipher suites by default because +they do not preserve forward-secrecy. Users can re-enable them (at +their own risk) by removing "TLS_RSA_*" from the +`jdk.tls.disabledAlgorithms` security property in `java.security`. +The newly-disabled cipher suites are TLS_RSA_WITH_AES_256_GCM_SHA384, +TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, +TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, and +TLS_RSA_WITH_AES_128_CBC_SHA. + +JDK-8340321: Disabled SHA-1 in TLS 1.2 and DTLS 1.2 Handshake Signatures +======================================================================== +This release disables deprecated SHA-1-based TLS 1.2 and DTLS 1.2 +handshake signatures by default. Users can re-enable them (at their +own risk) by removing `"rsa_pkcs1_sha1 usage HandshakeSignature, +ecdsa_sha1 usage HandshakeSignature, dsa_sha1 usage +HandshakeSignature"` from the `jdk.tls.disabledAlgorithms` security +property in `java.security`. + +New in release OpenJDK 17.0.17 (2025-10-21): +============================================ +Live versions of these release notes can be found at: + * https://bit.ly/openjdk17017 + +* CVEs + - CVE-2025-53057 + - CVE-2025-53066 +* Changes + - JDK-8042381: Test javax/swing/JRootPane/4670486/bug4670486.java fails with Action has not been received + - JDK-8079786: [macosx] Test java/awt/Frame/DisposeParentGC/DisposeParentGC.java fails for Mac only + - JDK-8132785: java/lang/management/ThreadMXBean/ThreadLists.java fails intermittently + - JDK-8136895: Writer not closed with disk full error, file resource leaked + - JDK-8167252: Some of Charset.availableCharsets() does not contain itself + - JDK-8185429: [macos] After a modal dialog is closed, no window becomes active + - JDK-8196017: java/awt/Mouse/GetMousePositionTest/GetMousePositionWithPopup.java fails + - JDK-8202667: java/awt/Debug/DumpOnKey/DumpOnKey.java times out on Windows + - JDK-8203867: Delete test java/awt/TrayIcon/DblClickActionEventTest/DblClickActionEventTest.html + - JDK-8217914: java/net/httpclient/ConnectTimeoutHandshakeSync.java failed on connection refused while doing POST + - JDK-8225777: java/awt/Mixing/MixingOnDialog.java fails on Ubuntu + - JDK-8226919: attach in linux hangs due to permission denied accessing /proc/pid/root + - JDK-8249825: Tests sun/security/ssl/SSLSocketImpl/SetClientMode.java and NonAutoClose.java marked with @ignore + - JDK-8264207: CodeStrings does not honour fixed address assumption. + - JDK-8266246: Swing test PressedIconTest.java sometimes fails on macOS 11 ARM + - JDK-8266247: Swing test bug7154030.java sometimes fails on macOS 11 ARM + - JDK-8273539: [PPC64] gtest build error after JDK-8264207 + - JDK-8274039: codestrings gtest fails when hsdis is present + - JDK-8274453: (sctp) com/sun/nio/sctp/SctpChannel/CloseDescriptors.java test should be resilient to lsof warnings + - JDK-8275079: Remove unnecessary conversion to String in java.net.http + - JDK-8276046: codestrings.validate_vm gtest fails on ppc64, s390 + - JDK-8276175: codestrings.validate_vm gtest still broken on ppc64 after JDK-8276046 + - JDK-8276401: Use blessed modifier order in java.net.http + - JDK-8276681: Additional malformed Javadoc inline tags in JDK source + - JDK-8277969: HttpClient SelectorManager shuts down when custom Executor rejects a task + - JDK-8279005: sun/tools/jstat tests do not check for test case exit codes after JDK-8245129 + - JDK-8280818: Expand bug8033699.java to iterate over all LaFs + - JDK-8282144: RandomSupport.convertSeedBytesToLongs sign extension overwrites previous bytes + - JDK-8282147: [TESTBUG] waitForIdle after creating frame in JSpinnerMouseAndKeyPressTest.java + - JDK-8283467: runtime/Thread/StopAtExit.java needs updating + - JDK-8285032: vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy008/ fails with "eventSet.suspendPolicy() != policyExpected" + - JDK-8285773: Replace Algorithms.eatMemory(...) with WB.fullGC() in vmTestbase/gc/gctests/ReferencesGC/ReferencesGC.java + - JDK-8285951: Replace Algorithms.eatMemory(...) with WB.fullGC() in vmTestbase_vm_gc_ref tests + - JDK-8286171: HttpClient/2 : Expect:100-Continue blocks indefinitely when response is not 100 + - JDK-8286194: ExecutorShutdown test fails intermittently + - JDK-8286660: codestrings gtest fails on AArch64: "udf" in padding + - JDK-8288209: SSL debug message wrong about unsupported authentication scheme + - JDK-8288746: HttpClient resources could be reclaimed more eagerly + - JDK-8290368: Introduce LDAP and RMI protocol-specific object factory filters to JNDI implementation + - JDK-8292876: Do not include the deprecated userinfo component of the URI in HTTP/2 headers + - JDK-8293713: java/net/httpclient/BufferingSubscriberTest.java fails in timeout, blocked in submission publisher + - JDK-8293786: HttpClient will not send more than 64 kb of data from the 2nd request in http2 + - JDK-8294509: The sign extension bug applies to 'public static int[] convertSeedBytesToInts(byte[] seed, int n, int z)' in RandomSupport + - JDK-8294839: Disable StressLongCountedLoop in compiler/loopopts/TestRemoveEmptyLoop.java + - JDK-8294916: Cancelling a request must eventually cause its response body subscriber to be unregistered + - JDK-8294985: SSLEngine throws IAE during parsing of X500Principal + - JDK-8295005: compiler/loopopts/TestRemoveEmptyLoop.java fails with release VMs after JDK-8294839 + - JDK-8295210: IR framework should not whitelist -XX:-UseTLAB + - JDK-8297075: java/net/httpclient/CancelStreamedBodyTest.java fails with "java.lang.AssertionError: WARNING: tracker for HttpClientImpl(1) has outstanding operations" + - JDK-8297106: Remove the -Xcheck:jni local reference capacity checking + - JDK-8297149: REDO JDK-8296889: Race condition when cancelling a request + - JDK-8297200: java/net/httpclient/SpecialHeadersTest.java failed once in AssertionError due to selector thread remaining alive + - JDK-8297424: java/net/httpclient/AsyncExecutorShutdown.java fails in AssertionError due to misplaced assert + - JDK-8297499: Parallel: Missing iteration over klass when marking objArrays/objArrayOops during Full GC + - JDK-8297740: runtime/ClassUnload/UnloadTest.java failed with "Test failed: should still be live" + - JDK-8298340: java/net/httpclient/CancelRequestTest.java fails with AssertionError: Found some subscribers for testPostInterrupt + - JDK-8298514: vmTestbase/nsk/jdi/EventRequestManager/threadDeathRequests/thrdeathreq002/TestDescription.java fails with usage tracker + - JDK-8298907: nsk JDI tests pass if the debuggee failed to launch + - JDK-8298931: java/net/httpclient/CancelStreamedBodyTest.java fails with AssertionError due to Pending TCP connections: 1 + - JDK-8299338: AssertionError in ResponseSubscribers$HttpResponseInputStream::onSubscribe + - JDK-8300207: Add a pre-check for the number of canonical equivalent permutations in j.u.r.Pattern + - JDK-8301004: httpclient: Add more debug to HttpResponseInputStream + - JDK-8301169: java/net/httpclient/ThrowingSubscribersAsInputStream.java,ThrowingSubscribersAsInputStreamAsync.java, and other httpclient tests failing on windows: Unable to establish loopback connection + - JDK-8301255: Http2Connection may send too many GOAWAY frames + - JDK-8302635: Race condition in HttpBodySubscriberWrapper when cancelling request + - JDK-8303525: Refactor/cleanup open/test/jdk/javax/rmi/ssl/SSLSocketParametersTest.java + - JDK-8307648: java/net/httpclient/ExpectContinueTest.java timed out + - JDK-8308185: Update Http2TestServerConnection to use SSLSocket.startHandshake() + - JDK-8312191: ColorConvertOp.filter for the default destination is too slow + - JDK-8312475: org.jline.util.PumpReader signed byte problem + - JDK-8313083: Print 'rss' and 'cache' as part of the container information + - JDK-8313367: SunMSCAPI cannot read Local Computer certs w/o Windows elevation + - JDK-8314611: Provide more explicative error message parsing Currencies + - JDK-8314978: Multiple server call from connection failing with expect100 in getOutputStream + - JDK-8315505: CompileTask timestamp printed can overflow + - JDK-8316580: HttpClient with StructuredTaskScope does not close when a task fails + - JDK-8317522: Test logic for BODY_CF in AbstractThrowingSubscribers.java is wrong + - JDK-8317804: com/sun/jdi/JdwpAllowTest.java fails on Alpine 3.17 / 3.18 + - JDK-8317808: HTTP/2 stream cancelImpl may leave subscriber registered + - JDK-8319174: Enhance robustness of some j.m.BigInteger constructors + - JDK-8319932: [JVMCI] class unloading related tests can fail on libgraal + - JDK-8320858: Move jpackage tests to tier3 + - JDK-8325910: Rename jnihelper.h + - JDK-8326606: Test javax/swing/text/BoxView/6494356/bug6494356.java performs a synchronization on a value based class + - JDK-8327750: Convert javax/swing/JFileChooser/FileFilterDescription/FileFilterDescription.java applet test to main + - JDK-8327751: Convert javax/swing/JInternalFrame/6726866/bug6726866.java applet test to main + - JDK-8327752: Convert javax/swing/JOptionPane/4174551/bug4174551.java applet to main + - JDK-8327753: Convert javax/swing/JOptionPane/8024926/bug8024926.java applet to main + - JDK-8327754: Convert javax/swing/JPopupMenu/7160604/bug7160604.java applet to main + - JDK-8327755: Convert javax/swing/JScrollBar/8039464/Test8039464.java applet to main + - JDK-8327756: Convert javax/swing/JSlider/4987336/bug4987336.java applet to main + - JDK-8327826: Convert javax/swing/border/Test4243289.java applet test to main + - JDK-8327835: Convert java/awt/FileDialog/RegexpFilterTest/RegexpFilterTest applet test to main + - JDK-8327838: Convert java/awt/FileDialog/MultipleMode/MultipleMode.html applet test to main + - JDK-8327872: Convert javax/swing/JToolTip/4644444/bug4644444.java applet test to main + - JDK-8327873: Convert javax/swing/border/Test4247606.java applet test to main + - JDK-8327874: Convert javax/swing/JTree/4314199/bug4314199.java applet test to main + - JDK-8327876: Convert javax/swing/border/Test4252164.java applet test to main + - JDK-8327879: Convert javax/swing/border/Test4760089.java applet test to main + - JDK-8327969: Convert javax/swing/border/Test6910490.java applet test to main + - JDK-8327972: Convert java/awt/FileDialog/SaveFileNameOverrideTest/SaveFileNameOverrideTest.html applet test to main + - JDK-8328000: Convert /java/awt/im/8154816/bug8154816.java applet test to main + - JDK-8328012: Convert InputMethod (/java/awt/im) applet tests to main + - JDK-8328030: Convert javax/swing/text/GlyphView/4984669/bug4984669.java applet test to main + - JDK-8328035: Convert javax/swing/text/html/TableView/7030332/bug7030332.java applet test to main + - JDK-8328087: Automate javax/swing/JTable/TAB/TAB.java applet test + - JDK-8328089: Automate javax/swing/JTable/4222153/bug4222153.java applet test + - JDK-8328154: Convert sun/java2d/loops/CopyAreaSpeed.java applet test to main + - JDK-8328190: Convert AWTPanelSmoothWheel.html applet test to main + - JDK-8328225: Convert ImageDecoratedDnD.html applet test to main + - JDK-8328244: Convert javax/swing/JSlider/6742358/bug6742358.java applet test to main + - JDK-8328248: Convert javax/swing/JSlider/6587742/bug6587742.java applet test to main + - JDK-8328262: Convert javax/swing/JSplitPane/8132123/bug8132123.java applet test to main + - JDK-8328279: Convert java/awt/Cursor/CursorOverlappedPanelsTest test to main + - JDK-8328328: Convert javax/swing/JTabbedPane/4666224/bug4666224.java applet test to main + - JDK-8328367: Convert java/awt/Component/UpdatingBootTime test to main + - JDK-8328378: Convert java/awt/FileDialog/FileDialogForDirectories test to main + - JDK-8328382: Convert java/awt/FileDialog/FileDialogForPackages test to main + - JDK-8328384: Convert java/awt/FileDialog/FileDialogOpenDirTest test to main + - JDK-8328385: Convert java/awt/FileDialog/FileDialogReturnTest test to main + - JDK-8328386: Convert java/awt/FileDialog/FileNameOverrideTest test to main + - JDK-8328398: Convert java/awt/im/4490692/bug4490692.html applet test to main + - JDK-8328401: Convert java/awt/Frame/InitialMaximizedTest/InitialMaximizedTest.html applet test to automated + - JDK-8328570: Convert closed JViewport manual applet tests to main + - JDK-8328631: Convert java/awt/InputMethods/InputMethodsTest/InputMethodsTest.java applet test to manual + - JDK-8330022: Failure test/hotspot/jtreg/vmTestbase/nsk/sysdict/share/BTreeTest.java: Could not initialize class java.util.concurrent.ThreadLocalRandom + - JDK-8330106: C2: VectorInsertNode::make() shouldn't call ConINode::make() directly + - JDK-8330535: Update nsk/jdb tests to use driver instead of othervm + - JDK-8332252: Clean up vmTestbase/vm/share + - JDK-8332494: java/util/zip/EntryCount64k.java failing with java.lang.RuntimeException: '\\A\\Z' missing from stderr + - JDK-8332551: Test vmTestbase/nsk/monitoring/MemoryNotificationInfo/from/from001/TestDescription.java timed out + - JDK-8334016: Make PrintNullString.java automatic + - JDK-8334320: Replace vmTestbase/metaspace/share/TriggerUnloadingWithWhiteBox.java with ClassUnloadCommon from testlibrary + - JDK-8334394: Race condition in Class::protectionDomain + - JDK-8334457: Test javax/swing/JTabbedPane/bug4666224.java fail on macOS with because pressing the ‘C’ key does not switch the layout to WRAP_TAB_LAYOUT + - JDK-8335131: Test "javax/swing/JColorChooser/Test6977726.java" failed on ubuntu x64 because "Preview" title is missing for GTK L&F + - JDK-8335181: Incorrect handling of HTTP/2 GOAWAY frames in HttpClient + - JDK-8335252: Reduce size of j.u.Formatter.Conversion#isValid + - JDK-8335468: [XWayland] JavaFX hangs when calling java.awt.Robot.getPixelColor + - JDK-8336499: Failure when creating non-CRT RSA private keys in SunPKCS11 + - JDK-8337506: Disable "best-fit" mapping on Windows command line + - JDK-8339561: The test/jdk/java/awt/Paint/ListRepaint.java may fail after JDK-8327401 + - JDK-8339725: Concurrent GC crashed due to GetMethodDeclaringClass + - JDK-8339834: Replace usages of -mx and -ms in some tests + - JDK-8340146: ZGC: TestAllocateHeapAt.java should not run with UseLargePages + - JDK-8340185: Use make -k on GHA to catch more build errors + - JDK-8340389: vmTestbase/gc/gctests/PhantomReference/phantom001/TestDescription.java Test exit code: 97 with -Xcomp UseAVX=3 + - JDK-8340554: Improve MessageFormat readObject checks + - JDK-8341311: [Accessibility,macOS,VoiceOver] VoiceOver announces incorrect number of items in submenu of JPopupMenu + - JDK-8341370: Test java/awt/Frame/ShapeNotSetSometimes/ShapeNotSetSometimes.java fails intermittently on macOS-aarch64 + - JDK-8341964: Add mechanism to disable different parts of TLS cipher suite + - JDK-8342075: HttpClient: improve HTTP/2 flow control checks + - JDK-8342330: C2: "node pinned on loop exit test?" assert failure + - JDK-8343074: test/jdk/com/sun/net/httpserver/docs/test1/largefile.txt could be generated + - JDK-8343618: Stack smashing in awt_InputMethod.c on Linux s390x + - JDK-8343804: Show the default time zone with -XshowSettings option + - JDK-8343855: HTTP/2 ConnectionWindowUpdateSender may miss some unprocessed DataFrames from closed streams + - JDK-8343977: Convert java/awt/TextArea/TextAreaCursorTest/HoveringAndDraggingTest to main + - JDK-8344137: Update XML Security for Java to 3.0.5 + - JDK-8344338: javax/swing/JTextArea/bug4265784.java fails on Ubuntu 24.04.1 + - JDK-8344671: Few JFR streaming tests fail with application not alive error on MacOS 15 + - JDK-8345173: BlockLocationPrinter::print_location misses a ResourceMark + - JDK-8345471: Clean up compiler/intrinsics/sha/cli tests + - JDK-8345566: Deproblemlist test/jdk/javax/swing/JComboBox/6559152/bug6559152.java + - JDK-8345767: javax/swing/JSplitPane/4164779/JSplitPaneKeyboardNavigationTest.java fails in ubuntu22.04 + - JDK-8346285: Update jarsigner compatibility test for change in default digest algorithm + - JDK-8346751: Internal java compiler error with type annotations in constants expression in constant fields + - JDK-8346871: Improve robustness of java/util/zip/EntryCount64k.java test + - JDK-8346998: Test nsk/jvmti/ResourceExhausted/resexhausted003 fails with java.lang.OutOfMemoryError when CDS is off + - JDK-8347004: vmTestbase/metaspace/shrink_grow/ShrinkGrowTest/ShrinkGrowTest.java fails with CDS disabled + - JDK-8347302: Mark test tools/jimage/JImageToolTest.java as flagless + - JDK-8347373: HTTP/2 flow control checks may count unprocessed data twice + - JDK-8347381: Upgrade jQuery UI to version 1.14.1 + - JDK-8348328: Update IANA Language Subtag Registry to Version 2025-05-15 + - JDK-8348365: Bad format string in CLDRDisplayNamesTest + - JDK-8348760: RadioButton is not shown if JRadioButtonMenuItem is rendered with ImageIcon in WindowsLookAndFeel + - JDK-8349151: Refactor test/java/security/cert/CertificateFactory/slowstream.sh to java test + - JDK-8349214: Improve size optimization flags for MSVC builds + - JDK-8349583: Add mechanism to disable signature schemes based on their TLS scope + - JDK-8349849: PKCS11 SunTlsKeyMaterial crashes when used with TLS1.2 TlsKeyMaterialParameterSpec + - JDK-8350483: AArch64: turn on signum intrinsics by default on Ampere CPUs + - JDK-8350582: Correct the parsing of the ssl value in javax.net.debug + - JDK-8350767: Fix -Wzero-as-null-pointer-constant warnings in nsk jni stress tests + - JDK-8350807: Certificates using MD5 algorithm that are disabled by default are incorrectly allowed in TLSv1.3 when re-enabled + - JDK-8350830: Values converted incorrectly when reading TLS session tickets + - JDK-8350964: Add an ArtifactResolver.fetch(clazz) method + - JDK-8351277: Remove pipewire from AIX build + - JDK-8351601: [JMH] test UnixSocketChannelReadWrite failed for 2 threads config + - JDK-8351884: Refactor bug8033699.java test code + - JDK-8351907: [XWayland] [OL10] Robot.mousePress() is delivered to wrong place + - JDK-8351933: Inaccurate masking of TC subfield decrement in ForkJoinPool + - JDK-8351997: AArch64: Interpreter volatile reference stores with G1 are not sequentially consistent + - JDK-8352509: Update jdk.test.lib.SecurityTools jar method to accept List parameter + - JDK-8352624: Add missing {@code} to PassFailJFrame.Builder.splitUI + - JDK-8352637: Enhance bytecode verification + - JDK-8352677: Opensource JMenu tests - series2 + - JDK-8352719: Add an equals sign to the modules statement + - JDK-8352860: Open source events tests batch0 + - JDK-8352879: TestPeriod.java and TestGetContentType.java run wrong test class + - JDK-8352895: UserCookie.java runs wrong test class + - JDK-8352896: LambdaExpr02.java runs wrong test class + - JDK-8352946: SEGV_BND signal code of SIGSEGV missing from our signal-code table + - JDK-8353000: Open source several swing tests batch2 + - JDK-8353126: Open source events tests batch1 + - JDK-8353213: Open source several swing tests batch3 + - JDK-8353235: Test jdk/jfr/api/metadata/annotations/TestPeriod.java fails with IllegalArgumentException + - JDK-8353293: Open source several swing tests batch4 + - JDK-8353304: Open source two JTabbedPane tests + - JDK-8353489: Increase timeout and improve Windows compatibility in test/jdk/java/lang/ProcessBuilder/Basic.java + - JDK-8353549: Open source events tests batch2 + - JDK-8353568: SEGV_BNDERR signal code adjust definition + - JDK-8353655: Clean up and open source KeyEvent related tests (Part 1) + - JDK-8353662: Add test for non-local file URL fallback to FTP + - JDK-8353713: Improve Currency.getInstance exception handling + - JDK-8353748: Open source several swing tests batch6 + - JDK-8354285: Open source Swing tests Batch 3 + - JDK-8354327: Rewrite runtime/LoadClass/LoadClassNegative.java + - JDK-8354415: [Ubuntu25.04] api/java_awt/GraphicsDevice/indexTGF.html#SetDisplayMode - setDisplayMode_REFRESH_RATE_UNKNOWN fails: Height is different on vnc + - JDK-8354941: Build failure with glibc 2.42 due to uabs() name collision + - JDK-8355051: Problemlist java/awt/Graphics2D/CopyAreaOOB.java on macosx-aarch64 + - JDK-8355249: Remove the use of WMIC from the entire source code + - JDK-8355262: Test sun/security/ssl/SSLSessionImpl/NoInvalidateSocketException.java failed: accept timed out + - JDK-8355366: Fix the wrong usage of PassFailJFrame.forcePass() in some manual tests + - JDK-8355370: Include server name in HTTP test server thread names to improve diagnostics + - JDK-8355429: Open source ProgressMonitor test + - JDK-8355441: Remove antipattern from PassFailJFrame.forcePass javadoc + - JDK-8355453: nsk.share.jdi.Debugee.waitingEvent() does not timeout properly + - JDK-8355475: UNCTest should use an existing UNC path + - JDK-8355515: Clarify the purpose of forcePass() and forceFail() methods + - JDK-8355528: Update HarfBuzz to 11.2.0 + - JDK-8355578: [java.net] Use @requires tag instead of exiting based on "os.name" property value + - JDK-8355779: When no "signature_algorithms_cert" extension is present we do not apply certificate scope constraints to algorithms in "signature_algorithms" extension + - JDK-8356294: Enhance Path Factories + - JDK-8357173: Split jtreg test group jdk tier3 + - JDK-8357253: Test test/jdk/sun/security/ssl/SSLSessionImpl/ResumeClientTLS12withSNI.java writes in src dir + - JDK-8357285: JSR166 Test case testShutdownNow_delayedTasks failed + - JDK-8357672: Extreme font sizes can cause font substitution + - JDK-8357793: [PPC64] VM crashes with -XX:-UseSIGTRAP -XX:-ImplicitNullChecks + - JDK-8357968: RISC-V: Interpreter volatile reference stores with G1 are not sequentially consistent + - JDK-8358004: Delete applications/scimark/Scimark.java test + - JDK-8358452: JNI exception pending in Java_sun_awt_screencast_ScreencastHelper_remoteDesktopKeyImpl of screencast_pipewire.c:1214 (ID: 51119) + - JDK-8358538: Update GHA Windows runner to 2025 + - JDK-8358617: java/net/HttpURLConnection/HttpURLConnectionExpectContinueTest.java fails with 403 due to system proxies + - JDK-8358660: Bump update version for OpenJDK: jdk-17.0.17 + - JDK-8358697: TextLayout/MyanmarTextTest.java passes if no Myanmar font is found + - JDK-8359272: Several vmTestbase/compact tests timed out on large memory machine + - JDK-8360042: GHA: Bump MSVC to 14.44 + - JDK-8360647: [XWayland] [OL10] NumPad keys are not triggered + - JDK-8360937: Enhance certificate handling + - JDK-8361212: Remove AffirmTrust root CAs + - JDK-8361478: GHA: Use MSYS2 from GHA runners + - JDK-8362390: AIX make fails in awt_GraphicsEnv.c + - JDK-8362582: GHA: Increase bundle retention time to deal with infra overload better + - JDK-8362839: [21u] Problem list more tests that fail in 21 and would be fixed by 8309622 + - JDK-8363965: GHA: Switch cross-compiling sysroots to Debian bookworm + - JDK-8365375: Method SU3.setAcceleratorSelectionForeground assigns to acceleratorForeground + - JDK-8365389: Remove static color fields from SwingUtilities3 and WindowsMenuItemUI + - JDK-8365811: test/jdk/java/net/CookieHandler/B6644726.java failure - "Should have 5 cookies. Got only 4, expires probably didn't parse correctly" + - JDK-8367388: Tests start to fail on JDK-21 after JDK-8351907 + - JDK-8368308: ISO 4217 Amendment 180 Update + - JDK-8369641: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.17 + +Notes on individual issues: +=========================== + +core-libs/java.net: + +JDK-8342075: HttpClient: improve HTTP/2 flow control checks +=========================================================== +This release of OpenJDK 21 enhances the HTTP/2 client implementation +in `java.net.http.HttpClient` to report flow control errors back to +the server. While this should be transparent in most cases, it may +lead to streams being reset or connections being closed if connecting +to a HTTP/2 server that does not correctly handle these errors. + +Flow control limits can be adjusted using the following existing +properties: + +* `jdk.httpclient.connectionWindowSize` + - Specifies the HTTP/2 client connection window size in bytes. + - Default value: `2^26` (64 MiB) + - Range: `2^16-1` to `2^31-1`. + +* `jdk.httpclient.windowSize` + - Specifies the HTTP/2 client stream window size in bytes. + - Default value: `16777216` (16 MiB) + - Range: `2^14` to `2^31-1` + +Specifying an invalid value leads to the default value being used. +The implementation guarantees that the actual value used for the +connection window size will be no smaller than the stream window size. + +security-libs/javax.xml.crypto: + +JDK-8344137: Update XML Security for Java to 3.0.5 +================================================== +The XML Signature implementation has been updated to Apache Santuario +3.0.5 from 3.0.3. This adds support for four new SHA-3 based ECDSA +`SignatureMethod` algorithms. + +The `SignatureMethod` constants for these new algorithms are only +available in Java 25. Users will instead need to use the string +literals listed below to obtain instances of these new algorithms: + +* ECDSA_SHA3_224: http://www.w3.org/2021/04/xmldsig-more#ecdsa-sha3-224 +* ECDSA_SHA3_256: http://www.w3.org/2021/04/xmldsig-more#ecdsa-sha3-256 +* ECDSA_SHA3_384: http://www.w3.org/2021/04/xmldsig-more#ecdsa-sha3-384 +* ECDSA_SHA3_512: http://www.w3.org/2021/04/xmldsig-more#ecdsa-sha3-512 + +core-libs/javax.naming: + +JDK-8290368: Introduce LDAP and RMI protocol-specific object factory filters to JNDI implementation +=================================================================================================== +In the April 2021 security updates, `jdk.jndi.object.factoriesFilter` +was introduced as both a System and Security property to control +whether a specific object factory was permitted to instantiate objects +from the remote object references obtained using the protocols used in +JNDI. By default, it was set to `*` to allow all object factory +classes. + +With this update, two additional properties are introduced for more +granular control of each JNDI protocol: + +* `jdk.jndi.ldap.object.factoriesFilter` which filters object factory +classes used with object references obtained from a JNDI/LDAP context. +Its default value is `java.naming/com.sun.jndi.ldap.**;!*` to allow +only object factories defined in the `java.naming` module. + +* `jdk.jndi.rmi.object.factoriesFilter` which filters object factory +classes used with object references obtained from a JNDI/RMI context. +Its default value is `jdk.naming.rmi/com.sun.jndi.rmi.**;!*` to allow +only object factories defined in the `jdk.naming.rmi` module. + +All three properties are available as both System and Security +properties, with the System property taking precedence over the +Security property where the default is defined. + +Each filter can return a result of ALLOWED, REJECTED and UNDECIDED +using the Status enumeration from `java.io.ObjectInputFilter`. For an +object factory class to be accepted, either the global filter, +`jdk.jndi.object.factoriesFilter`, or the filter for the specific +protocol must return ALLOWED and neither must return REJECTED. + +If an application depends on custom object factories to instantiate +objects from remote RMI or LDAP object references, the appropriate +filter property will need to be adjusted to allow these factories to +function. Failure to do so will lead to the factory being blocked by +the filter and a plain `javax.naming.Reference` instance returned +instead. + +security-libs/javax.net.ssl: + +JDK-8341964: Add mechanism to disable different parts of TLS cipher suite +========================================================================= +The mechanisms in previous releases of OpenJDK for disabling TLS +algorithms were either too broad or too specific. Specifying an +algorithm (e.g. "RSA") would disable all suites using that +algorithm. The only alternative was to specify every suite. With this +release, the `jdk.tls.disabledAlgorithms` security property supports +wildcards for patterns that begin with "TLS_", so "TLS_RSA_*" can be +used to disable all suites that start with "TLS_RSA_". + +JDK-8349583: Add mechanism to disable signature schemes based on their TLS scope +================================================================================ +In this release, the `jdk.tls.disabledAlgorithms` property now +supports specifying the usage of a particular algorithm. An algorithm +can be limited to use only in a TLS handshake exchange or only in a +TLS certificate. + +The usage is specified by adding a suffix to the algorithm, consisting +of the word "usage" and either `HandshakeSignature` for TLS handshake +exchanges or `CertificateSignature` for TLS certificates. For +example, `rsa_pkcs1_sha1 usage HandshakeSignature` restricts the +`rsa_pkcs1_sha1` algorithm to use in TLS handshake exchanges only and +it can not be used to sign TLS certificates. + +tools/launcher: + +JDK-8337506: Disable "best-fit" mapping on Windows command line +=============================================================== +On Windows, the Java launcher in previous releases of OpenJDK used the +ANSI version of the GetCommandLine() Win32 API call to obtain +command-line arguments. If the arguments contained Unicode characters +that did not exist in the ANSI code page, they would be converted to +other characters using the Windows "best fit" mapping [0]. This +mapping could introduce unexpected characters and differed between +code pages. With this release, the JDK reads the command line +arguments as Unicode and then converts them to the ANSI codepage +itself, using the default replacement character for any that can not +be mapped. For cases where such Unicode characters need to be retained +as is, select UTF-8 in the Windows regional settings. + +[0] https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/readme.txt + +hotspot/runtime: + +JDK-8313083: Print 'rss' and 'cache' as part of the container information +========================================================================= +In this release, the information provided for containers is improved +by inclusion of the memory usage information for the Resident Set Size +(RSS) and the cache, in bytes. This is visible in the output of `jcmd + VM.info`, where `` is the running JVM, and in the `hs_err` +file generated on abrupt JVM termination. + +security-libs/java.security: + +JDK-8313367: SunMSCAPI cannot read Local Computer certs w/o Windows elevation +============================================================================= +The SunMSCAPI provider in previous releases of OpenJDK required +administrator privileges to access the local computer key store. The +store is now accessed with the `CERT_STORE_MAXIMUM_ALLOWED_FLAG` set +so that non-elevated processes will be able to access the key store in +read only mode. + +JDK-8361212: Remove AffirmTrust root CAs +======================================== +The following root certificates from AffirmTrust, which were +deactivated in the 11.0.25 release of October 2024, have been removed +from the `cacerts` keystore: + +Alias name: affirmtrustcommercialca [jdk] +CN=AffirmTrust Commercial +O=AffirmTrust +C=US +SHA256: 03:76:AB:1D:54:C5:F9:80:3C:E4:B2:E2:01:A0:EE:7E:EF:7B:57:B6:36:E8:A9:3C:9B:8D:48:60:C9:6F:5F:A7 + +Alias name: affirmtrustnetworkingca [jdk] +CN=AffirmTrust Networking +O=AffirmTrust +C=US +SHA256: 0A:81:EC:5A:92:97:77:F1:45:90:4A:F3:8D:5D:50:9F:66:B5:E2:C5:8F:CD:B5:31:05:8B:0E:17:F3:F0B4:1B + +Alias name: affirmtrustpremiumca [jdk] +CN=AffirmTrust Premium +O=AffirmTrust +C=US +SHA256: 70:A7:3F:7F:37:6B:60:07:42:48:90:45:34:B1:14:82:D5:BF:0E:69:8E:CC:49:8D:F5:25:77:EB:F2:E9:3B:9A + +Alias name: affirmtrustpremiumeccca [jdk] +CN=AffirmTrust Premium ECC +O=AffirmTrust +C=US +SHA256: BD:71:FD:F6:DA:97:E4:CF:62:D1:64:7A:DD:25:81:B0:7D:79:AD:F8:39:7E:B4:EC:BA:9C:5E:84:88:82:14:23 + +New in release OpenJDK 17.0.16 (2025-07-15): +============================================ +Live versions of these release notes can be found at: + * https://bit.ly/openjdk17016 + +* CVEs + - CVE-2025-30749 + - CVE-2025-30754 + - CVE-2025-50059 + - CVE-2025-50106 +* Changes + - JDK-4850101: Setting mnemonic to VK_F4 underlines the letter S in a button. + - JDK-5074006: Swing JOptionPane shows tag as a string after newline + - JDK-6956385: URLConnection.getLastModified() leaks file handles for jar:file and file: URLs + - JDK-8024624: [TEST_BUG] [macosx] CTRL+RIGHT(LEFT) doesn't move selection on next cell in JTable on Aqua L&F + - JDK-8042134: JOptionPane bungles HTML messages + - JDK-8051591: Test javax/swing/JTabbedPane/8007563/Test8007563.java fails + - JDK-8077371: Binary files in JAXP test should be removed + - JDK-8183348: Better cleanup for jdk/test/sun/security/pkcs12/P12SecretKey.java + - JDK-8196465: javax/swing/JComboBox/8182031/ComboPopupTest.java fails on Linux + - JDK-8202100: Merge vm/share/InMemoryJavaCompiler w/ jdk/test/lib/compiler/InMemoryJavaCompiler + - JDK-8211400: nsk.share.gc.Memory::getArrayLength returns wrong value + - JDK-8218474: JComboBox display issue with GTKLookAndFeel + - JDK-8224267: JOptionPane message string with 5000+ newlines produces StackOverflowError + - JDK-8249831: Test sun/security/mscapi/nonUniqueAliases/NonUniqueAliases.java is marked with @ignore + - JDK-8251505: Use of types in compiler shared code should be consistent. + - JDK-8253440: serviceability/sa/TestJhsdbJstackLineNumbers.java failed with "Didn't find enough line numbers" + - JDK-8254786: java/net/httpclient/CancelRequestTest.java failing intermittently + - JDK-8256211: assert fired in java/net/httpclient/DependentPromiseActionsTest (infrequent) + - JDK-8258483: [TESTBUG] gtest CollectorPolicy.young_scaled_initial_ergo_vm fails if heap is too small + - JDK-8269516: AArch64: Assembler cleanups + - JDK-8271419: Refactor test code for modifying CDS archive contents + - JDK-8276995: Bug in jdk.jfr.event.gc.collection.TestSystemGC + - JDK-8277983: Remove unused fields from sun.net.www.protocol.jar.JarURLConnection + - JDK-8279884: Use better file for cygwin source permission check + - JDK-8279894: javax/swing/JInternalFrame/8020708/bug8020708.java timeouts on Windows 11 + - JDK-8280468: Crashes in getConfigColormap, getConfigVisualId, XVisualIDFromVisual on Linux + - JDK-8280820: Clean up bug8033699 and bug8075609.java tests: regtesthelpers aren't used + - JDK-8280991: [XWayland] No displayChanged event after setDisplayMode call + - JDK-8281511: java/net/ipv6tests/UdpTest.java fails with checkTime failed + - JDK-8282863: java/awt/FullScreen/FullscreenWindowProps/FullscreenWindowProps.java fails on Windows 10 with HiDPI screen + - JDK-8286204: [Accessibility,macOS,VoiceOver] VoiceOver reads the spinner value 10 as 1 when user iterates to 10 for the first time on macOS + - JDK-8286789: Test forceEarlyReturn002.java timed out + - JDK-8286875: ProgrammableUpcallHandler::on_entry/on_exit access thread fields from native + - JDK-8286925: Move JSON parser used in JFR tests to test library + - JDK-8287352: DockerTestUtils::execute shows incorrect elapsed time + - JDK-8287801: Fix test-bugs related to stress flags + - JDK-8288707: javax/swing/JToolBar/4529206/bug4529206.java: setFloating does not work correctly + - JDK-8290162: Reset recursion counter missed in fix of JDK-8224267 + - JDK-8292064: Convert java/lang/management/MemoryMXBean shell tests to java version + - JDK-8293503: gc/metaspace/TestMetaspacePerfCounters.java#Epsilon-64 failed assertGreaterThanOrEqual: expected MMM >= NNN + - JDK-8294038: Remove "Classpath" exception from javax/swing tests + - JDK-8294155: Exception thrown before awaitAndCheck hangs PassFailJFrame + - JDK-8295470: Update openjdk.java.net => openjdk.org URLs in test code + - JDK-8295670: Remove duplication in java/util/Formatter/Basic*.java + - JDK-8295804: javax/swing/JFileChooser/JFileChooserSetLocationTest.java failed with "setLocation() is not working properly" + - JDK-8296072: CertAttrSet::encode and DerEncoder::derEncode should write into DerOutputStream + - JDK-8296167: test/langtools/tools/jdeps/jdkinternals/ShowReplacement.java failing after JDK-8296072 + - JDK-8296920: Regression Test DialogOrient.java fails on MacOS + - JDK-8297173: usageTicks and totalTicks should be volatile to ensure that different threads get the latest ticks + - JDK-8297242: Use-after-free during library unloading on Linux + - JDK-8298061: vmTestbase/nsk/sysdict/vm/stress/btree/btree012/btree012.java failed with "fatal error: refcount has gone to zero" + - JDK-8298147: Clang warns about pointless comparisons + - JDK-8298248: Limit sscanf output width in cgroup file parsers + - JDK-8298709: Fix typos in src/java.desktop/ and various test classes of client component + - JDK-8298730: Refactor subsystem_file_line_contents and add docs and tests + - JDK-8300645: Handle julong values in logging of GET_CONTAINER_INFO macros + - JDK-8300658: memory_and_swap_limit() reporting wrong values on systems with swapaccount=0 + - JDK-8302226: failure_handler native.core should wait for coredump to finish + - JDK-8303549: [AIX] TestNativeStack.java is failing with exit value 1 + - JDK-8303770: Remove Baltimore root certificate expiring in May 2025 + - JDK-8305010: Test vmTestbase/nsk/jvmti/scenarios/sampling/SP05/sp05t003/TestDescription.java timed out: thread not suspended + - JDK-8305578: X11GraphicsDevice.pGetBounds() is slow in remote X11 sessions + - JDK-8306997: C2: "malformed control flow" assert due to missing safepoint on backedge with a switch + - JDK-8307318: Test serviceability/sa/ClhsdbCDSJstackPrintAll.java failed: ArrayIndexOutOfBoundsException + - JDK-8308875: java/awt/Toolkit/GetScreenInsetsCustomGC/GetScreenInsetsCustomGC.java failed with 'Cannot invoke "sun.awt.X11GraphicsDevice.getInsets()" because "device" is null' + - JDK-8309841: Jarsigner should print a warning if an entry is removed + - JDK-8310525: DynamicLauncher for JDP test needs to try harder to find a free port + - JDK-8312246: NPE when HSDB visits bad oop + - JDK-8314120: Add tests for FileDescriptor.sync + - JDK-8314236: Overflow in Collections.rotate + - JDK-8314246: javax/swing/JToolBar/4529206/bug4529206.java fails intermittently on Linux + - JDK-8314320: Mark runtime/CommandLine/ tests as flagless + - JDK-8314828: Mark 3 jcmd command-line options test as vm.flagless + - JDK-8315484: java/awt/dnd/RejectDragDropActionTest.java timed out + - JDK-8315669: Open source several Swing PopupMenu related tests + - JDK-8315721: CloseRace.java#id0 fails transiently on libgraal + - JDK-8315742: Open source several Swing Scroll related tests + - JDK-8315871: Opensource five more Swing regression tests + - JDK-8315876: Open source several Swing CSS related tests + - JDK-8315951: Open source several Swing HTMLEditorKit related tests + - JDK-8315981: Opensource five more random Swing tests + - JDK-8316061: Open source several Swing RootPane and Slider related tests + - JDK-8316156: ByteArrayInputStream.transferTo causes MaxDirectMemorySize overflow + - JDK-8316228: jcmd tests are broken by 8314828 + - JDK-8316324: Opensource five miscellaneous Swing tests + - JDK-8316388: Opensource five Swing component related regression tests + - JDK-8316451: 6 java/lang/instrument/PremainClass tests ignore VM flags + - JDK-8316452: java/lang/instrument/modules/AppendToClassPathModuleTest.java ignores VM flags + - JDK-8316460: 4 javax/management tests ignore VM flags + - JDK-8316497: ColorConvertOp - typo for non-ICC conversions needs one-line fix + - JDK-8316629: j.text.DateFormatSymbols setZoneStrings() exception is unhelpful + - JDK-8318700: MacOS Zero cannot run gtests due to wrong JVM path + - JDK-8318915: Enhance checks in BigDecimal.toPlainString() + - JDK-8318962: Update ProcessTools javadoc with suggestions in 8315097 + - JDK-8319572: Test jdk/incubator/vector/LoadJsvmlTest.java ignores VM flags + - JDK-8319578: Few java/lang/instrument ignore test.java.opts and accept test.vm.opts only + - JDK-8319690: [AArch64] C2 compilation hits offset_ok_for_immed: assert "c2 compiler bug" + - JDK-8320682: [AArch64] C1 compilation fails with "Field too big for insn" + - JDK-8320687: sun.jvmstat.monitor.MonitoredHost.getMonitoredHost() throws unexpected exceptions when invoked concurrently + - JDK-8321204: C2: assert(false) failed: node should be in igvn hash table + - JDK-8321479: java -D-D crashes + - JDK-8321509: False positive in get_trampoline fast path causes crash + - JDK-8321713: Harmonize executeTestJvm with create[Limited]TestJavaProcessBuilder + - JDK-8321718: ProcessTools.executeProcess calls waitFor before logging + - JDK-8321931: memory_swap_current_in_bytes reports 0 as "unlimited" + - JDK-8325435: [macos] Menu or JPopupMenu not closed when main window is resized + - JDK-8325680: Uninitialised memory in deleteGSSCB of GSSLibStub.c:179 + - JDK-8325682: Rename nsk_strace.h + - JDK-8326389: [test] improve assertEquals failure output + - JDK-8328301: Convert Applet test ManualHTMLDataFlavorTest.java to main program + - JDK-8328482: Convert and Open source few manual applet test to main based + - JDK-8328484: Convert and Opensource few JFileChooser applet test to main + - JDK-8328648: Remove applet usage from JFileChooser tests bug4150029 + - JDK-8328670: Automate and open source few closed manual applet test + - JDK-8328673: Convert closed text/html/CSS manual applet test to main + - JDK-8329261: G1: interpreter post-barrier x86 code asserts index size of wrong buffer + - JDK-8330534: Update nsk/jdwp tests to use driver instead of othervm + - JDK-8330598: java/net/httpclient/Http1ChunkedTest.java fails with java.util.MissingFormatArgumentException: Format specifier '%s' + - JDK-8331735: UpcallLinker::on_exit races with GC when copying frame anchor + - JDK-8333117: Remove support of remote and manual debuggee launchers + - JDK-8333680: com/sun/tools/attach/BasicTests.java fails with "SocketException: Permission denied: connect" + - JDK-8334560: [PPC64]: postalloc_expand_java_dynamic_call_sched does not copy all fields + - JDK-8334644: Automate javax/print/attribute/PageRangesException.java + - JDK-8334780: Crash: assert(h_array_list.not_null()) failed: invariant + - JDK-8334895: OpenJDK fails to configure on linux aarch64 when CDS is disabled after JDK-8331942 + - JDK-8335662: [AArch64] C1: guarantee(val < (1ULL << nbits)) failed: Field too big for insn + - JDK-8335684: Test ThreadCpuTime.java should pause like ThreadCpuTimeArray.java + - JDK-8335836: serviceability/jvmti/StartPhase/AllowedFunctions/AllowedFunctions.java fails with unexpected exit code: 112 + - JDK-8336587: failure_handler lldb command times out on macosx-aarch64 core file + - JDK-8337221: CompileFramework: test library to conveniently compile java and jasm sources for fuzzing + - JDK-8337299: vmTestbase/nsk/jdb/stop_at/stop_at002/stop_at002.java failure goes undetected + - JDK-8338154: Fix -Wzero-as-null-pointer-constant warnings in gtest framework + - JDK-8339148: Make os::Linux::active_processor_count() public + - JDK-8339300: CollectorPolicy.young_scaled_initial_ergo_vm gtest fails on ppc64 based platforms + - JDK-8339639: Opensource few AWT PopupMenu tests + - JDK-8339678: Update runtime/condy tests to be executed with VM flags + - JDK-8339727: Open source several AWT focus tests - series 1 + - JDK-8339794: Open source closed choice tests #1 + - JDK-8339810: Clean up the code in sun.tools.jar.Main to properly close resources and use ZipFile during extract + - JDK-8339836: Open source several AWT Mouse tests - Batch 1 + - JDK-8339842: Open source several AWT focus tests - series 2 + - JDK-8339895: Open source several AWT focus tests - series 3 + - JDK-8339906: Open source several AWT focus tests - series 4 + - JDK-8339935: Open source several AWT focus tests - series 5 + - JDK-8339982: Open source several AWT Mouse tests - Batch 2 + - JDK-8339984: Open source AWT MenuItem related tests + - JDK-8339995: Open source several AWT focus tests - series 6 + - JDK-8340077: Open source few Checkbox tests - Set2 + - JDK-8340084: Open source AWT Frame related tests + - JDK-8340143: Open source several Java2D rendering loop tests. + - JDK-8340164: Open source few Component tests - Set1 + - JDK-8340173: Open source some Component/Panel/EventQueue tests - Set2 + - JDK-8340176: Replace usage of -noclassgc with -Xnoclassgc in test/jdk/java/lang/management/MemoryMXBean/LowMemoryTest2.java + - JDK-8340193: Open source several AWT Dialog tests - Batch 1 + - JDK-8340228: Open source couple more miscellaneous AWT tests + - JDK-8340271: Open source several AWT Robot tests + - JDK-8340279: Open source several AWT Dialog tests - Batch 2 + - JDK-8340332: Open source mixed AWT tests - Set3 + - JDK-8340366: Open source several AWT Dialog tests - Batch 3 + - JDK-8340367: Opensource few AWT image tests + - JDK-8340393: Open source closed choice tests #2 + - JDK-8340407: Open source a few more Component related tests + - JDK-8340417: Open source some MenuBar tests - Set1 + - JDK-8340432: Open source some MenuBar tests - Set2 + - JDK-8340433: Open source closed choice tests #3 + - JDK-8340437: Open source few more AWT Frame related tests + - JDK-8340458: Open source additional Component tests (part 2) + - JDK-8340555: Open source DnD tests - Set4 + - JDK-8340560: Open Source several AWT/2D font and rendering tests + - JDK-8340605: Open source several AWT PopupMenu tests + - JDK-8340621: Open source several AWT List tests + - JDK-8340625: Open source additional Component tests (part 3) + - JDK-8340639: Open source few more AWT List tests + - JDK-8340713: Open source DnD tests - Set5 + - JDK-8340784: Remove PassFailJFrame constructor with screenshots + - JDK-8340790: Open source several AWT Dialog tests - Batch 4 + - JDK-8340809: Open source few more AWT PopupMenu tests + - JDK-8340874: Open source some of the AWT Geometry/Button tests + - JDK-8340907: Open source closed frame tests # 2 + - JDK-8340966: Open source few Checkbox and Cursor tests - Set1 + - JDK-8340967: Open source few Cursor tests - Set2 + - JDK-8340978: Open source few DnD tests - Set6 + - JDK-8340985: Open source some Desktop related tests + - JDK-8341000: Open source some of the AWT Window tests + - JDK-8341004: Open source AWT FileDialog related tests + - JDK-8341072: Open source several AWT Canvas and Rectangle related tests + - JDK-8341128: open source some 2d graphics tests + - JDK-8341148: Open source several Choice related tests + - JDK-8341162: Open source some of the AWT window test + - JDK-8341170: Open source several Choice related tests (part 2) + - JDK-8341177: Opensource few List and a Window test + - JDK-8341191: Open source few more AWT FileDialog tests + - JDK-8341239: Open source closed frame tests # 3 + - JDK-8341257: Open source few DND tests - Set1 + - JDK-8341258: Open source few various AWT tests - Set1 + - JDK-8341278: Open source few TrayIcon tests - Set7 + - JDK-8341298: Open source more AWT window tests + - JDK-8341373: Open source closed frame tests # 4 + - JDK-8341378: Open source few TrayIcon tests - Set8 + - JDK-8341447: Open source closed frame tests # 5 + - JDK-8341535: sun/awt/font/TestDevTransform.java fails with RuntimeException: Different rendering + - JDK-8341637: java/net/Socket/UdpSocket.java fails with "java.net.BindException: Address already in use" (macos-aarch64) + - JDK-8341972: java/awt/dnd/DnDRemoveFocusOwnerCrashTest.java timed out after JDK-8341257 + - JDK-8342376: More reliable OOM handling in ExceptionDuringDumpAtObjectsInitPhase test + - JDK-8342524: Use latch in AbstractButton/bug6298940.java instead of delay + - JDK-8342633: javax/management/security/HashedPasswordFileTest.java creates tmp file in src dir + - JDK-8343037: Missing @since tag on JColorChooser.showDialog overload + - JDK-8343103: Enable debug logging for vmTestbase/nsk/jvmti/scenarios/sampling/SP05/sp05t003/TestDescription.java + - JDK-8343124: Tests fails with java.lang.IllegalAccessException: class com.sun.javatest.regtest.agent.MainWrapper$MainTask cannot access + - JDK-8343170: java/awt/Cursor/JPanelCursorTest/JPanelCursorTest.java does not show the default cursor + - JDK-8343205: CompileBroker::possibly_add_compiler_threads excessively polls available memory + - JDK-8343529: serviceability/sa/ClhsdbWhere.java fails AssertionFailure: Corrupted constant pool + - JDK-8343891: Test javax/swing/JTabbedPane/TestJTabbedPaneBackgroundColor.java failed + - JDK-8343936: Adjust timeout in test javax/management/monitor/DerivedGaugeMonitorTest.java + - JDK-8344316: security/auth/callback/TextCallbackHandler/Password.java make runnable with JTReg and add the UI + - JDK-8344361: Restore null return for invalid services from legacy providers + - JDK-8345133: Test sun/security/tools/jarsigner/TsacertOptionTest.java failed: Warning found in stdout + - JDK-8345134: Test sun/security/tools/jarsigner/ConciseJarsigner.java failed: unable to find valid certification path to requested target + - JDK-8345357: test/jdk/javax/swing/JRadioButton/8033699/bug8033699.java fails in ubuntu22.04 + - JDK-8345447: test/jdk/javax/swing/JToolBar/4529206/bug4529206.java fails in ubuntu22.04 + - JDK-8345547: test/jdk/javax/swing/text/DefaultEditorKit/4278839/bug4278839.java fails in ubuntu22.04 + - JDK-8345598: Upgrade NSS binaries for interop tests + - JDK-8345625: Better HTTP connections + - JDK-8345728: [Accessibility,macOS,Screen Magnifier]: JCheckbox unchecked state does not magnify but works for checked state + - JDK-8345838: Remove the appcds/javaldr/AnonVmClassesDuringDump.java test + - JDK-8346049: jdk/test/lib/security/timestamp/TsaServer.java warnings + - JDK-8346581: JRadioButton/ButtonGroupFocusTest.java fails in CI on Linux + - JDK-8347000: Bug in com/sun/net/httpserver/bugs/B6361557.java test + - JDK-8347019: Test javax/swing/JRadioButton/8033699/bug8033699.java still fails: Focus is not on Radio Button Single as Expected + - JDK-8347083: Incomplete logging in nsk/jvmti/ResourceExhausted/resexhausted00* tests + - JDK-8347126: gc/stress/TestStressG1Uncommit.java gets OOM-killed + - JDK-8347267: [macOS]: UnixOperatingSystem.c:67:40: runtime error: division by zero + - JDK-8347286: (fs) Remove some extensions from java/nio/file/Files/probeContentType/Basic.java + - JDK-8347576: Error output in libjsound has non matching format strings + - JDK-8347629: Test FailOverDirectExecutionControlTest.java fails with -Xcomp + - JDK-8347911: Limit the length of inflated text chunks + - JDK-8347995: Race condition in jdk/java/net/httpclient/offline/FixedResponseHttpClient.java + - JDK-8348107: test/jdk/java/net/httpclient/HttpsTunnelAuthTest.java fails intermittently + - JDK-8348110: Update LCMS to 2.17 + - JDK-8348299: Update List/ItemEventTest/ItemEventTest.java + - JDK-8348596: Update FreeType to 2.13.3 + - JDK-8348597: Update HarfBuzz to 10.4.0 + - JDK-8348598: Update Libpng to 1.6.47 + - JDK-8348600: Update PipeWire to 1.3.81 + - JDK-8348865: JButton/bug4796987.java never runs because Windows XP is unavailable + - JDK-8348936: [Accessibility,macOS,VoiceOver] VoiceOver doesn't announce untick on toggling the checkbox with "space" key on macOS + - JDK-8348989: Better Glyph drawing + - JDK-8349039: Adjust exception No type named in database + - JDK-8349111: Enhance Swing supports + - JDK-8349200: [JMH] time.format.ZonedDateTimeFormatterBenchmark fails + - JDK-8349348: Refactor ClassLoaderDeadlock.sh and Deadlock.sh to run fully in java + - JDK-8349492: Update sun/security/pkcs12/KeytoolOpensslInteropTest.java to use a recent Openssl version + - JDK-8349501: Relocate supporting classes in security/testlibrary to test/lib/jdk tree + - JDK-8349594: Enhance TLS protocol support + - JDK-8349751: AIX build failure after upgrade pipewire to 1.3.81 + - JDK-8349974: [JMH,17u] MaskQueryOperationsBenchmark fails java.lang.NoClassDefFoundError + - JDK-8350211: CTW: Attempt to preload all classes in constant pool + - JDK-8350224: Test javax/swing/JComboBox/TestComboBoxComponentRendering.java fails in ubuntu 23.x and later + - JDK-8350260: Improve HTML instruction formatting in PassFailJFrame + - JDK-8350383: Test: add more test case for string compare (UL case) + - JDK-8350386: Test TestCodeCacheFull.java fails with option -XX:-UseCodeCacheFlushing + - JDK-8350412: [21u] AArch64: Ambiguous frame layout leads to incorrect traces in JFR + - JDK-8350498: Remove two Camerfirma root CA certificates + - JDK-8350540: [17u,11u] B8312065.java fails Network is unreachable + - JDK-8350546: Several java/net/InetAddress tests fails UnknownHostException + - JDK-8350616: Skip ValidateHazardPtrsClosure in non-debug builds + - JDK-8350651: Bump update version for OpenJDK: jdk-17.0.16 + - JDK-8350924: javax/swing/JMenu/4213634/bug4213634.java fails + - JDK-8350991: Improve HTTP client header handling + - JDK-8351086: (fc) Make java/nio/channels/FileChannel/BlockDeviceSize.java test manual + - JDK-8352076: [21u] Problem list tests that fail in 21 and would be fixed by 8309622 + - JDK-8352109: java/awt/Desktop/MailTest.java fails in platforms where Action.MAIL is not supported + - JDK-8352302: Test sun/security/tools/jarsigner/TimestampCheck.java is failing + - JDK-8352649: [17u] guarantee(is_result_safe || is_in_asgct()) failed inside AsyncGetCallTrace + - JDK-8352676: Opensource JMenu tests - series1 + - JDK-8352680: Opensource few misc swing tests + - JDK-8352684: Opensource JInternalFrame tests - series1 + - JDK-8352706: httpclient HeadTest does not run on HTTP2 + - JDK-8352716: (tz) Update Timezone Data to 2025b + - JDK-8352908: Open source several swing tests batch1 + - JDK-8352942: jdk/jfr/startupargs/TestMemoryOptions.java fails with 32-bit build + - JDK-8353070: Clean up and open source couple AWT Graphics related tests (Part 1) + - JDK-8353138: Screen capture for test TaskbarPositionTest.java, failure case + - JDK-8353320: Open source more Swing text tests + - JDK-8353446: Open source several AWT Menu tests - Batch 2 + - JDK-8353475: Open source two Swing DefaultCaret tests + - JDK-8353685: Open some JComboBox bugs 4 + - JDK-8353709: Debug symbols bundle should contain full debug files when building --with-external-symbols-in-bundles=public + - JDK-8353714: [17u] Backport of 8347740 incomplete + - JDK-8353942: Open source Swing Tests - Set 5 + - JDK-8354554: Open source several clipboard tests batch1 + - JDK-8356053: Test java/awt/Toolkit/Headless/HeadlessToolkit.java fails by timeout + - JDK-8356096: ISO 4217 Amendment 179 Update + - JDK-8356571: Re-enable -Wtype-limits for GCC in LCMS + - JDK-8357105: C2: compilation fails with "assert(false) failed: empty program detected during loop optimization" + - JDK-8357193: [VS 2022 17.14] Warning C5287 in debugInit.c: enum type mismatch during build + - JDK-8359170: Add 2 TLS and 2 CS Sectigo roots + - JDK-8360147: Better Glyph drawing redux + - JDK-8361674: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.16 + +Notes on individual issues: +=========================== + +security-libs/java.security: + +JDK-8303770: Remove Baltimore root certificate expiring in May 2025 +=================================================================== +The following root certificate from Baltimore has been removed from +the `cacerts` keystore: + +Alias Name: baltimorecybertrustca [jdk] +Distinguished Name: CN=Baltimore CyberTrust Root, OU=CyberTrust, O=Baltimore, C=IE + +JDK-8350498: Remove two Camerfirma root CA certificates +======================================================= +The following expired root certificates from Camerfirma have been +removed from the `cacerts` keystore: + +Alias name: camerfirmachamberscommerceca [jdk] +CN=Chambers of Commerce Root +OU=http://www.chambersign.org +O=AC Camerfirma SA CIF A82743287 +C=EU +SHA256: 0C:25:8A:12:A5:67:4A:EF:25:F2:8B:A7:DC:FA:EC:EE:A3:48:E5:41:E6:F5:CC:4E:E6:3B:71:B3:61:60:6A:C3 + +Alias name: camerfirmachambersignca [jdk] +CN=Global Chambersign Root - 2008 +O=AC Camerfirma S.A. +SERIALNUMBER=A82743287 +L=Madrid (see current address at www.camerfirma.com/address) +C=EU +SHA256: 13:63:35:43:93:34:A7:69:80:16:A0:D3:24:DE:72:28:4E:07:9D:7B:52:20:BB:8F:BD:74:78:16:EE:BE:BA:CA + +JDK-8359170: Add 2 TLS and 2 CS Sectigo roots +============================================= +The following root certificates have been added to the cacerts +truststore: + +Name: Sectigo Limited +Alias Name: sectigocodesignroote46 +Distinguished Name: CN=Sectigo Public Code Signing Root E46, O=Sectigo Limited, C=GB + +Name: Sectigo Limited +Alias Name: sectigocodesignrootr46 +Distinguished Name: CN=Sectigo Public Code Signing Root R46, O=Sectigo Limited, C=GB + +Name: Sectigo Limited +Alias Name: sectigotlsroote46 +Distinguished Name: Sectigo Public Server Authentication Root E46, O=Sectigo Limited, C=GB + +Name: Sectigo Limited +Alias Name: sectigotlsrootr46 +Distinguished Name: Sectigo Public Server Authentication Root R46, O=Sectigo Limited, C=GB + +New in release OpenJDK 17.0.15 (2025-04-15): +============================================ +Live versions of these release notes can be found at: + * https://bit.ly/openjdk17015 + +* CVEs + - CVE-2025-21587 + - CVE-2025-30691 + - CVE-2025-30698 +* Changes + - JDK-6355567: AdobeMarkerSegment causes failure to read valid JPEG + - JDK-8065099: [macos] javax/swing/PopupFactory/6276087/NonOpaquePopupMenuTest.java fails: no background shine through + - JDK-8179502: Enhance OCSP, CRL and Certificate Fetch Timeouts + - JDK-8198237: [macos] Test java/awt/Frame/ExceptionOnSetExtendedStateTest/ExceptionOnSetExtendedStateTest.java fails + - JDK-8198666: Many java/awt/Modal/OnTop/ test fails on mac + - JDK-8208565: [TEST_BUG] javax\swing\PopupFactory\6276087\NonOpaquePopupMenuTest.java throws NPE + - JDK-8226933: [TEST_BUG]GTK L&F: There is no swatches or RGB tab in JColorChooser + - JDK-8226938: [TEST_BUG]GTK L&F: There is no Details button in FileChooser Dialog + - JDK-8266435: WBMPImageReader.read() should not truncate the input stream + - JDK-8267893: Improve jtreg test failure handler do get native/mixed stack traces for cores and live processes + - JDK-8270961: [TESTBUG] Move GotWrongOOMEException into vm.share.gc package + - JDK-8274893: Update java.desktop classes to use try-with-resources + - JDK-8276202: LogFileOutput.invalid_file_vm asserts when being executed from a read only working directory + - JDK-8277240: java/awt/Graphics2D/ScaledTransform/ScaledTransform.java dialog does not get disposed + - JDK-8281234: The -protected option is not always checked in keytool and jarsigner + - JDK-8282314: nsk/jvmti/SuspendThread/suspendthrd003 may leak memory + - JDK-8283387: [macos] a11y : Screen magnifier does not show selected Tab + - JDK-8283404: [macos] a11y : Screen magnifier does not show JMenu name + - JDK-8283664: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/PrintTextTest.java + - JDK-8286779: javax.crypto.CryptoPolicyParser#isConsistent always returns 'true' + - JDK-8286875: ProgrammableUpcallHandler::on_entry/on_exit access thread fields from native + - JDK-8290400: Must run exe installers in jpackage jtreg tests without UI + - JDK-8292588: [macos] Multiscreen/MultiScreenLocationTest/MultiScreenLocationTest.java: Robot.mouseMove test failed on Screen #0 + - JDK-8292704: sun/security/tools/jarsigner/compatibility/Compatibility.java use wrong key size for EC + - JDK-8292848: AWT_Mixing and TrayIcon tests fail on el8 with hard-coded isOel7 + - JDK-8293345: SunPKCS11 provider checks on PKCS11 Mechanism are problematic + - JDK-8293412: Remove unnecessary java.security.egd overrides + - JDK-8294067: [macOS] javax/swing/JComboBox/6559152/bug6559152.java Cannot select an item from popup with the ENTER key. + - JDK-8294316: SA core file support is broken on macosx-x64 starting with macOS 12.x + - JDK-8295087: Manual Test to Automated Test Conversion + - JDK-8295176: some langtools test pollutes source tree + - JDK-8296591: Signature benchmark + - JDK-8296818: Enhance JMH tests java/security/Signatures.java + - JDK-8299077: [REDO] JDK-4512626 Non-editable JTextArea provides no visual indication of keyboard focus + - JDK-8299127: [REDO] JDK-8194048 Regression automated test '/open/test/jdk/javax/swing/text/DefaultCaret/HidingSelection/HidingSelectionTest.java' fails + - JDK-8299128: [REDO] JDK-8213562 Test javax/swing/text/DefaultCaret/HidingSelection/MultiSelectionTest.java fails + - JDK-8299739: HashedPasswordFileTest.java and ExceptionTest.java can fail with java.lang.NullPointerException + - JDK-8299994: java/security/Policy/Root/Root.java fails when home directory is read-only + - JDK-8301989: new javax.swing.text.DefaultCaret().setBlinkRate(N) results in NPE + - JDK-8302111: Serialization considerations + - JDK-8305853: java/text/Format/DateFormat/DateFormatRegression.java fails with "Uncaught exception thrown in test method Test4089106" + - JDK-8306711: Improve diagnosis of `IntlTest` framework + - JDK-8308341: JNI_GetCreatedJavaVMs returns a partially initialized JVM + - JDK-8309171: Test vmTestbase/nsk/jvmti/scenarios/jni_interception/JI05/ji05t001/TestDescription.java fails after JDK-8308341 + - JDK-8309231: ProblemList vmTestbase/nsk/jvmti/scenarios/jni_interception/JI05/ji05t001/TestDescription.java + - JDK-8309740: Expand timeout windows for tests in JDK-8179502 + - JDK-8309841: Jarsigner should print a warning if an entry is removed + - JDK-8310234: Refactor Locale tests to use JUnit + - JDK-8310629: java/security/cert/CertPathValidator/OCSP/OCSPTimeout.java fails with RuntimeException Server not ready + - JDK-8311306: Test com/sun/management/ThreadMXBean/ThreadCpuTimeArray.java failed: out of expected range + - JDK-8311546: Certificate name constraints improperly validated with leading period + - JDK-8311663: Additional refactoring of Locale tests to JUnit + - JDK-8312416: Tests in Locale should have more descriptive names + - JDK-8312518: [macos13] setFullScreenWindow() shows black screen on macOS 13 & above + - JDK-8313633: [macOS] java/awt/dnd/NextDropActionTest/NextDropActionTest.java fails with java.lang.RuntimeException: wrong next drop action! + - JDK-8313710: jcmd: typo in the documentation of JFR.start and JFR.dump + - JDK-8314225: SIGSEGV in JavaThread::is_lock_owned + - JDK-8314610: hotspot can't compile with the latest of gtest because of + - JDK-8314752: Use google test string comparison macros + - JDK-8314909: tools/jpackage/windows/Win8282351Test.java fails with java.lang.AssertionError: Expected [0]. Actual [1618]: + - JDK-8314975: JavadocTester should set source path if not specified + - JDK-8315486: vmTestbase/nsk/jdwp/ThreadReference/ForceEarlyReturn/forceEarlyReturn002/forceEarlyReturn002.java timed out + - JDK-8315825: Open some swing tests + - JDK-8315882: Open some swing tests 2 + - JDK-8315883: Open source several Swing JToolbar tests + - JDK-8315952: Open source several Swing JToolbar JTooltip JTree tests + - JDK-8316056: Open source several Swing JTree tests + - JDK-8316146: Open some swing tests 4 + - JDK-8316149: Open source several Swing JTree JViewport KeyboardManager tests + - JDK-8316218: Open some swing tests 5 + - JDK-8316371: Open some swing tests 6 + - JDK-8316559: Refactor some util/Calendar tests to JUnit + - JDK-8316627: JViewport Test headless failure + - JDK-8316696: Remove the testing base classes: IntlTest and CollatorTest + - JDK-8317631: Refactor ChoiceFormat tests to use JUnit + - JDK-8317636: Improve heap walking API tests to verify correctness of field indexes + - JDK-8318442: java/net/httpclient/ManyRequests2.java fails intermittently on Linux + - JDK-8319567: Update java/lang/invoke tests to support vm flags + - JDK-8319568: Update java/lang/reflect/exeCallerAccessTest/CallerAccessTest.java to accept vm flags + - JDK-8319569: Several java/util tests should be updated to accept VM flags + - JDK-8319647: Few java/lang/System/LoggerFinder/modules tests ignore vm flags + - JDK-8319648: java/lang/SecurityManager tests ignore vm flags + - JDK-8319672: Several classloader tests ignore VM flags + - JDK-8319673: Few security tests ignore VM flags + - JDK-8319676: A couple of jdk/modules/incubator/ tests ignore VM flags + - JDK-8319677: Test jdk/internal/misc/VM/RuntimeArguments.java should be marked as flagless + - JDK-8319818: Address GCC 13.2.0 warnings (stringop-overflow and dangling-pointer) + - JDK-8320372: test/jdk/sun/security/x509/DNSName/LeadingPeriod.java validity check failed + - JDK-8320676: Manual printer tests have no Pass/Fail buttons, instructions close set 1 + - JDK-8320691: Timeout handler on Windows takes 2 hours to complete + - JDK-8320714: java/util/Locale/LocaleProvidersRun.java and java/util/ResourceBundle/modules/visibility/VisibilityTest.java timeout after passing + - JDK-8320916: jdk/jfr/event/gc/stacktrace/TestParallelMarkSweepAllocationPendingStackTrace.java failed with "OutOfMemoryError: GC overhead limit exceeded" + - JDK-8321818: vmTestbase/nsk/stress/strace/strace015.java failed with 'Cannot read the array length because "" is null' + - JDK-8323196: jdk/jfr/api/consumer/filestream/TestOrdered.java failed with "Events are not ordered! Reuse = false" + - JDK-8324672: Update jdk/java/time/tck/java/time/TCKInstant.java now() to be more robust + - JDK-8324807: Manual printer tests have no Pass/Fail buttons, instructions close set 2 + - JDK-8325024: java/security/cert/CertPathValidator/OCSP/OCSPTimeout.java incorrect comment information + - JDK-8325042: Remove unused JVMDITools test files + - JDK-8325529: Remove unused imports from `ModuleGenerator` test file + - JDK-8325659: Normalize Random usage by incubator vector tests + - JDK-8325906: Problemlist vmTestbase/vm/mlvm/meth/stress/compiler/deoptimize/Test.java#id1 until JDK-8320865 is fixed + - JDK-8325908: Finish removal of IntlTest and CollatorTest + - JDK-8325937: runtime/handshake/HandshakeDirectTest.java causes "monitor end should be strictly below the frame pointer" assertion failure on AArch64 + - JDK-8326421: Add jtreg test for large arrayCopy disjoint case. + - JDK-8326525: com/sun/tools/attach/BasicTests.java does not verify AgentLoadException case + - JDK-8327098: GTest needs larger combination limit + - JDK-8327476: Upgrade JLine to 3.26.1 + - JDK-8327505: Test com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.java fails + - JDK-8327857: Remove applet usage from JColorChooser tests Test4222508 + - JDK-8327859: Remove applet usage from JColorChooser tests Test4319113 + - JDK-8327986: ASAN reports use-after-free in DirectivesParserTest.empty_object_vm + - JDK-8328005: Convert java/awt/im/JTextFieldTest.java applet test to main + - JDK-8328085: C2: Use after free in PhaseChaitin::Register_Allocate() + - JDK-8328121: Remove applet usage from JColorChooser tests Test4759306 + - JDK-8328130: Remove applet usage from JColorChooser tests Test4759934 + - JDK-8328185: Convert java/awt/image/MemoryLeakTest/MemoryLeakTest.java applet test to main + - JDK-8328227: Remove applet usage from JColorChooser tests Test4887836 + - JDK-8328368: Convert java/awt/image/multiresolution/MultiDisplayTest/MultiDisplayTest.java applet test to main + - JDK-8328370: Convert java/awt/print/Dialog/PrintApplet.java applet test to main + - JDK-8328380: Remove applet usage from JColorChooser tests Test6348456 + - JDK-8328387: Convert java/awt/Frame/FrameStateTest/FrameStateTest.html applet test to main + - JDK-8328403: Remove applet usage from JColorChooser tests Test6977726 + - JDK-8328553: Get rid of JApplet in test/jdk/sanity/client/lib/SwingSet2/src/DemoModule.java + - JDK-8328558: Convert javax/swing/JCheckBox/8032667/bug8032667.java applet test to main + - JDK-8328717: Convert javax/swing/JColorChooser/8065098/bug8065098.java applet test to main + - JDK-8328719: Convert java/awt/print/PageFormat/SetOrient.html applet test to main + - JDK-8328730: Convert java/awt/print/bug8023392/bug8023392.html applet test to main + - JDK-8328753: Open source few Undecorated Frame tests + - JDK-8328819: Remove applet usage from JFileChooser tests bug6698013 + - JDK-8328827: Convert java/awt/print/PrinterJob/PrinterDialogsModalityTest/PrinterDialogsModalityTest.html applet test to main + - JDK-8329210: Delete Redundant Printer Dialog Modality Test + - JDK-8329320: Simplify awt/print/PageFormat/NullPaper.java test + - JDK-8329322: Convert PageFormat/Orient.java to use PassFailJFrame + - JDK-8329692: Add more details to FrameStateTest.java test instructions + - JDK-8330702: Update failure handler to don't generate Error message if cores actions are empty + - JDK-8331153: JFR: Improve logging of jdk/jfr/api/consumer/filestream/TestOrdered.java + - JDK-8331735: UpcallLinker::on_exit races with GC when copying frame anchor + - JDK-8331959: Update PKCS#11 Cryptographic Token Interface to v3.1 + - JDK-8332158: [XWayland] test/jdk/java/awt/Mouse/EnterExitEvents/ResizingFrameTest.java + - JDK-8332917: failure_handler should execute gdb "info threads" command on linux + - JDK-8333360: PrintNullString.java doesn't use float arguments + - JDK-8333391: Test com/sun/jdi/InterruptHangTest.java failed: Thread was never interrupted during sleep + - JDK-8333403: Write a test to check various components events are triggered properly + - JDK-8333427: langtools/tools/javac/newlines/NewLineTest.java is failing on Japanese Windows + - JDK-8334305: Remove all code for nsk.share.Log verbose mode + - JDK-8334490: Normalize string with locale invariant `toLowerCase()` + - JDK-8334777: Test javax/management/remote/mandatory/notif/NotifReconnectDeadlockTest.java failed with NullPointerException + - JDK-8335150: Test LogGeneratedClassesTest.java fails on rpmbuild mock enviroment + - JDK-8335172: Add manual steps to run security/auth/callback/TextCallbackHandler/Password.java test + - JDK-8335789: [TESTBUG] XparColor.java test fails with Error. Parse Exception: Invalid or unrecognized bugid: @ + - JDK-8336012: Fix usages of jtreg-reserved properties + - JDK-8336498: [macos] [build]: install-file macro may run into permission denied error + - JDK-8336692: Redo fix for JDK-8284620 + - JDK-8336942: Improve test coverage for class loading elements with annotations of different retentions + - JDK-8337222: gc/TestDisableExplicitGC.java fails due to unexpected CodeCache GC + - JDK-8337494: Clarify JarInputStream behavior + - JDK-8337692: Better TLS connection support + - JDK-8337826: Improve logging in OCSPTimeout and SimpleOCSPResponder to help diagnose JDK-8309754 + - JDK-8337886: java/awt/Frame/MaximizeUndecoratedTest.java fails in OEL due to a slight color difference + - JDK-8337951: Test sun/security/validator/samedn.sh CertificateNotYetValidException: NotBefore validation + - JDK-8338100: C2: assert(!n_loop->is_member(get_loop(lca))) failed: control must not be back in the loop + - JDK-8338426: Test java/nio/channels/Selector/WakeupNow.java failed + - JDK-8338430: Improve compiler transformations + - JDK-8338571: [TestBug] DefaultCloseOperation.java test not working as expected wrt instruction after JDK-8325851 fix + - JDK-8338595: Add more linesize for MIME decoder in macro bench test Base64Decode + - JDK-8338668: Test javax/swing/JFileChooser/8080628/bug8080628.java doesn't test for GTK L&F + - JDK-8339154: Cleanups and JUnit conversion of test/jdk/java/util/zip/Available.java + - JDK-8339261: Logs truncated in test javax/net/ssl/DTLS/DTLSRehandshakeTest.java + - JDK-8339356: Test javax/net/ssl/SSLSocket/Tls13PacketSize.java failed with java.net.SocketException: An established connection was aborted by the software in your host machine + - JDK-8339524: Clean up a few ExtendedRobot tests + - JDK-8339687: Rearrange reachabilityFence()s in jdk.test.lib.util.ForceGC + - JDK-8339728: [Accessibility,Windows,JAWS] Bug in the getKeyChar method of the AccessBridge class + - JDK-8339810: Clean up the code in sun.tools.jar.Main to properly close resources and use ZipFile during extract + - JDK-8339883: Open source several AWT/2D related tests + - JDK-8339902: Open source couple TextField related tests + - JDK-8339943: Frame not disposed in java/awt/dnd/DropActionChangeTest.java + - JDK-8340078: Open source several 2D tests + - JDK-8340116: test/jdk/sun/security/tools/jarsigner/PreserveRawManifestEntryAndDigest.java can fail due to regex + - JDK-8340411: open source several 2D imaging tests + - JDK-8340480: Bad copyright notices in changes from JDK-8339902 + - JDK-8340687: Open source closed frame tests #1 + - JDK-8340719: Open source AWT List tests + - JDK-8340969: jdk/jfr/startupargs/TestStartDuration.java should be marked as flagless + - JDK-8341037: Use standard layouts in DefaultFrameIconTest.java and MenuCrash.java + - JDK-8341111: open source several AWT tests including menu shortcut tests + - JDK-8341316: [macos] javax/swing/ProgressMonitor/ProgressMonitorEscapeKeyPress.java fails sometimes in macos + - JDK-8341412: Various test failures after JDK-8334305 + - JDK-8341424: GHA: Collect hs_errs from build time failures + - JDK-8341453: java/awt/a11y/AccessibleJTableTest.java fails in some cases where the test tables are not visible + - JDK-8341722: Fix some warnings as errors when building on Linux with toolchain clang + - JDK-8341881: [REDO] java/nio/file/attribute/BasicFileAttributeView/CreationTime.java#tmp fails on alinux3 + - JDK-8341978: Improve JButton/bug4490179.java + - JDK-8341982: Simplify JButton/bug4323121.java + - JDK-8342098: Write a test to compare the images + - JDK-8342145: File libCreationTimeHelper.c compile fails on Alpine + - JDK-8342270: Test sun/security/pkcs11/Provider/RequiredMechCheck.java needs write access to src tree + - JDK-8342498: Add test for Allocation elimination after use as alignment reference by SuperWord + - JDK-8342508: Use latch in BasicMenuUI/bug4983388.java instead of delay + - JDK-8342541: Exclude List/KeyEventsTest/KeyEventsTest.java from running on macOS + - JDK-8342562: Enhance Deflater operations + - JDK-8342602: Remove JButton/PressedButtonRightClickTest test + - JDK-8342607: Enhance register printing on x86_64 platforms + - JDK-8342609: jpackage test helper function incorrectly removes a directory instead of its contents only + - JDK-8342634: javax/imageio/plugins/wbmp/WBMPStreamTruncateTest.java creates temp file in src dir + - JDK-8342635: javax/swing/JFileChooser/FileSystemView/WindowsDefaultIconSizeTest.java creates tmp file in src dir + - JDK-8342704: GHA: Report truncation is broken after JDK-8341424 + - JDK-8342811: java/net/httpclient/PlainProxyConnectionTest.java failed: Unexpected connection count: 5 + - JDK-8342858: Make target mac-jdk-bundle fails on chmod command + - JDK-8342988: GHA: Build JTReg in single step + - JDK-8343007: Enhance Buffered Image handling + - JDK-8343100: Consolidate EmptyFolderTest and EmptyFolderPackageTest jpackage tests into single java file + - JDK-8343101: Rework BasicTest.testTemp test cases + - JDK-8343118: [TESTBUG] java/awt/PrintJob/PrintCheckboxTest/PrintCheckboxManualTest.java fails with rror. Can't find HTML file PrintCheckboxManualTest.html + - JDK-8343128: PassFailJFrame.java test result: Error. Bad action for script: build} + - JDK-8343129: Disable unstable check of ThreadsListHandle.sanity_vm ThreadList values + - JDK-8343178: Test BasicTest.java javac compile fails cannot find symbol + - JDK-8343378: Exceptions in javax/management DeadLockTest.java do not cause test failure + - JDK-8343491: javax/management/remote/mandatory/connection/DeadLockTest.java failing with NoSuchObjectException: no such object in table + - JDK-8343599: Kmem limit and max values swapped when printing container information + - JDK-8343724: [PPC64] Disallow OptoScheduling + - JDK-8343882: BasicAnnoTests doesn't handle multiple annotations at the same position + - JDK-8344581: [TESTBUG] java/awt/Robot/ScreenCaptureRobotTest.java failing on macOS + - JDK-8344589: Update IANA Language Subtag Registry to Version 2024-11-19 + - JDK-8344646: The libjsig deprecation warning should go to stderr not stdout + - JDK-8345296: AArch64: VM crashes with SIGILL when prctl is disallowed + - JDK-8345368: java/io/File/createTempFile/SpecialTempFile.java fails on Windows Server 2025 + - JDK-8345371: Bump update version for OpenJDK: jdk-17.0.15 + - JDK-8345375: Improve debuggability of test/jdk/java/net/Socket/CloseAvailable.java + - JDK-8345414: Google CAInterop test failures + - JDK-8345468: test/jdk/javax/swing/JScrollBar/4865918/bug4865918.java fails in ubuntu22.04 + - JDK-8346055: javax/swing/text/StyledEditorKit/4506788/bug4506788.java fails in ubuntu22.04 + - JDK-8346324: javax/swing/JScrollBar/4865918/bug4865918.java fails in CI + - JDK-8346587: Distrust TLS server certificates anchored by Camerfirma Root CAs + - JDK-8346671: java/nio/file/Files/probeContentType/Basic.java fails on Windows 2025 + - JDK-8346828: javax/swing/JScrollBar/4865918/bug4865918.java still fails in CI + - JDK-8346887: DrawFocusRect() may cause an assertion failure + - JDK-8346908: Update JDK 17 javadoc man page + - JDK-8346972: Test java/nio/channels/FileChannel/LoopingTruncate.java fails sometimes with IOException: There is not enough space on the disk + - JDK-8347424: Fix and rewrite sun/security/x509/DNSName/LeadingPeriod.java test + - JDK-8347427: JTabbedPane/8134116/Bug8134116.java has no license header + - JDK-8347740: java/io/File/createTempFile/SpecialTempFile.java failing + - JDK-8347847: Enhance jar file support + - JDK-8347965: (tz) Update Timezone Data to 2025a + - JDK-8348625: [21u, 17u] Revert JDK-8185862 to restore old java.awt.headless behavior on Windows + - JDK-8348675: TrayIcon tests fail in Ubuntu 24.10 Wayland + - JDK-8349603: [21u, 17u, 11u] Update GHA JDKs after Jan/25 updates + - JDK-8352097: (tz) zone.tab update missed in 2025a backport + - JDK-8353905: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.15 + +Notes on individual issues: +=========================== + +security-libs/javax.net.ssl: + +JDK-8346587: Distrust TLS server certificates anchored by Camerfirma Root CAs +============================================================================= +In accordance with similar plans recently announced by Google, +Mozilla, Apple and Microsoft, the JDK will not trust Transport Layer +Security (TLS) certificates issued after the 15th of April 2025 which +are anchored by Camerfirma root certificates. + +Certificates issued on or before April 15th, 2025 will continue to +be trusted until they expire. + +If a server's certificate chain is anchored by an affected +certificate, attempts to negotiate a TLS session will fail with an +Exception that indicates the trust anchor is not trusted. For example, + +"TLS server certificate issued after 2025-04-15 and anchored by a +distrusted legacy Camerfirma root CA: CN=Chambers of Commerce Root - +2008, O=AC Camerfirma S.A., SERIALNUMBER=A82743287, L=Madrid (see +current address at www.camerfirma.com/address), C=EU" + +To check whether a certificate in a JDK keystore is affected by this +change, you can the `keytool` utility: + +keytool -v -list -alias -keystore + +If any of the certificates in the chain are affected by this change, +then you will need to update the certificate or contact the +organisation responsible for managing the certificate. + +These restrictions apply to the following Camerfirma root certificates +included in the JDK: + +Alias name: camerfirmachamberscommerceca [jdk] +CN=Chambers of Commerce Root +OU=http://www.chambersign.org +O=AC Camerfirma SA CIF A82743287 +C=EU +SHA256: 0C:25:8A:12:A5:67:4A:EF:25:F2:8B:A7:DC:FA:EC:EE:A3:48:E5:41:E6:F5:CC:4E:E6:3B:71:B3:61:60:6A:C3 + +Alias name: camerfirmachambersca [jdk] +CN=Chambers of Commerce Root - 2008 +O=AC Camerfirma S.A. +SERIALNUMBER=A82743287 +L=Madrid (see current address at www.camerfirma.com/address) +C=EU +SHA256: 06:3E:4A:FA:C4:91:DF:D3:32:F3:08:9B:85:42:E9:46:17:D8:93:D7:FE:94:4E:10:A7:93:7E:E2:9D:96:93:C0 + +Alias name: camerfirmachambersignca [jdk] +CN=Global Chambersign Root - 2008 +O=AC Camerfirma S.A. +SERIALNUMBER=A82743287 +L=Madrid (see current address at www.camerfirma.com/address) +C=EU +SHA256: 13:63:35:43:93:34:A7:69:80:16:A0:D3:24:DE:72:28:4E:07:9D:7B:52:20:BB:8F:BD:74:78:16:EE:BE:BA:CA + +Users can, *at their own risk*, remove this restriction by modifying +the `java.security` configuration file (or override it by using the +`java.security.properties` system property) so "CAMERFIRMA_TLS" is no +longer listed in the `jdk.security.caDistrustPolicies` security +property. + +security-libs/javax.crypto:pkcs11: + +JDK-8293345: SunPKCS11 provider checks on PKCS11 Mechanism are problematic +========================================================================== +In OpenJDK 14, the notion of legacy mechanisms was introduced into the +SunPKCS11 provider. If a mechanism was found to be using a weak +algorithm, it was determined to be legacy and disabled. + +However, this approach has proved inflexible. There was no way for the +user to override the legacy determination and enable the mechanism +anyway. Also, a mechanism being used for signing would be declared +legacy and disabled if it had a weak encryption algorithm, even though +encryption was not being used. Similarly, a weak signing algorithm +would prevent the mechanism's use as a cipher for encryption or +decryption. + +This OpenJDK release resolves these issues. It introduces the PKCS11 +provider configuration attribute "allowLegacy" which can be set to +`true` if the user wishes to override the legacy determination. By +default, it is set to `false`. The legacy determination now also +considers the service type and will only check encryption algorithms +for Ciphers and only signature algorithms for Signatures. + +hotspot/runtime: + +JDK-8308341: JNI_GetCreatedJavaVMs returns a partially initialized JVM +====================================================================== +In previous OpenJDK releases, the JNI method `jint +JNI_GetCreatedJavaVMs(JavaVM **vm_buf, jsize bufLen, jsize *numVMs)` +could return a VM in the `vm_buf` array which was still in the process +of being initialised. With this release, the method now only returns +fully initialised VMs. + +Before making use of the `vm_buf` array, please ensure that the number +of VMs returned in `numVMs` is greater than zero. + +security-libs/java.security: + +JDK-8179502: Enhance OCSP, CRL and Certificate Fetch Timeouts +============================================================= +This OpenJDK release introduces three new properties which allow +greater control over the timeouts for OCSP connections and certificate +retrieval: + +* `com.sun.security.ocsp.readtimeout` is paired with the existing +`com.sun.security.ocsp.timeout` to allow the timeout for reading data +to be set separately from the timeout for the transport layer. If +`com.sun.security.ocsp.readtimeout` is not set, it will default to the +value of `com.sun.security.ocsp.timeout` as before, which itself has a +default of 15 seconds. + +* `com.sun.security.cert.timeout` is used to set the connection timeout +for the download of certificates for certificate authorities. It defaults +to 15 seconds. + +* `com.sun.security.crl.readtimeout` is used to set the data read timeout +for the download of certificates for certificate authorities. It defaults +to 15 seconds. + +Note that certificate downloads only take place if the +``com.sun.security.enableAIAcaIssuers` property is set to `true`. + +The syntax of all four property values has also been improved. The +value is still expected to be a positive decimal integer value, but an +optional suffix can be appended to cause the value to be interpreted +as either seconds ("s") or milliseconds ("ms"). If no suffix is given, +the value is assumed to be in seconds as before. Anything other than a +decimal digit prior to the suffix will be rejected and the default +used instead. For example, "-5", "0xA" and "6.2" are all invalid +values. + +JDK-8309841: Jarsigner should print a warning if an entry is removed +==================================================================== +In previous OpenJDK releases, the jarsigner tool did not detect the +case where a file was removed from a signed JAR file but its signature +was still present. With this release, `jarsigner -verify` checks that +every signature has a matching file entry and prints a warning if this +is not the case. The `-verbose` option can also be added to the +command to see the names of the mismatched entries. + +New in release OpenJDK 17.0.14 (2025-01-21): +============================================ +Live versions of these release notes can be found at: + * https://bit.ly/openjdk17014 + +* CVEs + - CVE-2025-21502 +* Changes + - JDK-7093691: Nimbus LAF: disabled JComboBox using renderer has bad font color + - JDK-8028127: Regtest java/security/Security/SynchronizedAccess.java is incorrect + - JDK-8071693: Introspector ignores default interface methods + - JDK-8195675: Call to insertText with single character from custom Input Method ignored + - JDK-8202926: Test java/awt/Focus/WindowUpdateFocusabilityTest/WindowUpdateFocusabilityTest.html fails + - JDK-8207908: JMXStatusTest.java fails assertion intermittently + - JDK-8225220: When the Tab Policy is checked,the scroll button direction displayed incorrectly. + - JDK-8240343: JDI stopListening/stoplis001 "FAILED: listening is successfully stopped without starting listening" + - JDK-8254759: [TEST_BUG] [macosx] javax/swing/JInternalFrame/4202966/IntFrameCoord.html fails + - JDK-8258734: jdk/jfr/event/oldobject/TestClassLoaderLeak.java failed with "RuntimeException: Could not find class leak" + - JDK-8268364: jmethod clearing should be done during unloading + - JDK-8269770: nsk tests should start IOPipe channel before launch debuggee - Debugee.prepareDebugee + - JDK-8271003: hs_err improvement: handle CLASSPATH env setting longer than O_BUFLEN + - JDK-8271456: Avoid looking up standard charsets in "java.desktop" module + - JDK-8271821: mark hotspot runtime/MinimalVM tests which ignore external VM flags + - JDK-8271825: mark hotspot runtime/LoadClass tests which ignore external VM flags + - JDK-8271836: runtime/ErrorHandling/ClassPathEnvVar.java fails with release VMs + - JDK-8272746: ZipFile can't open big file (NegativeArraySizeException) + - JDK-8273914: Indy string concat changes order of operations + - JDK-8274170: Add hooks for custom makefiles to augment jtreg test execution + - JDK-8274505: Too weak variable type leads to unnecessary cast in java.desktop + - JDK-8276763: java/nio/channels/SocketChannel/AdaptorStreams.java fails with "SocketTimeoutException: Read timed out" + - JDK-8278527: java/util/concurrent/tck/JSR166TestCase.java fails nanoTime test + - JDK-8280131: jcmd reports "Module jdk.jfr not found." when "jdk.management.jfr" is missing + - JDK-8281379: Assign package declarations to all jtreg test cases under gc + - JDK-8282578: AIOOBE in javax.sound.sampled.Clip + - JDK-8283214: [macos] Screen magnifier does not show the magnified text for JComboBox + - JDK-8283222: improve diagnosability of runtime/8176717/TestInheritFD.java timeouts + - JDK-8284291: sun/security/krb5/auto/Renew.java fails intermittently on Windows 11 + - JDK-8284874: Add comment to ProcessHandle/OnExitTest to describe zombie problem + - JDK-8286160: (fs) Files.exists returns unexpected results with C:\pagefile.sys because it's not readable + - JDK-8287003: InputStreamReader::read() can return zero despite writing a char in the buffer + - JDK-8288976: classfile parser 'wrong name' error message has the names the wrong way around + - JDK-8289184: runtime/ClassUnload/DictionaryDependsTest.java failed with "Test failed: should be unloaded" + - JDK-8290023: Remove use of IgnoreUnrecognizedVMOptions in gc tests + - JDK-8290269: gc/shenandoah/TestVerifyJCStress.java fails due to invalid tag: required after JDK-8290023 + - JDK-8292309: Fix java/awt/PrintJob/ConstrainedPrintingTest/ConstrainedPrintingTest.java test + - JDK-8293061: Combine CDSOptions and AppCDSOptions test utility classes + - JDK-8293877: Rewrite MineField test + - JDK-8294193: Files.createDirectories throws FileAlreadyExistsException for a symbolic link whose target is an existing directory + - JDK-8294726: Update URLs in minefield tests + - JDK-8295239: Refactor java/util/Formatter/Basic script into a Java native test launcher + - JDK-8295344: Harden runtime/StackGuardPages/TestStackGuardPages.java + - JDK-8295859: Update Manual Test Groups + - JDK-8296709: WARNING: JNI call made without checking exceptions + - JDK-8296718: Refactor bootstrap Test Common Functionalities to test/lib/Utils + - JDK-8296787: Unify debug printing format of X.509 cert serial numbers + - JDK-8296972: [macos13] java/awt/Frame/MaximizedToIconified/MaximizedToIconified.java: getExtendedState() != 6 as expected. + - JDK-8298513: vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy009/TestDescription.java fails with usage tracker + - JDK-8300416: java.security.MessageDigestSpi clone can result in thread-unsafe clones + - JDK-8301379: Verify TLS_ECDH_* cipher suites cannot be negotiated + - JDK-8302225: SunJCE Provider doesn't validate key sizes when using 'constrained' transforms for AES/KW and AES/KWP + - JDK-8303697: ProcessTools doesn't print last line of process output + - JDK-8303705: Field sleeper.started should be volatile JdbLockTestTarg.java + - JDK-8303742: CompletableFuture.orTimeout leaks if the future completes exceptionally + - JDK-8304020: Speed up test/jdk/java/util/zip/ZipFile/TestTooManyEntries.java and clarify its purpose + - JDK-8304557: java/util/concurrent/CompletableFuture/CompletableFutureOrTimeoutExceptionallyTest.java times out + - JDK-8306015: Update sun.security.ssl TLS tests to use SSLContextTemplate or SSLEngineTemplate + - JDK-8307297: Move some DnD tests to open + - JDK-8307408: Some jdk/sun/tools/jhsdb tests don't pass test JVM args to the debuggee JVM + - JDK-8309109: AArch64: [TESTBUG] compiler/intrinsics/sha/cli/TestUseSHA3IntrinsicsOptionOnSupportedCPU.java fails on Neoverse N2 and V1 + - JDK-8309303: jdk/internal/misc/VM/RuntimeArguments test ignores jdk/internal/vm/options + - JDK-8309532: java/lang/Class/getDeclaredField/FieldSetAccessibleTest should filter modules that depend on JVMCI + - JDK-8310072: JComboBox/DisabledComboBoxFontTestAuto: Enabled and disabled ComboBox does not match in these LAFs: GTK+ + - JDK-8310731: Configure a javax.net.ssl.SNIMatcher for the HTTP/1.1 test servers in java/net/httpclient tests + - JDK-8312111: open/test/jdk/java/awt/Robot/ModifierRobotKey/ModifierRobotKeyTest.java fails on ubuntu 23.04 + - JDK-8313374: --enable-ccache's CCACHE_BASEDIR breaks builds + - JDK-8313638: Add test for dump of resolved references + - JDK-8313854: Some tests in serviceability area fail on localized Windows platform + - JDK-8313878: Exclude two compiler/rtm/locking tests on ppc64le + - JDK-8314333: Update com/sun/jdi/ProcessAttachTest.java to use ProcessTools.createTestJvm(..) + - JDK-8314824: Fix serviceability/jvmti/8036666/GetObjectLockCount.java to use vm flags + - JDK-8314829: serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java ignores vm flags + - JDK-8314831: NMT tests ignore vm flags + - JDK-8315097: Rename createJavaProcessBuilder + - JDK-8315406: [REDO] serviceability/jdwp/AllModulesCommandTest.java ignores VM flags + - JDK-8315988: Parallel: Make TestAggressiveHeap use createTestJvm + - JDK-8316410: GC: Make TestCompressedClassFlags use createTestJvm + - JDK-8316446: 4 sun/management/jdp tests ignore VM flags + - JDK-8316447: 8 sun/management/jmxremote tests ignore VM flags + - JDK-8316464: 3 sun/tools tests ignore VM flags + - JDK-8316562: serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java times out after JDK-8314829 + - JDK-8316581: Improve performance of Symbol::print_value_on() + - JDK-8317042: G1: Make TestG1ConcMarkStepDurationMillis use createTestJvm + - JDK-8317116: Provide layouts for multiple test UI in PassFailJFrame + - JDK-8317188: G1: Make TestG1ConcRefinementThreads use createTestJvm + - JDK-8317218: G1: Make TestG1HeapRegionSize use createTestJvm + - JDK-8317347: Parallel: Make TestInitialTenuringThreshold use createTestJvm + - JDK-8317738: CodeCacheFullCountTest failed with "VirtualMachineError: Out of space in CodeCache for method handle intrinsic" + - JDK-8318964: Fix build failures caused by 8315097 + - JDK-8319574: Exec/process tests should be marked as flagless + - JDK-8319640: ClassicFormat::parseObject (from DateTimeFormatter) does not conform to the javadoc and may leak DateTimeException + - JDK-8319651: Several network tests ignore vm flags when start java process + - JDK-8319817: Charset constructor should make defensive copy of aliases + - JDK-8320586: update manual test/jdk/TEST.groups + - JDK-8320665: update jdk_core at open/test/jdk/TEST.groups + - JDK-8320673: PageFormat/CustomPaper.java has no Pass/Fail buttons; multiple instructions + - JDK-8320675: PrinterJob/SecurityDialogTest.java hangs + - JDK-8321163: [test] OutputAnalyzer.getExitValue() unnecessarily logs even when process has already completed + - JDK-8321299: runtime/logging/ClassLoadUnloadTest.java doesn't reliably trigger class unloading + - JDK-8321470: ThreadLocal.nextHashCode can be static final + - JDK-8321543: Update NSS to version 3.96 + - JDK-8321616: Retire binary test vectors in test/jdk/java/util/zip/ZipFile + - JDK-8322754: click JComboBox when dialog about to close causes IllegalComponentStateException + - JDK-8322766: Micro bench SSLHandshake should use default algorithms + - JDK-8322809: SystemModulesMap::classNames and moduleNames arrays do not match the order + - JDK-8322830: Add test case for ZipFile opening a ZIP with no entries + - JDK-8323562: SaslInputStream.read() may return wrong value + - JDK-8323688: C2: Fix UB of jlong overflow in PhaseIdealLoop::is_counted_loop() + - JDK-8324808: Manual printer tests have no Pass/Fail buttons, instructions close set 3 + - JDK-8324841: PKCS11 tests still skip execution + - JDK-8325038: runtime/cds/appcds/ProhibitedPackage.java can fail with UseLargePages + - JDK-8325525: Create jtreg test case for JDK-8325203 + - JDK-8325587: Shenandoah: ShenandoahLock should allow blocking in VM + - JDK-8325610: CTW: Add StressIncrementalInlining to stress options + - JDK-8325616: JFR ZGC Allocation Stall events should record stack traces + - JDK-8325762: Use PassFailJFrame.Builder.splitUI() in PrintLatinCJKTest.java + - JDK-8325851: Hide PassFailJFrame.Builder constructor + - JDK-8326100: DeflaterDictionaryTests should use Deflater.getBytesWritten instead of Deflater.getTotalOut + - JDK-8326121: vmTestbase/gc/g1/unloading/tests/unloading_keepRef_rootClass_inMemoryCompilation_keep_cl failed with Full gc happened. Test was useless. + - JDK-8326611: Clean up vmTestbase/nsk/stress/stack tests + - JDK-8326898: NSK tests should listen on loopback addresses only + - JDK-8326948: Force English locale for timeout formatting + - JDK-8327401: Some jtreg tests fail on Wayland without any tracking bug + - JDK-8327474: Review use of java.io.tmpdir in jdk tests + - JDK-8327924: Simplify TrayIconScalingTest.java + - JDK-8328021: Convert applet test java/awt/List/SetFontTest/SetFontTest.html to main program + - JDK-8328242: Add a log area to the PassFailJFrame + - JDK-8328303: 3 JDI tests timed out with UT enabled + - JDK-8328379: Convert URLDragTest.html applet test to main + - JDK-8328402: Implement pausing functionality for the PassFailJFrame + - JDK-8328619: sun/management/jmxremote/bootstrap/SSLConfigFilePermissionTest.java failed with BindException: Address already in use + - JDK-8328697: SubMenuShowTest and SwallowKeyEvents tests stabilization + - JDK-8328723: IP Address error when client enables HTTPS endpoint check on server socket + - JDK-8328957: Update PKCS11Test.java to not use hardcoded path + - JDK-8330045: Enhance array handling + - JDK-8330278: Have SSLSocketTemplate.doClientSide use loopback address + - JDK-8330464: hserr generic events - add entry for the before_exit calls + - JDK-8330621: Make 5 compiler tests use ProcessTools.executeProcess + - JDK-8330814: Cleanups for KeepAliveCache tests + - JDK-8331142: Add test for number of loader threads in BasicDirectoryModel + - JDK-8331391: Enhance the keytool code by invoking the buildTrustedCerts method for essential options + - JDK-8331405: Shenandoah: Optimize ShenandoahLock with TTAS + - JDK-8331411: Shenandoah: Reconsider spinning duration in ShenandoahLock + - JDK-8331495: Limit BasicDirectoryModel/LoaderThreadCount.java to Windows only + - JDK-8331626: unsafe.cpp:162:38: runtime error in index_oop_from_field_offset_long - applying non-zero offset 4563897424 to null pointer + - JDK-8331789: ubsan: deoptimization.cpp:403:29: runtime error: load of value 208, which is not a valid value for type 'bool' + - JDK-8331863: DUIterator_Fast used before it is constructed + - JDK-8331864: Update Public Suffix List to 1cbd6e7 + - JDK-8331999: BasicDirectoryModel/LoaderThreadCount.java frequently fails on Windows in CI + - JDK-8332340: Add JavacBench as a test case for CDS + - JDK-8332473: ubsan: growableArray.hpp:290:10: runtime error: null pointer passed as argument 1, which is declared to never be null + - 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 + - JDK-8332720: ubsan: instanceKlass.cpp:3550:76: runtime error: member call on null pointer of type 'struct Array' + - JDK-8332724: x86 MacroAssembler may over-align code + - JDK-8332777: Update JCStress test suite + - JDK-8332825: ubsan: guardedMemory.cpp:35:11: runtime error: null pointer passed as argument 2, which is declared to never be null + - JDK-8332866: Crash in ImageIO JPEG decoding when MEM_STATS in enabled + - JDK-8332901: Select{Current,New}ItemTest.java for Choice don't open popup on macOS + - JDK-8332903: ubsan: opto/output.cpp:1002:18: runtime error: load of value 171, which is not a valid value for type 'bool' + - JDK-8332904: ubsan ppc64le: c1_LIRGenerator_ppc.cpp:581:21: runtime error: signed integer overflow: 9223372036854775807 + 1 cannot be represented in type 'long int' + - JDK-8332935: Crash: assert(*lastPtr != 0) failed: Mismatched JNINativeInterface tables, check for new entries + - JDK-8333317: Test sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java failed with: Invalid ECDH ServerKeyExchange signature + - JDK-8333824: Unused ClassValue in VarHandles + - JDK-8334057: JLinkReproducibleTest.java support receive test.tool.vm.opts + - JDK-8334405: java/nio/channels/Selector/SelectWithConsumer.java#id0 failed in testWakeupDuringSelect + - JDK-8334562: Automate com/sun/security/auth/callback/TextCallbackHandler/Default.java test + - JDK-8334567: [test] runtime/os/TestTracePageSizes move ppc handling + - JDK-8335142: compiler/c1/TestTraceLinearScanLevel.java occasionally times out with -Xcomp + - JDK-8335267: [XWayland] move screencast tokens from .awt to .java folder + - JDK-8335344: test/jdk/sun/security/tools/keytool/NssTest.java fails to compile + - JDK-8335428: Enhanced Building of Processes + - JDK-8335449: runtime/cds/DeterministicDump.java fails with File content different at byte ... + - JDK-8335493: check_gc_overhead_limit should reset SoftRefPolicy::_should_clear_all_soft_refs + - JDK-8335530: Java file extension missing in AuthenticatorTest + - JDK-8335709: C2: assert(!loop->is_member(get_loop(useblock))) failed: must be outside loop + - JDK-8335904: Fix invalid comment in ShenandoahLock + - JDK-8335912, JDK-8337499: Add an operation mode to the jar command when extracting to not overwriting existing files + - JDK-8336240: Test com/sun/crypto/provider/Cipher/DES/PerformanceTest.java fails with java.lang.ArithmeticException + - JDK-8336257: Additional tests in jmxremote/startstop to match on PID not app name + - JDK-8336315: tools/jpackage/windows/WinChildProcessTest.java Failed: Check is calculator process is alive + - JDK-8336342: Fix known X11 library locations in sysroot + - JDK-8336343: Add more known sysroot library locations for ALSA + - JDK-8336413: gtk headers : Fix typedef redeclaration of GMainContext and GdkPixbuf + - JDK-8336564: Enhance mask blit functionality redux + - JDK-8336854: CAInterop.java#actalisauthenticationrootca conflicted with /manual and /timeout + - JDK-8337066: Repeated call of StringBuffer.reverse with double byte string returns wrong result + - JDK-8337320: Update ProblemList.txt with tests known to fail on XWayland + - JDK-8337410: The makefiles should set problemlist and adjust timeout basing on the given VM flags + - JDK-8337780: RISC-V: C2: Change C calling convention for sp to NS + - JDK-8337810: ProblemList BasicDirectoryModel/LoaderThreadCount.java on Windows + - JDK-8337851: Some tests have name which confuse jtreg + - JDK-8337966: (fs) Files.readAttributes fails with Operation not permitted on older docker releases + - JDK-8338058: map_or_reserve_memory_aligned Windows enhance remap assertion + - JDK-8338101: remove old remap assertion in map_or_reserve_memory_aligned after JDK-8338058 + - JDK-8338109: java/awt/Mouse/EnterExitEvents/ResizingFrameTest.java duplicate in ProblemList + - JDK-8338286: GHA: Demote x86_32 to hotspot build only + - JDK-8338380: Update TLSCommon/interop/AbstractServer to specify an interface to listen for connections + - JDK-8338402: GHA: some of bundles may not get removed + - JDK-8338748: [17u,21u] Test Disconnect.java compile error: cannot find symbol after JDK-8299813 + - JDK-8338751: ConfigureNotify behavior has changed in KWin 6.2 + - JDK-8338759: Add extra diagnostic to java/net/InetAddress/ptr/Lookup.java + - JDK-8339081: Bump update version for OpenJDK: jdk-17.0.14 + - JDK-8339180: Enhanced Building of Processes: Follow-on Issue + - JDK-8339248: RISC-V: Remove li64 macro assembler routine and related code + - JDK-8339384: Unintentional IOException in jdk.jdi module when JDWP end of stream occurs + - JDK-8339470: [17u] More defensive fix for 8163921 + - JDK-8339487: ProcessHandleImpl os_getChildren sysctl call - retry in case of ENOMEM and enhance exception message + - JDK-8339548: GHA: RISC-V: Use Debian snapshot archive for bootstrap + - JDK-8339560: Unaddressed comments during code review of JDK-8337664 + - JDK-8339591: Mark jdk/jshell/ExceptionMessageTest.java intermittent + - JDK-8339637: (tz) Update Timezone Data to 2024b + - JDK-8339644: Improve parsing of Day/Month in tzdata rules + - JDK-8339731: java.desktop/share/classes/javax/swing/text/html/default.css typo in margin settings + - JDK-8339741: RISC-V: C ABI breakage for integer on stack + - JDK-8339787: Add some additional diagnostic output to java/net/ipv6tests/UdpTest.java + - JDK-8339803: Acknowledge case insensitive unambiguous keywords in tzdata files + - JDK-8339892: Several security shell tests don't set TESTJAVAOPTS + - JDK-8339931: Update problem list for WindowUpdateFocusabilityTest.java + - JDK-8340007: Refactor KeyEvent/FunctionKeyTest.java + - JDK-8340008: KeyEvent/KeyTyped/Numpad1KeyTyped.java has 15 seconds timeout + - JDK-8340210: Add positionTestUI() to PassFailJFrame.Builder + - JDK-8340230: Tests crash: assert(is_in_encoding_range || k->is_interface() || k->is_abstract()) failed: sanity + - JDK-8340306: Add border around instructions in PassFailJFrame + - JDK-8340308: PassFailJFrame: Make rows default to number of lines in instructions + - JDK-8340365: Position the first window of a window list + - JDK-8340387: Update OS detection code to recognize Windows Server 2025 + - JDK-8340418: GHA: MacOS AArch64 bundles can be removed prematurely + - JDK-8340461: Amend description for logArea + - JDK-8340466: Add description for PassFailJFrame constructors + - JDK-8340552: Harden TzdbZoneRulesCompiler against missing zone names + - JDK-8340632: ProblemList java/nio/channels/DatagramChannel/ for Macos + - JDK-8340657: [PPC64] SA determines wrong unextendedSP + - JDK-8340684: Reading from an input stream backed by a closed ZipFile has no test coverage + - JDK-8340785: Update description of PassFailJFrame and samples + - JDK-8340799: Add border inside instruction frame in PassFailJFrame + - JDK-8340812: LambdaForm customization via MethodHandle::updateForm is not thread safe + - JDK-8340815: Add SECURITY.md file + - JDK-8340899: Remove wildcard bound in PositionWindows.positionTestWindows + - JDK-8341146: RISC-V: Unnecessary fences used for load-acquire in template interpreter + - JDK-8341235: Improve default instruction frame title in PassFailJFrame + - JDK-8341562: RISC-V: Generate comments in -XX:+PrintInterpreter to link to source code + - JDK-8341635: [17u] runtime/ErrorHandling/ClassPathEnvVar test ignores external VM flags + - JDK-8341688: Aarch64: Generate comments in -XX:+PrintInterpreter to link to source code + - JDK-8341806: Gcc version detection failure on Alinux3 + - JDK-8341927: Replace hardcoded security providers with new test.provider.name system property + - JDK-8341997: Tests create files in src tree instead of scratch dir + - JDK-8342181: Update tests to use stronger Key and Salt size + - JDK-8342183: Update tests to use stronger algorithms and keys + - JDK-8342188: Update tests to use stronger key parameters and certificates + - JDK-8342496: C2/Shenandoah: SEGV in compiled code when running jcstress + - JDK-8342578: GHA: RISC-V: Bootstrap using Debian snapshot is still failing + - JDK-8342669: [21u] Fix TestArrayAllocatorMallocLimit after backport of JDK-8315097 + - JDK-8342681: TestLoadBypassesNullCheck.java fails improperly specified VM option + - JDK-8342701: [PPC64] TestOSRLotsOfLocals.java crashes + - JDK-8342962: [s390x] TestOSRLotsOfLocals.java crashes + - JDK-8343285: java.lang.Process is unresponsive and CPU usage spikes to 100% + - JDK-8343474: [updates] Customize README.md to specifics of update project + - JDK-8343687: [17u] TestAntiDependencyForPinnedLoads requires UTF-8 + - JDK-8343848: Fix typo of property name in TestOAEPPadding after 8341927 + - JDK-8343877: Test AsyncClose.java intermittent fails - Socket.getInputStream().read() wasn't preempted + - JDK-8343923: GHA: Switch to Xcode 15 on MacOS AArch64 runners + - JDK-8347011: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.14 + +Notes on individual issues: +=========================== + +tools/javac: + +JDK-8273914: Indy string concat changes order of operations +=========================================================== +The implementation of JEP-280, "Indify String Concatenation", in +OpenJDK 9's javac compiler introduced a regression in the order in +which string concatenation expressions are evaluated. Section 15.7.1 +in the Java Language Specification (JLS) requires the operands to be +fully evaluated in left-to-right order. The conversion to using +invokedynamic calls for this evaluation caused all operands to be +evaluated and then separately converted to strings. This release +resolves the regression by eagerly converting each argument to a +string after evaluation. + +As an example, consider the following code: + +StringBuilder builder = new StringBuilder("foo"); +return "" + builder + builder.append("bar"); + +The third argument of the concatenation has the side-effect of +altering the value of builder to be "foobar". If the arguments are +evaluated eagerly, the concatenation becomes "" + "foo" + "foobar", +resulting in "foofoobar" as the output. This is the result when +compiled with a version of javac prior to OpenJDK 9 or when running +javac with the -XDstringConcat=inline command line option to use the +previous concatenation approach. + +If the JEP-280 string concatenation option (the default) is used to +compile the code with versions of OpenJDK which suffer from the +regression (which was first resolved in OpenJDK 19), the second +argument is not converted to a string until after the builder.append +method has altered the StringBuilder object. The concatenation +wrongly becomes "" + "foobar" + "foobar", resulting in "foobarfoobar" +as the output. + +core-libs/java.util.jar: + +JDK-8335912/JDK-8337499: Add an operation mode to the jar command when extracting to not overwriting existing files +=================================================================================================================== +In previous OpenJDK releases, when the jar tool extracted files from +an archive, it would overwrite any existing files with the same name +in the target directory. With this release, a new option ('-k' or +'--keep-old-files') may be specified so that existing files are not +overwritten. + +The option may be specified in short or long option form, as in the +following examples: + +* jar xkf foo.jar +* jar --extract --keep-old-files --file foo.jar + +By default, the old behaviour remains in place and files will be +overwritten. + +core-libs/java.time: + +JDK-8339637: (tz) Update Timezone Data to 2024b +=============================================== +This OpenJDK release upgrades the in-tree copy of the IANA timezone +database to 2024b. This timezone update is primarily concerned with +improving historical data for Mexico, Monogolia and Portugal. It also +makes Asia/Choibalsan an alias for Asia/Ulaanbaatar and makes the MET +timezone the same as CET. + +The 2024b update also makes a number of legacy timezone IDs equal to +geographical names rather than fixed offsets, as follows: + +* EST => America/Panama instead of -5:00 +* MST => America/Phoenix instead of -7:00 +* HST => Pacific/Honolulu instead of -10:00 + +For long term support releases of OpenJDK, this change is overridden +locally to retain the existing fixed offset mapping. + +New in release OpenJDK 17.0.13 (2024-10-15): +============================================ +Live versions of these release notes can be found at: + * https://bit.ly/openjdk17013 + +* CVEs + - CVE-2024-21208 + - CVE-2024-21210 + - CVE-2024-21217 + - CVE-2024-21235 +* Security fixes + - JDK-8290367, JDK-8332643: Update default value and extend the scope of com.sun.jndi.ldap.object.trustSerialData system property + - JDK-8307383: Enhance DTLS connections + - JDK-8328286: Enhance HTTP client + - JDK-8328544: Improve handling of vectorization + - JDK-8328726: Better Kerberos support + - JDK-8331446: Improve deserialization support + - JDK-8332644: Improve graph optimizations + - JDK-8335713: Enhance vectorization analysis +* Other changes + - JDK-7022325: TEST_BUG: test/java/util/zip/ZipFile/ReadLongZipFileName.java leaks files if it fails + - JDK-7026262: HttpServer: improve handling of finished HTTP exchanges + - JDK-7124313: [macosx] Swing Popups should overlap taskbar + - JDK-8005885: enhance PrintCodeCache to print more data + - JDK-8051959: Add thread and timestamp options to java.security.debug system property + - JDK-8170817: G1: Returning MinTLABSize from unsafe_max_tlab_alloc causes TLAB flapping + - JDK-8183227: read/write APIs in class os shall return ssize_t + - JDK-8193547: Regression automated test '/open/test/jdk/java/awt/Toolkit/DesktopProperties/rfe4758438.java' fails + - JDK-8222884: ConcurrentClassDescLookup.java times out intermittently + - JDK-8233725: ProcessTools.startProcess() has output issues when using an OutputAnalyzer at the same time + - JDK-8238169: BasicDirectoryModel getDirectories and DoChangeContents.run can deadlock + - JDK-8241550: [macOS] SSLSocketImpl/ReuseAddr.java failed due to "BindException: Address already in use" + - JDK-8255898: Test java/awt/FileDialog/FilenameFilterTest/FilenameFilterTest.java fails on Mac OS + - JDK-8256291: RunThese30M fails "assert(_class_unload ? true : ((((JfrTraceIdBits::load(class_loader_klass)) & ((1 << 4) << 8)) != 0))) failed: invariant" + - JDK-8257540: javax/swing/JFileChooser/8041694/bug8041694.java failed with "RuntimeException: The selected directory name is not the expected 'd ' but 'D '." + - JDK-8259866: two java.util tests failed with "IOException: There is not enough space on the disk" + - JDK-8260633: [macos] java/awt/dnd/MouseEventAfterStartDragTest/MouseEventAfterStartDragTest.html test failed + - JDK-8261433: Better pkcs11 performance for libpkcs11:C_EncryptInit/libpkcs11:C_DecryptInit + - JDK-8263031: HttpClient throws Exception if it receives a Push Promise that is too large + - JDK-8265919: RunThese30M fails "assert((!(((((JfrTraceIdBits::load(value)) & ((1 << 4) << 8)) != 0))))) failed: invariant" + - JDK-8269428: java/util/concurrent/ConcurrentHashMap/ToArray.java timed out + - JDK-8269657: Test java/nio/channels/DatagramChannel/Loopback.java failed: Unexpected message + - JDK-8272232: javax/swing/JTable/4275046/bug4275046.java failed with "Expected value in the cell: 'rededited' but found 'redEDITED'." + - JDK-8272558: IR Test Framework README misses some flags + - JDK-8272777: Clean up remaining AccessController warnings in test library + - JDK-8273216: JCMD does not work across container boundaries with Podman + - JDK-8273430: Suspicious duplicate condition in java.util.regex.Grapheme#isExcludedSpacingMark + - JDK-8273541: Cleaner Thread creates with normal priority instead of MAX_PRIORITY - 2 + - JDK-8275851: Deproblemlist open/test/jdk/javax/swing/JComponent/6683775/bug6683775.java + - JDK-8276660: Scalability bottleneck in java.security.Provider.getService() + - JDK-8277042: add test for 8276036 to compiler/codecache + - JDK-8279068: IGV: Update to work with JDK 16 and 17 + - JDK-8279164: Disable TLS_ECDH_* cipher suites + - JDK-8279222: Incorrect legacyMap.get in java.security.Provider after JDK-8276660 + - JDK-8279337: The MToolkit is still referenced in a few places + - JDK-8279641: Create manual JTReg tests for Swing accessibility + - JDK-8279878: java/awt/font/JNICheck/JNICheck.sh test fails on Ubuntu 21.10 + - JDK-8280034: ProblemList jdk/jfr/api/consumer/recordingstream/TestOnEvent.java on linux-x64 + - JDK-8280392: java/awt/Focus/NonFocusableWindowTest/NonfocusableOwnerTest.java failed with "RuntimeException: Test failed." + - JDK-8280970: Cleanup dead code in java.security.Provider + - JDK-8280982: [Wayland] [XWayland] java.awt.Robot taking screenshots + - JDK-8280988: [XWayland] Click on title to request focus test failures + - JDK-8280990: [XWayland] XTest emulated mouse click does not bring window to front + - JDK-8280993: [XWayland] Popup is not closed on click outside of area controlled by XWayland + - JDK-8280994: [XWayland] Drag and Drop does not work in java -> wayland app direction + - JDK-8281944: JavaDoc throws java.lang.IllegalStateException: ERRONEOUS + - JDK-8282354: Remove dependancy of TestHttpServer, HttpTransaction, HttpCallback from open/test/jdk/ tests + - JDK-8282526: Default icon is not painted properly + - JDK-8283728: jdk.hotspot.agent: Wrong location for RISCV64ThreadContext.java + - JDK-8284316: Support accessibility ManualTestFrame.java for non SwingSet tests + - JDK-8284585: PushPromiseContinuation test fails intermittently in timeout + - JDK-8285497: Add system property for Java SE specification maintenance version + - JDK-8288568: Reduce runtime of java.security microbenchmarks + - JDK-8289182: NMT: MemTracker::baseline should return void + - JDK-8290966: G1: Record number of PLAB filled and number of direct allocations + - JDK-8291760: PipelineLeaksFD.java still fails: More or fewer pipes than expected + - JDK-8292044: HttpClient doesn't handle 102 or 103 properly + - JDK-8292739: Invalid legacy entries may be returned by Provider.getServices() call + - JDK-8292948: JEditorPane ignores font-size styles in external linked css-file + - JDK-8293862: javax/swing/JFileChooser/8046391/bug8046391.java failed with 'Cannot invoke "java.awt.Image.getWidth(java.awt.image.ImageObserver)" because "retVal" is null' + - JDK-8293872: Make runtime/Thread/ThreadCountLimit.java more robust + - JDK-8294148: Support JSplitPane for instructions and test UI + - JDK-8294691: dynamicArchive/RelativePath.java is running other test case + - JDK-8294994: Update Jarsigner and Keytool i18n tests to validate i18n compliance + - JDK-8295111: dpkg appears to have problems resolving symbolically linked native libraries + - JDK-8296410: HttpClient throws java.io.IOException: no statuscode in response for HTTP2 + - JDK-8296812: sprintf is deprecated in Xcode 14 + - JDK-8297878: KEM: Implementation + - JDK-8298381: Improve handling of session tickets for multiple SSLContexts + - JDK-8298596: vmTestbase/nsk/sysdict/vm/stress/chain/chain008/chain008.java fails with "NoClassDefFoundError: Could not initialize class java.util.concurrent.ThreadLocalRandom" + - JDK-8298809: Clean up vm/compiler/InterfaceCalls JMH + - JDK-8299058: AssertionError in sun.net.httpserver.ServerImpl when connection is idle + - JDK-8299254: Support dealing with standard assert macro + - JDK-8299378: sprintf is deprecated in Xcode 14 + - JDK-8299395: Remove metaprogramming/removeCV.hpp + - JDK-8299396: Remove metaprogramming/removeExtent.hpp + - JDK-8299397: Remove metaprogramming/isFloatingPoint.hpp + - JDK-8299398: Remove metaprogramming/isConst.hpp + - JDK-8299399: Remove metaprogramming/isArray.hpp + - JDK-8299402: Remove metaprogramming/isVolatile.hpp + - JDK-8299479: Remove metaprogramming/decay.hpp + - JDK-8299481: Remove metaprogramming/removePointer.hpp + - JDK-8299482: Remove metaprogramming/isIntegral.hpp + - JDK-8299487: Test java/net/httpclient/whitebox/SSLTubeTestDriver.java timed out + - JDK-8299635: Hotspot update for deprecated sprintf in Xcode 14 + - JDK-8299779: Test tools/jpackage/share/jdk/jpackage/tests/MainClassTest.java timed out + - JDK-8299813: java/nio/channels/DatagramChannel/Disconnect.java fails with jtreg test timeout due to lost datagram + - JDK-8299971: Remove metaprogramming/conditional.hpp + - JDK-8299972: Remove metaprogramming/removeReference.hpp + - JDK-8300169: Build failure with clang-15 + - JDK-8300260: Remove metaprogramming/isSame.hpp + - JDK-8300264: Remove metaprogramming/isPointer.hpp + - JDK-8300265: Remove metaprogramming/isSigned.hpp + - JDK-8300806: Update googletest to v1.13.0 + - JDK-8300910: Remove metaprogramming/integralConstant.hpp + - JDK-8301132: Test update for deprecated sprintf in Xcode 14 + - JDK-8301200: Don't scale timeout stress with timeout factor + - JDK-8301274: update for deprecated sprintf for security components + - JDK-8301279: update for deprecated sprintf for management components + - JDK-8301686: TLS 1.3 handshake fails if server_name doesn't match resuming session + - JDK-8301704: Shorten the number of GCs in UnloadingTest.java to verify a class loader not being unloaded + - JDK-8302495: update for deprecated sprintf for java.desktop + - JDK-8302800: Augment NaN handling tests of FDLIBM methods + - JDK-8303216: Prefer ArrayList to LinkedList in sun.net.httpserver.ServerImpl + - JDK-8303466: C2: failed: malformed control flow. Limit type made precise with MaxL/MinL + - JDK-8303527: update for deprecated sprintf for jdk.hotspot.agent + - JDK-8303617: update for deprecated sprintf for jdk.jdwp.agent + - JDK-8303830: update for deprecated sprintf for jdk.accessibility + - JDK-8303891: Speed up Zip64SizeTest using a small ZIP64 file + - JDK-8303920: Avoid calling out to python in DataDescriptorSignatureMissing test + - JDK-8303942: os::write should write completely + - JDK-8303965: java.net.http.HttpClient should reset the stream if response headers contain malformed header fields + - JDK-8304375: jdk/jfr/api/consumer/filestream/TestOrdered.java failed with "Expected at least some events to be out of order! Reuse = false" + - JDK-8304962: sun/net/www/http/KeepAliveCache/B5045306.java: java.lang.RuntimeException: Failed: Initial Keep Alive Connection is not being reused + - JDK-8304963: HttpServer closes connection after processing HEAD after JDK-7026262 + - JDK-8305072: Win32ShellFolder2.compareTo is inconsistent + - JDK-8305079: Remove finalize() from compiler/c2/Test719030 + - JDK-8305081: Remove finalize() from test/hotspot/jtreg/compiler/runtime/Test8168712 + - JDK-8305825: getBounds API returns wrong value resulting in multiple Regression Test Failures on Ubuntu 23.04 + - JDK-8305959: x86: Improve itable_stub + - JDK-8306583: Add JVM crash check in CDSTestUtils.executeAndLog + - JDK-8306929: Avoid CleanClassLoaderDataMetaspaces safepoints when previous versions are shared + - JDK-8306946: jdk/test/lib/process/ProcessToolsStartProcessTest.java fails with "wrong number of lines in OutputAnalyzer output" + - JDK-8307091: A few client tests intermittently throw ConcurrentModificationException + - JDK-8307193: Several Swing jtreg tests use class.forName on L&F classes + - JDK-8307352: AARCH64: Improve itable_stub + - JDK-8307448: Test RedefineSharedClassJFR fail due to wrong assumption + - JDK-8307779: Relax the java.awt.Robot specification + - JDK-8307848: update for deprecated sprintf for jdk.attach + - JDK-8307850: update for deprecated sprintf for jdk.jdi + - JDK-8308022: update for deprecated sprintf for java.base + - JDK-8308144: Uncontrolled memory consumption in SSLFlowDelegate.Reader + - JDK-8308184: Launching java with large number of jars in classpath with java.protocol.handler.pkgs system property set can lead to StackOverflowError + - JDK-8308801: update for deprecated sprintf for libnet in java.base + - JDK-8308891: TestCDSVMCrash.java needs @requires vm.cds + - JDK-8309241: ClassForNameLeak fails intermittently as the class loader hasn't been unloaded + - JDK-8309621: [XWayland][Screencast] screen capture failure with sun.java2d.uiScale other than 1 + - JDK-8309703: AIX build fails after JDK-8280982 + - JDK-8309756: Occasional crashes with pipewire screen capture on Wayland + - JDK-8309934: Update GitHub Actions to use JDK 17 for building jtreg + - JDK-8310070: Test: javax/net/ssl/DTLS/DTLSWontNegotiateV10.java timed out + - JDK-8310108: Skip ReplaceCriticalClassesForSubgraphs when EnableJVMCI is specified + - JDK-8310201: Reduce verbose locale output in -XshowSettings launcher option + - JDK-8310334: [XWayland][Screencast] screen capture error message in debug + - JDK-8310628: GcInfoBuilder.c missing JNI Exception checks + - JDK-8310683: Refactor StandardCharset/standard.java to use JUnit + - JDK-8311208: Improve CDS Support + - JDK-8311666: Disabled tests in test/jdk/sun/java2d/marlin + - JDK-8312049: runtime/logging/ClassLoadUnloadTest can be improved + - JDK-8312140: jdk/jshell tests failed with JDI socket timeouts + - JDK-8312229: Crash involving yield, switch and anonymous classes + - JDK-8313256: Exclude failing multicast tests on AIX + - JDK-8313394: Array Elements in OldObjectSample event has the incorrect description + - JDK-8313674: (fc) java/nio/channels/FileChannel/BlockDeviceSize.java should test for more block devices + - JDK-8313697: [XWayland][Screencast] consequent getPixelColor calls are slow + - JDK-8313873: java/nio/channels/DatagramChannel/SendReceiveMaxSize.java fails on AIX due to small default RCVBUF size and different IPv6 Header interpretation + - JDK-8313901: [TESTBUG] test/hotspot/jtreg/compiler/codecache/CodeCacheFullCountTest.java fails with java.lang.VirtualMachineError + - JDK-8314476: TestJstatdPortAndServer.java failed with "java.rmi.NoSuchObjectException: no such object in table" + - JDK-8314614: jdk/jshell/ImportTest.java failed with "InternalError: Failed remote listen" + - JDK-8314837: 5 compiled/codecache tests ignore VM flags + - JDK-8315024: Vector API FP reduction tests should not test for exact equality + - JDK-8315362: NMT: summary diff reports threads count incorrectly + - JDK-8315422: getSoTimeout() would be in try block in SSLSocketImpl + - JDK-8315437: Enable parallelism in vmTestbase/nsk/monitoring/stress/classload tests + - JDK-8315442: Enable parallelism in vmTestbase/nsk/monitoring/stress/thread tests + - JDK-8315559: Delay TempSymbol cleanup to avoid symbol table churn + - JDK-8315576: compiler/codecache/CodeCacheFullCountTest.java fails after JDK-8314837 + - JDK-8315651: Stop hiding AIX specific multicast socket errors via NetworkConfiguration (aix) + - JDK-8315684: Parallelize sun/security/util/math/TestIntegerModuloP.java + - JDK-8315774: Enable parallelism in vmTestbase/gc/g1/unloading tests + - JDK-8315804: Open source several Swing JTabbedPane JTextArea JTextField tests + - JDK-8315936: Parallelize gc/stress/TestStressG1Humongous.java test + - JDK-8315965: Open source various AWT applet tests + - JDK-8316104: Open source several Swing SplitPane and RadioButton related tests + - JDK-8316193: jdk/jfr/event/oldobject/TestListenerLeak.java java.lang.Exception: Could not find leak + - JDK-8316211: Open source several manual applet tests + - JDK-8316240: Open source several add/remove MenuBar manual tests + - JDK-8316285: Opensource JButton manual tests + - JDK-8316306: Open source and convert manual Swing test + - JDK-8316328: Test jdk/jfr/event/oldobject/TestSanityDefault.java times out for some heap sizes + - JDK-8316387: Exclude more failing multicast tests on AIX after JDK-8315651 + - JDK-8316389: Open source few AWT applet tests + - JDK-8316468: os::write incorrectly handles partial write + - JDK-8316973: GC: Make TestDisableDefaultGC use createTestJvm + - JDK-8317112: Add screenshot for Frame/DefaultSizeTest.java + - JDK-8317228: GC: Make TestXXXHeapSizeFlags use createTestJvm + - JDK-8317288: [macos] java/awt/Window/Grab/GrabTest.java: Press on the outside area didn't cause ungrab + - JDK-8317316: G1: Make TestG1PercentageOptions use createTestJvm + - JDK-8317343: GC: Make TestHeapFreeRatio use createTestJvm + - JDK-8317358: G1: Make TestMaxNewSize use createTestJvm + - JDK-8317360: Missing null checks in JfrCheckpointManager and JfrStringPool initialization routines + - JDK-8317372: Refactor some NumberFormat tests to use JUnit + - JDK-8317635: Improve GetClassFields test to verify correctness of field order + - JDK-8317831: compiler/codecache/CheckLargePages.java fails on OL 8.8 with unexpected memory string + - JDK-8318039: GHA: Bump macOS and Xcode versions + - JDK-8318089: Class space not marked as such with NMT when CDS is off + - JDK-8318474: Fix memory reporter for thread_count + - JDK-8318479: [jmh] the test security.CacheBench failed for multiple threads run + - JDK-8318605: Enable parallelism in vmTestbase/nsk/stress/stack tests + - JDK-8318696: Do not use LFS64 symbols on Linux + - JDK-8318986: Improve GenericWaitBarrier performance + - JDK-8319103: Popups that request focus are not shown on Linux with Wayland + - JDK-8319197: Exclude hb-subset and hb-style from compilation + - JDK-8319406: x86: Shorter movptr(reg, imm) for 32-bit immediates + - JDK-8319713: Parallel: Remove PSAdaptiveSizePolicy::should_full_GC + - JDK-8320079: The ArabicBox.java test has no control buttons + - JDK-8320379: C2: Sort spilling/unspilling sequence for better ld/st merging into ldp/stp on AArch64 + - JDK-8320602: Lock contention in SchemaDVFactory.getInstance() + - JDK-8320608: Many jtreg printing tests are missing the @printer keyword + - JDK-8320655: awt screencast robot spin and sync issues with native libpipewire api + - JDK-8320692: Null icon returned for .exe without custom icon + - JDK-8320945: problemlist tests failing on latest Windows 11 update + - JDK-8321025: Enable Neoverse N1 optimizations for Neoverse V2 + - JDK-8321176: [Screencast] make a second attempt on screencast failure + - JDK-8321220: JFR: RecordedClass reports incorrect modifiers + - JDK-8322008: Exclude some CDS tests from running with -Xshare:off + - JDK-8322330: JavadocHelperTest.java OOMEs with Parallel GC and ZGC + - JDK-8322726: C2: Unloaded signature class kills argument value + - JDK-8322971: KEM.getInstance() should check if a 3rd-party security provider is signed + - JDK-8323122: AArch64: Increase itable stub size estimate + - JDK-8323584: AArch64: Unnecessary ResourceMark in NativeCall::set_destination_mt_safe + - JDK-8323670: A few client tests intermittently throw ConcurrentModificationException + - JDK-8323801: tag doesn't strikethrough the text + - JDK-8324577: [REDO] - [IMPROVE] OPEN_MAX is no longer the max limit on macOS >= 10.6 for RLIMIT_NOFILE + - JDK-8324646: Avoid Class.forName in SecureRandom constructor + - JDK-8324648: Avoid NoSuchMethodError when instantiating NativePRNG + - JDK-8324668: JDWP process management needs more efficient file descriptor handling + - JDK-8324753: [AIX] adjust os_posix after JDK-8318696 + - JDK-8324755: Enable parallelism in vmTestbase/gc/gctests/LargeObjects tests + - JDK-8324933: ConcurrentHashTable::statistics_calculate synchronization is expensive + - JDK-8325022: Incorrect error message on client authentication + - JDK-8325179: Race in BasicDirectoryModel.validateFileCache + - JDK-8325194: GHA: Add macOS M1 testing + - JDK-8325384: sun/security/ssl/SSLSessionImpl/ResumptionUpdateBoundValues.java failing intermittently when main thread is a virtual thread + - JDK-8325444: GHA: JDK-8325194 causes a regression + - JDK-8325567: jspawnhelper without args fails with segfault + - JDK-8325620: HTMLReader uses ConvertAction instead of specified CharacterAction for , , + - JDK-8325621: Improve jspawnhelper version checks + - JDK-8325754: Dead AbstractQueuedSynchronizer$ConditionNodes survive minor garbage collections + - JDK-8326106: Write and clear stack trace table outside of safepoint + - JDK-8326332: Unclosed inline tags cause misalignment in summary tables + - JDK-8326446: The User and System of jdk.CPULoad on Apple M1 are inaccurate + - JDK-8326734: text-decoration applied to lost when mixed with or + - JDK-8327007: javax/swing/JSpinner/8008657/bug8008657.java fails + - JDK-8327137: Add test for ConcurrentModificationException in BasicDirectoryModel + - JDK-8327312: [17u] Problem list ReflectionCallerCacheTest.java due to 8324978 + - JDK-8327424: ProblemList serviceability/sa/TestJmapCore.java on all platforms with ZGC + - JDK-8327650: Test java/nio/channels/DatagramChannel/StressNativeSignal.java timed out + - JDK-8327787: Convert javax/swing/border/Test4129681.java applet test to main + - JDK-8327840: Automate javax/swing/border/Test4129681.java + - JDK-8328011: Convert java/awt/Frame/GetBoundsResizeTest/GetBoundsResizeTest.java applet test to main + - JDK-8328075: Shenandoah: Avoid forwarding when objects don't move in full-GC + - JDK-8328110: Allow simultaneous use of PassFailJFrame with split UI and additional windows + - JDK-8328115: Convert java/awt/font/TextLayout/TestJustification.html applet test to main + - JDK-8328158: Convert java/awt/Choice/NonFocusablePopupMenuTest to automatic main test + - JDK-8328218: Delete test java/awt/Window/FindOwner/FindOwner.html + - JDK-8328234: Remove unused nativeUtils files + - JDK-8328238: Convert few closed manual applet tests to main + - JDK-8328269: NonFocusablePopupMenuTest.java should be marked as headful + - JDK-8328273: sun/management/jmxremote/bootstrap/RmiRegistrySslTest.java failed with java.rmi.server.ExportException: Port already in use + - JDK-8328560: java/awt/event/MouseEvent/ClickDuringKeypress/ClickDuringKeypress.java imports Applet + - JDK-8328561: test java/awt/Robot/ManualInstructions/ManualInstructions.java isn't used + - JDK-8328642: Convert applet test MouseDraggedOutCauseScrollingTest.html to main + - JDK-8328647: TestGarbageCollectorMXBean.java fails with C1-only and -Xcomp + - JDK-8328896: Fontmetrics for large Fonts has zero width + - JDK-8328953: JEditorPane.read throws ChangedCharSetException + - JDK-8328999: Update GIFlib to 5.2.2 + - JDK-8329004: Update Libpng to 1.6.43 + - JDK-8329103: assert(!thread->in_asgct()) failed during multi-mode profiling + - JDK-8329109: Threads::print_on() tries to print CPU time for terminated GC threads + - JDK-8329126: No native wrappers generated anymore with -XX:-TieredCompilation after JDK-8251462 + - JDK-8329134: Reconsider TLAB zapping + - JDK-8329510: Update ProblemList for JFileChooser/8194044/FileSystemRootTest.java + - JDK-8329559: Test javax/swing/JFrame/bug4419914.java failed because The End and Start buttons are not placed correctly and Tab focus does not move as expected + - JDK-8329605: hs errfile generic events - move memory protections and nmethod flushes to separate sections + - JDK-8329663: hs_err file event log entry for thread adding/removing should print current thread + - JDK-8329667: [macos] Issue with JTree related fix for JDK-8317771 + - JDK-8329995: Restricted access to `/proc` can cause JFR initialization to crash + - JDK-8330063: Upgrade jQuery to 3.7.1 + - JDK-8330524: Linux ppc64le compile warning with clang in os_linux_ppc.cpp + - JDK-8330611: AES-CTR vector intrinsic may read out of bounds (x86_64, AVX-512) + - JDK-8330615: avoid signed integer overflows in zip_util.c readCen / hashN + - JDK-8331011: [XWayland] TokenStorage fails under Security Manager + - JDK-8331063: Some HttpClient tests don't report leaks + - JDK-8331077: nroff man page update for jar tool + - JDK-8331164: createJMHBundle.sh download jars fail when url needed to be redirected + - JDK-8331265: Bump update version for OpenJDK: jdk-17.0.13 + - JDK-8331331: :tier1 target explanation in doc/testing.md is incorrect + - JDK-8331466: Problemlist serviceability/dcmd/gc/RunFinalizationTest.java on generic-all + - JDK-8331605: jdk/test/lib/TestMutuallyExclusivePlatformPredicates.java test failure + - JDK-8331746: Create a test to verify that the cmm id is not ignored + - JDK-8331798: Remove unused arg of checkErgonomics() in TestMaxHeapSizeTools.java + - JDK-8331885: C2: meet between unloaded and speculative types is not symmetric + - JDK-8332008: Enable issuestitle check + - JDK-8332113: Update nsk.share.Log to be always verbose + - JDK-8332174: Remove 2 (unpaired) RLO Unicode characters in ff_Adlm.xml + - JDK-8332248: (fc) java/nio/channels/FileChannel/BlockDeviceSize.java failed with RuntimeException + - JDK-8332424: Update IANA Language Subtag Registry to Version 2024-05-16 + - JDK-8332524: Instead of printing "TLSv1.3," it is showing "TLS13" + - JDK-8332898: failure_handler: log directory of commands + - JDK-8332936: Test vmTestbase/metaspace/gc/watermark_70_80/TestDescription.java fails with no GC's recorded + - JDK-8333270: HandlersOnComplexResetUpdate and HandlersOnComplexUpdate tests fail with "Unexpected reference" if timeoutFactor is less than 1/3 + - JDK-8333353: Delete extra empty line in CodeBlob.java + - JDK-8333398: Uncomment the commented test in test/jdk/java/util/jar/JarFile/mrjar/MultiReleaseJarAPI.java + - JDK-8333477: Delete extra empty spaces in Makefiles + - JDK-8333698: [17u] TestJstatdRmiPort fails after JDK-8333667 + - JDK-8333716: Shenandoah: Check for disarmed method before taking the nmethod lock + - JDK-8333724: Problem list security/infra/java/security/cert/CertPathValidator/certification/CAInterop.java#teliasonerarootcav1 + - JDK-8333804: java/net/httpclient/ForbiddenHeadTest.java threw an exception with 0 failures + - JDK-8334166: Enable binary check + - JDK-8334297: (so) java/nio/channels/SocketChannel/OpenLeak.java should not depend on SecurityManager + - JDK-8334332: TestIOException.java fails if run by root + - JDK-8334333: MissingResourceCauseTestRun.java fails if run by root + - JDK-8334335: [TESTBUG] Backport of 8279164 to 11u & 17u includes elements of JDK-8163327 + - JDK-8334339: Test java/nio/file/attribute/BasicFileAttributeView/CreationTime.java fails on alinux3 + - JDK-8334418: Update IANA Language Subtag Registry to Version 2024-06-14 + - JDK-8334482: Shenandoah: Deadlock when safepoint is pending during nmethods iteration + - JDK-8334600: TEST java/net/MulticastSocket/IPMulticastIF.java fails on linux-aarch64 + - JDK-8334653: ISO 4217 Amendment 177 Update + - JDK-8334769: Shenandoah: Move CodeCache_lock close to its use in ShenandoahConcurrentNMethodIterator + - JDK-8335536: Fix assertion failure in IdealGraphPrinter when append is true + - JDK-8335775: Remove extraneous 's' in comment of rawmonitor.cpp test file + - JDK-8335808: update for deprecated sprintf for jfrTypeSetUtils + - JDK-8335918: update for deprecated sprintf for jvmti + - JDK-8335967: "text-decoration: none" does not work with "A" HTML tags + - JDK-8336301: test/jdk/java/nio/channels/AsyncCloseAndInterrupt.java leaves around a FIFO file upon test completion + - JDK-8336928: GHA: Bundle artifacts removal broken + - JDK-8337038: Test java/nio/file/attribute/BasicFileAttributeView/CreationTime.java shoud set as /native + - JDK-8337283: configure.log is truncated when build dir is on different filesystem + - JDK-8337664: Distrust TLS server certificates issued after Oct 2024 and anchored by Entrust Root CAs + - JDK-8337669: [17u] Backport of JDK-8284047 missed to delete a file + - JDK-8338139: {ClassLoading,Memory}MXBean::isVerbose methods are inconsistent with their setVerbose methods + - JDK-8338696: (fs) BasicFileAttributes.creationTime() falls back to epoch if birth time is unavailable (Linux) + - JDK-8339869: [21u] Test CreationTime.java fails with UnsatisfiedLinkError after 8334339 + - JDK-8341057: Add 2 SSL.com TLS roots + - JDK-8341059: Change Entrust TLS distrust date to November 12, 2024 + - JDK-8341673: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.13 + +Notes on individual issues: +=========================== + +tools/jpackage: + +JDK-8295111: dpkg appears to have problems resolving symbolically linked native libraries +========================================================================================= +The jpackage tool uses `dpkg -S` to lookup which package provides a +particular file on Debian and Ubuntu systems. However, on newer Debian +and Ubuntu systems, `dpkg -S` does not resolve symlinks. In this +OpenJDK release, jpackage now resolves symlinks before passing the +real path of the file to dpkg. + +security-libs/javax.net.ssl: + +JDK-8279164: Disable TLS_ECDH_* cipher suites +============================================= +The TLS_ECDH cipher suites do not preserve forward secrecy and are +rarely used in practice. With this release, they are disabled by +adding "ECDH" to the `jdk.tls.disabledAlgorithms` security property in +the `java.security` configuration file. Attempts to use these suites +with this release will result in a `SSLHandshakeException` being +thrown. Note that ECDH cipher suites which use RC4 were already +disabled prior to this change. + +Users can, *at their own risk*, remove this restriction by modifying +the `java.security` configuration file (or override it by using the +`java.security.properties` system property) so "ECDH" is no longer +listed in the `jdk.tls.disabledAlgorithms` security property. + +This change has no effect on TLS_ECDHE cipher suites, which remain +enabled by default. + +JDK-8337664: Distrust TLS server certificates issued after Oct 2024 and anchored by Entrust Root CAs +JDK-8341059: Change Entrust TLS distrust date to November 12, 2024 +==================================================================================================== +In accordance with similar plans recently announced by Google and +Mozilla, the JDK will not trust Transport Layer Security (TLS) +certificates issued after the 11th of November 2024 which are anchored +by Entrust root certificates. This includes certificates branded as +AffirmTrust, which are managed by Entrust. + +Certificates issued on or before November 11th, 2024 will continue to +be trusted until they expire. + +If a server's certificate chain is anchored by an affected +certificate, attempts to negotiate a TLS session will fail with an +Exception that indicates the trust anchor is not trusted. For example, + +"TLS server certificate issued after 2024-11-11 and anchored by a +distrusted legacy Entrust root CA: CN=Entrust.net Certification +Authority (2048), OU=(c) 1999 Entrust.net Limited, +OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), +O=Entrust.net" + +To check whether a certificate in a JDK keystore is affected by this +change, you can the `keytool` utility: + +keytool -v -list -alias -keystore + +If any of the certificates in the chain are affected by this change, +then you will need to update the certificate or contact the +organisation responsible for managing the certificate. + +These restrictions apply to the following Entrust root certificates +included in the JDK: + +Alias name: entrustevca [jdk] +CN=Entrust Root Certification Authority +OU=(c) 2006 Entrust, Inc. +OU=www.entrust.net/CPS is incorporated by reference +O=Entrust, Inc. +C=US +SHA256: 73:C1:76:43:4F:1B:C6:D5:AD:F4:5B:0E:76:E7:27:28:7C:8D:E5:76:16:C1:E6:E6:14:1A:2B:2C:BC:7D:8E:4C + +Alias name: entrustrootcaec1 [jdk] +CN=Entrust Root Certification Authority - EC1 +OU=(c) 2012 Entrust, Inc. - for authorized use only +OU=See www.entrust.net/legal-terms +O=Entrust, Inc. +C=US +SHA256: 02:ED:0E:B2:8C:14:DA:45:16:5C:56:67:91:70:0D:64:51:D7:FB:56:F0:B2:AB:1D:3B:8E:B0:70:E5:6E:DF:F5 + +Alias name: entrustrootcag2 [jdk] +CN=Entrust Root Certification Authority - G2 +OU=(c) 2009 Entrust, Inc. - for authorized use only +OU=See www.entrust.net/legal-terms +O=Entrust, Inc. +C=US +SHA256: 43:DF:57:74:B0:3E:7F:EF:5F:E4:0D:93:1A:7B:ED:F1:BB:2E:6B:42:73:8C:4E:6D:38:41:10:3D:3A:A7:F3:39 + +Alias name: entrustrootcag4 [jdk] +CN=Entrust Root Certification Authority - G4 +OU=(c) 2015 Entrust, Inc. - for authorized use only +OU=See www.entrust.net/legal-terms +O=Entrust, Inc. +C=US +SHA256: DB:35:17:D1:F6:73:2A:2D:5A:B9:7C:53:3E:C7:07:79:EE:32:70:A6:2F:B4:AC:42:38:37:24:60:E6:F0:1E:88 + +Alias name: entrust2048ca [jdk] +CN=Entrust.net Certification Authority (2048) +OU=(c) 1999 Entrust.net Limited +OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.) +O=Entrust.net +SHA256: 6D:C4:71:72:E0:1C:BC:B0:BF:62:58:0D:89:5F:E2:B8:AC:9A:D4:F8:73:80:1E:0C:10:B9:C8:37:D2:1E:B1:77 + +Alias name: affirmtrustcommercialca [jdk] +CN=AffirmTrust Commercial +O=AffirmTrust +C=US +SHA256: 03:76:AB:1D:54:C5:F9:80:3C:E4:B2:E2:01:A0:EE:7E:EF:7B:57:B6:36:E8:A9:3C:9B:8D:48:60:C9:6F:5F:A7 + +Alias name: affirmtrustnetworkingca [jdk] +CN=AffirmTrust Networking +O=AffirmTrust +C=US +SHA256: 0A:81:EC:5A:92:97:77:F1:45:90:4A:F3:8D:5D:50:9F:66:B5:E2:C5:8F:CD:B5:31:05:8B:0E:17:F3:F0B4:1B + +Alias name: affirmtrustpremiumca [jdk] +CN=AffirmTrust Premium +O=AffirmTrust +C=US +SHA256: 70:A7:3F:7F:37:6B:60:07:42:48:90:45:34:B1:14:82:D5:BF:0E:69:8E:CC:49:8D:F5:25:77:EB:F2:E9:3B:9A + +Alias name: affirmtrustpremiumeccca [jdk] +CN=AffirmTrust Premium ECC +O=AffirmTrust +C=US +SHA256: BD:71:FD:F6:DA:97:E4:CF:62:D1:64:7A:DD:25:81:B0:7D:79:AD:F8:39:7E:B4:EC:BA:9C:5E:84:88:82:14:23 + +Users can, *at their own risk*, remove this restriction by modifying +the `java.security` configuration file (or override it by using the +`java.security.properties` system property) so "ENTRUST_TLS" is no +longer listed in the `jdk.security.caDistrustPolicies` security +property. + +tools/launcher: + +JDK-8310201: Reduce verbose locale output in -XshowSettings launcher option +=========================================================================== +In previous releases of OpenJDK, the `-XshowSettings` launcher option printed a +long list of available locales which obscured other settings. In this release, +the `-XshowSettings` launcher option no longer prints the list of available +locales by default. To view all settings related to available locales, users +can now use the -XshowSettings:locale option. + +security-libs/java.security: + +JDK-8051959: Add thread and timestamp options to java.security.debug system property +==================================================================================== +This release adds the following additional options to the +`java.security.debug` property which can be applied to any specified +component: + +* `+timestamp`: Print a timestamp with each debug statement. +* `+thread`: Print thread and caller information for each debug statement. + +For example, `-Djava.security.debug=all+timestamp+thread` turns on +debug information for all components with both timestamps and thread +information. + +In contrast, `-Djava.security.debug=properties+timestamp` turns on +debug information only for security properties and includes a +timestamp. + +You can use `-Djava.security.debug=help` to display a complete list of +supported components and options. + +JDK-8341057: Add 2 SSL.com TLS roots +==================================== +The following root certificates have been added to the cacerts +truststore: + +Name: SSL.com +Alias Name: ssltlsrootecc2022 +Distinguished Name: CN=SSL.com TLS ECC Root CA 2022, O=SSL Corporation, C=US + +Name: SSL.com +Alias Name: ssltlsrootrsa2022 +Distinguished Name: CN=SSL.com TLS RSA Root CA 2022, O=SSL Corporation, C=US + +client-libs: + +JDK-8307779: Relax the java.awt.Robot specification +=================================================== +This release of OpenJDK 17 updates to the latest maintenance release +of the Java 17 specification. This relaxes the specification of three +methods in the `java.awt.Robot` class - `mouseMove(int,int)`, +`getPixelColor(int,int)` and `createScreenCapture(Rectangle)` - to +allow these methods to fail when the desktop environment does not +permit moving the mouse pointer or capturing screen content. + +core-libs/javax.naming: + +JDK-8290367, JDK-8332643: Update default value and extend the scope of com.sun.jndi.ldap.object.trustSerialData system property +=============================================================================================================================== +With this OpenJDK release, the JDK implementation of the LDAP provider +no longer supports the deserialisation of Java objects by +default. This is achieved by the system property +`com.sun.jndi.ldap.object.trustSerialData` being set to `false` by +default. + +Note that this release also increases the scope of the +`com.sun.jndi.ldap.object.trustSerialData` to cover the reconstruction +of RMI remote objects from the `javaRemoteLocation` LDAP attribute. + +The result of this change is that transparent deserialisation of Java +objects will require an explicit opt-in. Applications that wish to +reconstruct Java objects and RMI stubs from LDAP attributes will need +to set the `com.sun.jndi.ldap.object.trustSerialData` to `true`. + +core-libs/java.net: + +JDK-8328286: Enhance HTTP client +================================ +This OpenJDK release limits the maximum header field size accepted by +the HTTP client within the JDK for all supported versions of the HTTP +protocol. The header field size is computed as the sum of the size of +the uncompressed header name, the size of the uncompressed header +value and a overhead of 32 bytes for each field section line. If a +peer sends a field section that exceeds this limit, a +`java.net.ProtocolException` will be raised. + +This release also introduces a new system property, +`jdk.http.maxHeaderSize`. This property can be used to alter the +maximum header field size (in bytes) or disable it by setting the +value to zero or a negative value. The default value is 393,216 bytes +or 384kB. + +core-svc/java.lang.management: + +JDK-8338139: {ClassLoading,Memory}MXBean::isVerbose methods are inconsistent with their setVerbose methods +========================================================================================================== +In previous OpenJDK releases, the behaviour of the `isVerbose` and +`setVerbose` methods in `ClassLoadingMXBean` and `MemoryMXBean` was +inconsistent. The `setVerbose` method would only alter the level of +logging to `stdout`, setting it to `info` when passed the argument +`true`, and `off` when passed `false`. However, the `isVerbose` method +would check if logging was enabled on any output, causing it to return +`true` due to the presence of file logging, even when +`setVerbose(false)` had been called to turn off `stdout` logging. +With this release, the `isVerbose` methods only return `true` if +`stdout` logging is enabled. + +security-libs/javax.crypto: + +JDK-8297878: New Key Encapsulation Mechanism API +================================================ +We introduce a new javax.crypto API for key encapsulation mechanisms +(KEMs), an encryption technique for securing symmetric keys using +public key cryptography. + +New in release OpenJDK 17.0.12 (2024-07-16): +============================================ +Live versions of these release notes can be found at: + * https://bit.ly/openjdk17012 + +* CVEs + - CVE-2024-21147 + - CVE-2024-21145 + - CVE-2024-21140 + - CVE-2024-21131 + - CVE-2024-21138 +* Security fixes + - JDK-8303466: C2: failed: malformed control flow. Limit type made precise with MaxL/MinL + - JDK-8314794: Improve UTF8 String supports + - JDK-8319859: Better symbol storage + - JDK-8320097: Improve Image transformations + - JDK-8320548: Improved loop handling + - JDK-8323231: Improve array management + - JDK-8323390: Enhance mask blit functionality + - JDK-8324559: Improve 2D image handling + - JDK-8325600: Better symbol storage + - JDK-8327413: Enhance compilation efficiency +* Other changes + - JDK-8015739: Background of JInternalFrame is located out of JInternalFrame + - JDK-8042380: Test javax/swing/JFileChooser/4524490/bug4524490.java fails with InvocationTargetException + - JDK-8159927: Add a test to verify JMOD files created in the images do not have debug symbols + - JDK-8163229: several regression tests have a main method that is never executed + - JDK-8163921: HttpURLConnection default Accept header is malformed according to HTTP/1.1 RFC + - JDK-8177107: Reduce memory footprint of java.lang.reflect.Constructor/Method + - JDK-8185862: AWT Assertion Failure in ::GetDIBits(hBMDC, hBM, 0, 1, 0, gpBitmapInfo, 0) 'awt_Win32GraphicsDevice.cpp', at line 185 + - JDK-8187759: Background not refreshed when painting over a transparent JFrame + - JDK-8213714: AttachingConnector/attach/attach001 failed due to "bind failed: Address already in use" + - JDK-8223696: java/net/httpclient/MaxStreams.java failed with didn't finish within the time-out + - JDK-8256660: Disable DTLS 1.0 + - JDK-8260540: serviceability/jdwp/AllModulesCommandTest.java failed with "Debuggee error: 'ERROR: transport error 202: bind failed: Address already in use'" + - JDK-8263940: NPE when creating default file system when default file system provider is packaged as JAR file on class path + - JDK-8264322: Generate CDS archive when creating custom JDK image + - JDK-8266242: java/awt/GraphicsDevice/CheckDisplayModes.java failing on macOS 11 ARM + - JDK-8267796: vmTestbase/nsk/jvmti/scenarios/hotswap/HS201/hs201t002/TestDescription.java fails with NoClassDefFoundError + - JDK-8268974: GetJREPath() JLI function fails to locate libjava.so if not standard Java launcher is used + - JDK-8269914: Factor out heap printing for G1 young and full gc + - JDK-8270018: Add scoped object for g1 young gc JFR notification + - JDK-8272315: Improve assert_different_registers + - JDK-8272651: G1 heap region info print order changed by JDK-8269914 + - JDK-8272903: Missing license header in ArenaAllocator.java + - JDK-8272916: Copyright year was modified unintentionally in jlink.properties and ImagePluginStack.java + - JDK-8273153: Consolidate file_exists into os:file_exists + - JDK-8273774: CDSPluginTest should only expect classes_nocoops.jsa exists on supported 64-bit platforms + - JDK-8275334: Move class loading Events to a separate section in hs_err files + - JDK-8275868: ciReplay: Inlining fails with "unloaded signature classes" due to wrong protection domains + - JDK-8276227: ciReplay: SIGSEGV if classfile for replay compilation is not present after JDK-8275868 + - JDK-8278893: Parallel: Remove GCWorkerDelayMillis + - JDK-8280030: [REDO] Parallel: More precise boundary in ObjectStartArray::object_starts_in_range + - JDK-8280056: gtest/LargePageGtests.java#use-large-pages failed "os.release_one_mapping_multi_commits_vm" + - JDK-8280113: (dc) DatagramSocket.receive does not always throw when the channel is closed + - JDK-8280377: MethodHandleProxies does not correctly invoke default methods with varags + - JDK-8280546: Remove hard-coded 127.0.0.1 loopback address + - JDK-8280835: jdk/javadoc/tool/CheckManPageOptions.java depends on source hierarchy + - JDK-8281658: Add a security category to the java -XshowSettings option + - JDK-8282094: [REDO] Parallel: Refactor PSCardTable::scavenge_contents_parallel + - JDK-8283349: Robustness improvements to java/util/prefs/AddNodeChangeListener.jar + - JDK-8285452: Add a new test library API to replace a file content using FileUtils.java + - JDK-8286045: Use ForceGC for cleaner test cases + - JDK-8286311: remove boilerplate from use of runTests + - JDK-8286490: JvmtiEventControllerPrivate::set_event_callbacks CLEARING_MASK computation is incorrect + - JDK-8286740: JFR: Active Setting event emitted incorrectly + - JDK-8286781: Replace the deprecated/obsolete gethostbyname and inet_addr calls + - JDK-8289401: Add dump output to TestRawRSACipher.java + - JDK-8289643: File descriptor leak with ProcessBuilder.startPipeline + - JDK-8290126: Add a check in JavadocTester for "javadoc should not crash" + - JDK-8290885: java/lang/ProcessBuilder/PipelineLeaksFD.java fail: More or fewer pipes than expected + - JDK-8290901: Reduce use of -source in langtools tests + - JDK-8291753: Add JFR event for GC CPU Time + - JDK-8294137: Review running times of java.math tests + - JDK-8294156: Allow PassFailJFrame.Builder to create test UI + - JDK-8294699: Launcher causes lingering busy cursor + - JDK-8295026: Remove unused fields in StyleSheet + - JDK-8295343: sun/security/pkcs11 tests fail on Linux RHEL 8.6 and newer + - JDK-8295944: Move the Http2TestServer and related classes into a package of its own + - JDK-8296137: diags-examples.xml is broken + - JDK-8296190: TestMD5Intrinsics and TestMD5MultiBlockIntrinsics don't test the intrinsics + - JDK-8296610: java/net/HttpURLConnection/SetAuthenticator/HTTPSetAuthenticatorTest.java failed with "BindException: Address already in use: connect" + - JDK-8297082: Remove sun/tools/jhsdb/BasicLauncherTest.java from problem list + - JDK-8297292: java/nio/channels/FileChannel/FileExtensionAndMap.java is too slow + - JDK-8297445: PPC64: Represent Registers as values + - JDK-8297449: Update JInternalFrame Metal Border code + - JDK-8297645: Drop the test/jdk/java/net/httpclient/reactivestreams-tck-tests/TckDriver.java test + - JDK-8297695: Fix typos in test/langtools files + - JDK-8298413: [s390] CPUInfoTest fails due to uppercase feature string + - JDK-8298939: Refactor open/test/jdk/javax/rmi/ssl/SSLSocketParametersTest.sh to jtreg java test + - JDK-8299023: TestPLABResize.java and TestPLABPromotion.java are failing intermittently + - JDK-8299858: [Metrics] Swap memory limit reported incorrectly when too large + - JDK-8301183: (zipfs) jdk/jdk/nio/zipfs/TestLocOffsetFromZip64EF.java failing with ZipException:R0 on OL9 + - JDK-8301381: Verify DTLS 1.0 cannot be negotiated + - JDK-8301753: AppendFile/WriteFile has differences between make 3.81 and 4+ + - JDK-8302069: javax/management/remote/mandatory/notif/NotifReconnectDeadlockTest.java update + - JDK-8302512: Update IANA Language Subtag Registry to Version 2023-02-14 + - JDK-8302907: [PPC64] Use more constexpr in class Register + - JDK-8303457: Introduce convenience test library APIs for creating test servers for tests in test/jdk/java/net/httpclient + - JDK-8303972: (zipfs) Make test/jdk/jdk/nio/zipfs/TestLocOffsetFromZip64EF.java independent of the zip command line + - JDK-8304761: Update IANA Language Subtag Registry to Version 2023-03-22 + - JDK-8304927: Update java/net/httpclient/BasicAuthTest.java to check basic auth over HTTP/2 + - JDK-8305169: java/security/cert/CertPathValidator/OCSP/GetAndPostTests.java -- test server didn't start in timely manner + - JDK-8305645: System Tray icons get corrupted when Windows primary monitor changes + - JDK-8305819: LogConfigurationTest intermittently fails on AArch64 + - JDK-8305874: Open source AWT Key, Text Event related tests + - JDK-8305931: jdk/jfr/jcmd/TestJcmdDumpPathToGCRoots.java failed with "Expected chains but found none" + - JDK-8305942: Open source several AWT Focus related tests + - JDK-8305943: Open source few AWT Focus related tests + - JDK-8306031: Update IANA Language Subtag Registry to Version 2023-04-13 + - JDK-8306040: HttpResponseInputStream.available() returns 1 on empty stream + - JDK-8306067: Open source AWT Graphics,GridBagLayout related tests + - JDK-8306634: Open source AWT Event related tests + - JDK-8306714: Open source few Swing event and AbstractAction tests + - JDK-8306838: GetGraphicsTest needs to be headful + - JDK-8307411: Test java/foreign/channels/TestAsyncSocketChannels.java failed: IllegalStateException: Already closed + - JDK-8307423: [s390x] Represent Registers as values + - JDK-8308021: Update IANA Language Subtag Registry to Version 2023-05-11 + - JDK-8309409: Update HttpInputStreamTest and BodyProcessorInputStreamTest to use hg.openjdk.org + - JDK-8309527: Improve test proxy performance + - JDK-8309630: Clean up tests that reference deploy modules + - JDK-8309763: Move tests in test/jdk/sun/misc/URLClassPath directory to test/jdk/jdk/internal/loader + - JDK-8309890: TestStringDeduplicationInterned.java waits for the wrong condition + - JDK-8310031: Parallel: Implement better work distribution for large object arrays in old gen + - JDK-8310818: Refactor more Locale tests to use JUnit + - JDK-8311893: Interactive component with ARIA role 'tabpanel' does not have a programmatically associated name + - JDK-8311964: Some jtreg tests failing on x86 with error 'unrecognized VM options' (C2 flags) + - JDK-8312194: test/hotspot/jtreg/applications/ctw/modules/jdk_crypto_ec.java cannot handle empty modules + - JDK-8312320: Remove javax/rmi/ssl/SSLSocketParametersTest.sh from ProblemList + - JDK-8312383: Log X509ExtendedKeyManager implementation class name in TLS/SSL connection + - JDK-8312916: Remove remaining usages of -Xdebug from test/hotspot/jtreg + - JDK-8313307: java/util/Formatter/Padding.java fails on some Locales + - JDK-8313702: Update IANA Language Subtag Registry to Version 2023-08-02 + - JDK-8314283: Support for NSS tests on aarch64 platforms + - JDK-8314832: Few runtime/os tests ignore vm flags + - JDK-8314835: gtest wrappers should be marked as flagless + - JDK-8315071: Modify TrayIconScalingTest.java, PrintLatinCJKTest.java to use new PassFailJFrame's builder pattern usage + - JDK-8315117: Update Zlib Data Compression Library to Version 1.3 + - JDK-8315609: Open source few more swing text/html tests + - JDK-8315652: RISC-V: Features string uses wrong separator for jtreg + - JDK-8315663: Open source misc awt tests + - JDK-8315677: Open source few swing JFileChooser and other tests + - JDK-8315726: Open source several AWT applet tests + - JDK-8315741: Open source few swing JFormattedTextField and JPopupMenu tests + - JDK-8315824: Open source several Swing Text/HTML related tests + - JDK-8315834: Open source several Swing JSpinner related tests + - JDK-8315889: Open source several Swing HTMLDocument related tests + - JDK-8315898: Open source swing JMenu tests + - JDK-8316017: Refactor timeout handler in PassFailJFrame + - JDK-8316053: Open some swing tests 3 + - JDK-8316138: Add GlobalSign 2 TLS root certificates + - JDK-8316142: Enable parallelism in vmTestbase/nsk/monitoring/stress/lowmem tests + - JDK-8316154: Opensource JTextArea manual tests + - JDK-8316164: Opensource JMenuBar manual test + - JDK-8316186: RISC-V: Remove PlatformCmpxchg<4> + - JDK-8316242: Opensource SwingGraphics manual test + - JDK-8316462: sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.java ignores VM flags + - JDK-8316563: test tools/jpackage/linux/LinuxResourceTest.java fails on CentOS Linux release 8.5.2111 and Fedora 27 + - JDK-8316608: Enable parallelism in vmTestbase/gc/vector tests + - JDK-8317287: [macos14] InterJVMGetDropSuccessTest.java: Child VM: abnormal termination + - JDK-8318322: Update IANA Language Subtag Registry to Version 2023-10-16 + - JDK-8318580: "javax/swing/MultiMonitor/MultimonVImage.java failing with Error. Can't find library: /open/test/jdk/java/awt/regtesthelpers" after JDK-8316053 + - JDK-8318599: HttpURLConnection cache issues leading to crashes in JGSS w/ native GSS introduced by 8303809 + - JDK-8318727: Enable parallelism in vmTestbase/vm/gc/concurrent tests + - JDK-8318809: java/util/concurrent/ConcurrentLinkedQueue/WhiteBox.java shows intermittent failures on linux ppc64le and aarch64 + - JDK-8318854: [macos14] Running any AWT app prints Secure coding warning + - JDK-8319048: Monitor deflation unlink phase prolongs time to safepoint + - JDK-8319128: sun/security/pkcs11 tests fail on OL 7.9 aarch64 + - JDK-8319136: Skip pkcs11 tests on linux-aarch64 + - JDK-8319268: Build failure with GCC8.3.1 after 8313643 + - JDK-8319338: tools/jpackage/share/RuntimeImageTest.java fails with -XX:+UseZGC + - JDK-8319372: C2 compilation fails with "Bad immediate dominator info" + - JDK-8320005: Allow loading of shared objects with .a extension on AIX + - JDK-8320113: [macos14] : ShapeNotSetSometimes.java fails intermittently on macOS 14 + - JDK-8320129: "top" command during jtreg failure handler does not display CPU usage on OSX + - JDK-8320303: Allow PassFailJFrame to accept single window creator + - JDK-8320342: Use PassFailJFrame for TruncatedPopupMenuTest.java + - JDK-8320570: NegativeArraySizeException decoding >1G UTF8 bytes with non-ascii characters + - JDK-8320681: [macos] Test tools/jpackage/macosx/MacAppStoreJlinkOptionsTest.java timed out on macOS + - JDK-8320712: Rewrite BadFactoryTest in pure Java + - JDK-8320943: Files/probeContentType/Basic.java fails on latest Windows 11 - content type mismatch + - JDK-8321107: Add more test cases for JDK-8319372 + - JDK-8321489: Update LCMS to 2.16 + - JDK-8321925: sun/security/mscapi/KeytoolChangeAlias.java fails with "Alias <246810> does not exist" + - JDK-8322239: [macos] a11y : java.lang.NullPointerException is thrown when focus is moved on the JTabbedPane + - JDK-8322503: Shenandoah: Clarify gc state usage + - JDK-8322858: compiler/c2/aarch64/TestFarJump.java fails on AArch64 due to unexpected PrintAssembly output + - JDK-8322920: Some ProcessTools.execute* functions are declared to throw Throwable + - JDK-8323210: Update the usage of cmsFLAGS_COPY_ALPHA + - JDK-8323519: Add applications/ctw/modules to Hotspot tiered testing + - JDK-8323717: Introduce test keyword for tests that need external dependencies + - JDK-8323994: gtest runner repeats test name for every single gtest assertion + - JDK-8324050: Issue store-store barrier after re-materializing objects during deoptimization + - JDK-8324238: [macOS] java/awt/Frame/ShapeNotSetSometimes/ShapeNotSetSometimes.java fails with the shape has not been applied msg + - JDK-8324243: Compilation failures in java.desktop module with gcc 14 + - JDK-8324598: use mem_unit when working with sysinfo memory and swap related information + - JDK-8324632: Update Zlib Data Compression Library to Version 1.3.1 + - JDK-8324723: GHA: Upgrade some actions to avoid deprecated Node 16 + - JDK-8324733: [macos14] Problem list tests which fail due to macOS bug described in JDK-8322653 + - JDK-8324824: AArch64: Detect Ampere-1B core and update default options for Ampere CPUs + - JDK-8325137: com/sun/management/ThreadMXBean/ThreadCpuTimeArray.java can fail in Xcomp with out of expected range + - JDK-8325203: System.exit(0) kills the launched 3rd party application + - JDK-8325213: Flags introduced by configure script are not passed to ADLC build + - JDK-8325254: CKA_TOKEN private and secret keys are not necessarily sensitive + - JDK-8325326: [PPC64] Don't relocate in case of allocation failure + - JDK-8325372: Shenandoah: SIGSEGV crash in unnecessary_acquire due to LoadStore split through phi + - JDK-8325432: enhance assert message "relocation addr must be in this section" + - JDK-8325496: Make TrimNativeHeapInterval a product switch + - JDK-8325579: Inconsistent behavior in com.sun.jndi.ldap.Connection::createSocket + - JDK-8325862: set -XX:+ErrorFileToStderr when executing java in containers for some container related jtreg tests + - JDK-8325876: crashes in docker container tests on Linuxppc64le Power8 machines + - JDK-8325972: Add -x to bash for building with LOG=debug + - JDK-8326006: Allow TEST_VM_FLAGLESS to set flagless mode + - JDK-8326101: [PPC64] Need to bailout cleanly if creation of stubs fails when code cache is out of space + - JDK-8326140: src/jdk.accessibility/windows/native/libjavaaccessbridge/AccessBridgeJavaEntryPoints.cpp ReleaseStringChars might be missing in early returns + - JDK-8326201: [S390] Need to bailout cleanly if creation of stubs fails when code cache is out of space + - JDK-8326351: Update the Zlib version in open/src/java.base/share/legal/zlib.md to 1.3.1 + - JDK-8326521: JFR: CompilerPhase event test fails on windows 32 bit + - JDK-8326529: JFR: Test for CompilerCompile events fails due to time out + - JDK-8326591: New test JmodExcludedFiles.java fails on Windows when --with-external-symbols-in-bundles=public is used + - JDK-8326638: Crash in PhaseIdealLoop::remix_address_expressions due to unexpected Region instead of Loop + - JDK-8326643: JDK server does not send a dummy change_cipher_spec record after HelloRetryRequest message + - JDK-8326661: sun/java2d/cmm/ColorConvertOp/ColConvTest.java assumes profiles were generated by LCMS + - JDK-8326794: Bump update version for OpenJDK: jdk-17.0.12 + - JDK-8326891: Prefer RPATH over RUNPATH for $ORIGIN rpaths in internal JDK binaries + - JDK-8326936: RISC-V: Shenandoah GC crashes due to incorrect atomic memory operations + - JDK-8326960: GHA: RISC-V sysroot cannot be debootstrapped due to ongoing Debian t64 transition + - JDK-8327036: [macosx-aarch64] SIGBUS in MarkActivationClosure::do_code_blob reached from Unsafe_CopySwapMemory0 + - JDK-8327059: os::Linux::print_proc_sys_info add swappiness information + - JDK-8327136: javax/management/remote/mandatory/notif/NotifReconnectDeadlockTest.java fails on libgraal + - JDK-8327631: Update IANA Language Subtag Registry to Version 2024-03-07 + - JDK-8327989: java/net/httpclient/ManyRequest.java should not use "localhost" in URIs + - JDK-8327998: Enable java/lang/ProcessBuilder/JspawnhelperProtocol.java on Mac + - JDK-8328066: WhiteBoxResizeTest failure on linux-x86: Could not reserve enough space for 2097152KB object heap + - JDK-8328165: improve assert(idx < _maxlrg) failed: oob + - JDK-8328166: Epsilon: 'EpsilonHeap::allocate_work' misuses the parameter 'size' as size in bytes + - JDK-8328168: Epsilon: Premature OOM when allocating object larger than uncommitted heap size + - JDK-8328194: Add a test to check default rendering engine + - JDK-8328524: [x86] StringRepeat.java failure on linux-x86: Could not reserve enough space for 2097152KB object heap + - JDK-8328540: test javax/swing/JSplitPane/4885629/bug4885629.java fails on windows hidpi + - JDK-8328638: Fallback option for POST-only OCSP requests + - JDK-8328705: GHA: Cross-compilation jobs do not require build JDK + - JDK-8328812: Update and move siphash license + - JDK-8328825: Google CAInterop test failures + - JDK-8328948: GHA: Restoring sysroot from cache skips the build after JDK-8326960 + - JDK-8328988: [macos14] Problem list LightweightEventTest.java which fails due to macOS bug described in JDK-8322653 + - JDK-8328997: Remove unnecessary template parameter lists in GrowableArray + - JDK-8329013: StackOverflowError when starting Apache Tomcat with signed jar + - JDK-8329213: Better validation for com.sun.security.ocsp.useget option + - JDK-8329223: Parallel: Parallel GC resizes heap even if -Xms = -Xmx + - JDK-8329570: G1: Excessive is_obj_dead_cond calls in verification + - JDK-8329823: RISC-V: Need to sync CPU features with related JVM flags + - JDK-8330094: RISC-V: Save and restore FRM in the call stub + - JDK-8330156: RISC-V: Range check auipc + signed 12 imm instruction + - JDK-8330242: RISC-V: Simplify and remove CORRECT_COMPILER_ATOMIC_SUPPORT in atomic_linux_riscv.hpp + - JDK-8330523: Reduce runtime and improve efficiency of KeepAliveTest + - JDK-8330815: Use pattern matching for instanceof in KeepAliveCache + - JDK-8331113: createJMHBundle.sh support configurable maven repo mirror + - JDK-8331352: error: template-id not allowed for constructor/destructor in C++20 + - JDK-8331641: [17u]: Bump GHA bootstrap JDK to 17.0.11 + - JDK-8331942: On Linux aarch64, CDS archives should be using 64K alignment by default + - JDK-8334441: Mark tests in jdk_security_infra group as manual + - JDK-8335963: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.12 + +Notes on individual issues: +=========================== + +security-libs/javax.security: + +JDK-8328638: Fallback Option For POST-only OCSP Requests +======================================================== +JDK-8179503, introduced in OpenJDK 17, added support for using the +HTTP GET method for OCSP requests. This was turned on unconditionally +for small requests. + +RFC 5019 and RFC 6960 explicitly allow and recommend the use of HTTP +GET requests. However, some OCSP responders have been observed to not +work well with such requests. + +With this release, the JDK system property +`com.sun.security.ocsp.useget` is introduced. The default setting is +'true' which retains the current behaviour of using GET requests for +small requests. If the property is instead set to 'false', only HTTP +POST requests will be used, regardless of size. + +This option is non-standard and may be removed again if problematic +OCSP responders are no longer an issue. + +security-libs/javax.net.ssl: + +JDK-8256660: Disabled DTLS 1.0 +============================== +Support for both Datagram Transport Layer Security (DTLS) 1.0 and 1.2 +was introduced in OpenJDK 9 (JEP-219). The use of DTLS 1.0 (based on +TLS 1.1) is now no longer recommended, as it is considered weak and +insecure by modern standards. With this release, the JVM will throw a +`SSLHandshakeException` if use of DTLS 1.0 is attempted. + +Users can, *at their own risk*, remove this restriction by modifying +the `java.security` configuration file (or override it by using the +`java.security.properties` system property) so `DTLSv1.0` is no longer +listed in the `jdk.tls.disabledAlgorithms` security property. + +infrastructure/build: + +JDK-8326891: Prefer RPATH over RUNPATH for $ORIGIN rpaths in internal JDK binaries +================================================================================== +Native executables and libraries in the JDK use embedded runtime +search paths to locate required internal JDK native libraries. On +Linux systems, there are two ways of specifying these search paths; +DT_RPATH and DT_RUNPATH. + +The main difference between the two options is that paths specified by +DT_RPATH are searched before those in the LD_LIBRARY_PATH environment +variable, whereas DT_RUNPATH paths are considered afterwards. This +means the use of DT_RUNPATH can allow JDK internal libraries to be +overridden by libraries of the same name found on the LD_LIBRARY_PATH. + +Builds of earlier OpenJDK releases left the choice of which type of +runtime search path to use down to the default of the linker. With +this release, the option `--disable-new-dtags` is explicitly passed to +the linker to avoid setting DT_RUNPATH. + +hotspot/runtime: + +JDK-8325496: Make TrimNativeHeapInterval a product switch +========================================================= +The option '-XX:TrimNativeHeapInterval=ms', where 'ms' is the interval +in milliseconds, is now an official product switch. It allows the +virtual machine to trim the native heap at the specified interval on +supported platforms (currently only Linux with glibc). A value of +zero (the default) disables trimming. + +security-libs/java.security: + +JDK-8281658: Add a security category to the java -XshowSettings option +====================================================================== +The `-XshowSettings` launcher option now has a 'security' category, allowing +the following arguments to be passed: + +* -XshowSettings:security or -XshowSettings:security:all: show all security settings and continue +* -XshowSettings:security:properties - show security properties and continue +* -XshowSettings:security:providers - show static security provider settings and continue +* -XshowSettings:security:tls - show TLS related security settings and continue + +The output will include third-party security providers if they are +included in the application class path or module path, and configured +in the java.security file. + +JDK-8316138: Added GlobalSign R46 and E46 Root CA Certificates +============================================================== +The following root certificates have been added to the cacerts truststore: + +Name: GlobalSign +Alias Name: globalsignr46 +Distinguished Name: CN=GlobalSign Root R46, O=GlobalSign nv-sa, C=BE + +Name: GlobalSign +Alias Name: globalsigne46 +Distinguished Name: CN=GlobalSign Root E46, O=GlobalSign nv-sa, C=BE + +hotspot/gc: + +JDK-8315503: G1: Code root scan causes long GC pauses due to imbalanced iteration +================================================================================= +The Code Root Scan phase of garbage collection finds references to +Java objects within compiled code. To speed up this process, a cache +is maintained within each region of the compiled code that contains +references into the Java heap. + +On the assumption that the set of references was small, previous +releases used a single thread per region to iterate through these +references. This introduced a scalability bottleneck, where +performance could be reduced if a particular region contained a large +number of references. + +In this release, multiple threads are used, removing this bottleneck. + +New in release OpenJDK 17.0.11 (2024-04-16): +============================================ +Live versions of these release notes can be found at: + * https://bit.ly/openjdk17011 + +* CVEs + - CVE-2024-21012 + - CVE-2024-21011 + - CVE-2024-21068 + - CVE-2024-21094 +* Security fixes + - JDK-8315708: Enhance HTTP/2 client usage + - JDK-8317507, JDK-8325348: C2 compilation fails with "Exceeded _node_regs array" + - JDK-8318340: Improve RSA key implementations + - JDK-8319851: Improve exception logging + - JDK-8322122: Enhance generation of addresses +* Other changes + - JDK-6928542: Chinese characters in RTF are not decoded + - JDK-7132796: [macosx] closed/javax/swing/JComboBox/4517214/bug4517214.java fails on MacOS + - JDK-7148092: [macosx] When Alt+down arrow key is pressed, the combobox popup does not appear. + - JDK-7167356: (javac) investigate failing tests in JavacParserTest + - JDK-8054022: HttpURLConnection timeouts with Expect: 100-Continue and no chunking + - JDK-8054572: [macosx] JComboBox paints the border incorrectly + - JDK-8169475: WheelModifier.java fails by timeout + - JDK-8205076: [17u] Inet6AddressImpl.c: `lookupIfLocalHost` accesses `int InetAddress.preferIPv6Address` as a boolean + - JDK-8209595: MonitorVmStartTerminate.java timed out + - JDK-8210410: Refactor java.util.Currency:i18n shell tests to plain java tests + - JDK-8261404: Class.getReflectionFactory() is not thread-safe + - JDK-8261837: SIGSEGV in ciVirtualCallTypeData::translate_from + - JDK-8263256: Test java/net/Inet6Address/serialize/Inet6AddressSerializationTest.java fails due to dynamic reconfigurations of network interface during test + - JDK-8269258: java/net/httpclient/ManyRequestsLegacy.java failed with connection timeout + - JDK-8271118: C2: StressGCM should have higher priority than frequency-based policy + - JDK-8271616: oddPart in MutableBigInteger::mutableModInverse contains info on final result + - JDK-8272811: Document the effects of building with _GNU_SOURCE in os_posix.hpp + - JDK-8272853: improve `JavadocTester.runTests` + - JDK-8273454: C2: Transform (-a)*(-b) into a*b + - JDK-8274060: C2: Incorrect computation after JDK-8273454 + - JDK-8274122: java/io/File/createTempFile/SpecialTempFile.java fails in Windows 11 + - JDK-8274621: NullPointerException because listenAddress[0] is null + - JDK-8274632: Possible pointer overflow in PretouchTask chunk claiming + - JDK-8274634: Use String.equals instead of String.compareTo in java.desktop + - JDK-8276125: RunThese24H.java SIGSEGV in JfrThreadGroup::thread_group_id + - JDK-8278028: [test-library] Warnings cleanup of the test library + - JDK-8278312: Update SimpleSSLContext keystore to use SANs for localhost IP addresses + - JDK-8278363: Create extented container test groups + - JDK-8280241: (aio) AsynchronousSocketChannel init fails in IPv6 only Windows env + - JDK-8281377: Remove vmTestbase/nsk/monitoring/ThreadMXBean/ThreadInfo/Deadlock/JavaDeadlock001/TestDescription.java from problemlist. + - JDK-8281543: Remove unused code/headerfile dtraceAttacher.hpp + - JDK-8281585: Remove unused imports under test/lib and jtreg/gc + - JDK-8283400: [macos] a11y : Screen magnifier does not reflect JRadioButton value change + - JDK-8283626: AArch64: Set relocInfo::offset_unit to 4 + - JDK-8283994: Make Xerces DatatypeException stackless + - JDK-8286312: Stop mixing signed and unsigned types in bit operations + - JDK-8286846: test/jdk/javax/swing/plaf/aqua/CustomComboBoxFocusTest.java fails on mac aarch64 + - JDK-8287832: jdk/jfr/event/runtime/TestActiveSettingEvent.java failed with "Expected two batches of Active Setting events" + - JDK-8288663: JFR: Disabling the JfrThreadSampler commits only a partially disabled state + - JDK-8288846: misc tests fail "assert(ms < 1000) failed: Un-interruptable sleep, short time use only" + - JDK-8289764: gc/lock tests failed with "OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects" + - JDK-8290041: ModuleDescriptor.hashCode is inconsistent + - JDK-8290203: ProblemList vmTestbase/nsk/jvmti/scenarios/capability/CM03/cm03t001/TestDescription.java on linux-all + - JDK-8290399: [macos] Aqua LAF does not fire an action event if combo box menu is displayed + - JDK-8292458: Atomic operations on scoped enums don't build with clang + - JDK-8292946: GC lock/jni/jnilock001 test failed "assert(gch->gc_cause() == GCCause::_scavenge_alot || !gch->incremental_collection_failed()) failed: Twice in a row" + - JDK-8293117: Add atomic bitset functions + - JDK-8293547: Add relaxed add_and_fetch for macos aarch64 atomics + - JDK-8294158: HTML formatting for PassFailJFrame instructions + - JDK-8294254: [macOS] javax/swing/plaf/aqua/CustomComboBoxFocusTest.java failure + - JDK-8294535: Add screen capture functionality to PassFailJFrame + - JDK-8295068: SSLEngine throws NPE parsing CertificateRequests + - JDK-8295124: Atomic::add to pointer type may return wrong value + - JDK-8295274: HelidonAppTest.java fails "assert(event->should_commit()) failed: invariant" from compiled frame" + - JDK-8296631: NSS tests failing on OL9 linux-aarch64 hosts + - JDK-8297968: Crash in PrintOptoAssembly + - JDK-8298087: XML Schema Validation reports an required attribute twice via ErrorHandler + - JDK-8299494: Test vmTestbase/nsk/stress/except/except011.java failed: ExceptionInInitializerError: target class not found + - JDK-8300269: The selected item in an editable JComboBox with titled border is not visible in Aqua LAF + - JDK-8301306: java/net/httpclient/* fail with -Xcomp + - JDK-8301310: The SendRawSysexMessage test may cause a JVM crash + - JDK-8301787: java/net/httpclient/SpecialHeadersTest failing after JDK-8301306 + - JDK-8301846: Invalid TargetDataLine after screen lock when using JFileChooser or COM library + - JDK-8302017: Allocate BadPaddingException only if it will be thrown + - JDK-8302149: Speed up compiler/jsr292/methodHandleExceptions/TestAMEnotNPE.java + - JDK-8303605: Memory leaks in Metaspace gtests + - JDK-8304074: [JMX] Add an approximation of total bytes allocated on the Java heap by the JVM + - JDK-8304696: Duplicate class names in dynamicArchive tests can lead to test failure + - JDK-8305356: Fix ignored bad CompileCommands in tests + - JDK-8305900: Use loopback IP addresses in security policy files of httpclient tests + - JDK-8305906: HttpClient may use incorrect key when finding pooled HTTP/2 connection for IPv6 address + - JDK-8305962: update jcstress to 0.16 + - JDK-8305972: Update XML Security for Java to 3.0.2 + - JDK-8306014: Update javax.net.ssl TLS tests to use SSLContextTemplate or SSLEngineTemplate + - JDK-8306408: Fix the format of several tables in building.md + - JDK-8307185: pkcs11 native libraries make JNI calls into java code while holding GC lock + - JDK-8307926: Support byte-sized atomic bitset operations + - JDK-8307955: Prefer to PTRACE_GETREGSET instead of PTRACE_GETREGS in method 'ps_proc.c::process_get_lwp_regs' + - JDK-8307990: jspawnhelper must close its writing side of a pipe before reading from it + - JDK-8308043: Deadlock in TestCSLocker.java due to blocking GC while allocating + - JDK-8308245: Add -proc:full to describe current default annotation processing policy + - JDK-8308336: Test java/net/HttpURLConnection/HttpURLConnectionExpectContinueTest.java failed: java.net.BindException: Address already in use + - JDK-8309302: java/net/Socket/Timeouts.java fails with AssertionError on test temporal post condition + - JDK-8309305: sun/security/ssl/SSLSocketImpl/BlockedAsyncClose.java fails with jtreg test timeout + - JDK-8309462: [AIX] vmTestbase/nsk/jvmti/RunAgentThread/agentthr001/TestDescription.java crashing due to empty while loop + - JDK-8309733: [macOS, Accessibility] VoiceOver: Incorrect announcements of JRadioButton + - JDK-8309870: Using -proc:full should be considered requesting explicit annotation processing + - JDK-8310106: sun.security.ssl.SSLHandshake.getHandshakeProducer() incorrectly checks handshakeConsumers + - JDK-8310238: [test bug] javax/swing/JTableHeader/6889007/bug6889007.java fails + - JDK-8310380: Handle problems in core-related tests on macOS when codesign tool does not work + - JDK-8310631: test/jdk/sun/nio/cs/TestCharsetMapping.java is spuriously passing + - JDK-8310807: java/nio/channels/DatagramChannel/Connect.java timed out + - JDK-8310838: Correct range notations in MethodTypeDesc specification + - JDK-8310844: [AArch64] C1 compilation fails because monitor offset in OSR buffer is too large for immediate + - JDK-8310923: Refactor Currency tests to use JUnit + - JDK-8311081: KeytoolReaderP12Test.java fail on localized Windows platform + - JDK-8311160: [macOS, Accessibility] VoiceOver: No announcements on JRadioButtonMenuItem and JCheckBoxMenuItem + - JDK-8311581: Remove obsolete code and comments in TestLVT.java + - JDK-8311645: Memory leak in jspawnhelper spawnChild after JDK-8307990 + - JDK-8311986: Disable runtime/os/TestTracePageSizes.java for ShenandoahGC + - JDK-8312428: PKCS11 tests fail with NSS 3.91 + - JDK-8312434: SPECjvm2008/xml.transform with CDS fails with "can't seal package nu.xom" + - JDK-8313081: MonitoringSupport_lock should be unconditionally initialized after 8304074 + - JDK-8313082: Enable CreateCoredumpOnCrash for testing in makefiles + - JDK-8313206: PKCS11 tests silently skip execution + - JDK-8313575: Refactor PKCS11Test tests + - JDK-8313621: test/jdk/jdk/internal/math/FloatingDecimal/TestFloatingDecimal should use RandomFactory + - JDK-8313643: Update HarfBuzz to 8.2.2 + - JDK-8313816: Accessing jmethodID might lead to spurious crashes + - JDK-8314164: java/net/HttpURLConnection/HttpURLConnectionExpectContinueTest.java fails intermittently in timeout + - JDK-8314220: Configurable InlineCacheBuffer size + - JDK-8314830: runtime/ErrorHandling/ tests ignore external VM flags + - JDK-8315034: File.mkdirs() occasionally fails to create folders on Windows shared folder + - JDK-8315042: NPE in PKCS7.parseOldSignedData + - JDK-8315594: Open source few headless Swing misc tests + - JDK-8315600: Open source few more headless Swing misc tests + - JDK-8315602: Open source swing security manager test + - JDK-8315611: Open source swing text/html and tree test + - JDK-8315680: java/lang/ref/ReachabilityFenceTest.java should run with -Xbatch + - JDK-8315731: Open source several Swing Text related tests + - JDK-8315761: Open source few swing JList and JMenuBar tests + - JDK-8315920: C2: "control input must dominate current control" assert failure + - JDK-8315986: [macos14] javax/swing/JMenuItem/4654927/bug4654927.java: component must be showing on the screen to determine its location + - JDK-8316001: GC: Make TestArrayAllocatorMallocLimit use createTestJvm + - JDK-8316028: Update FreeType to 2.13.2 + - JDK-8316030: Update Libpng to 1.6.40 + - JDK-8316106: Open source few swing JInternalFrame and JMenuBar tests + - JDK-8316304: (fs) Add support for BasicFileAttributes.creationTime() for Linux + - JDK-8316392: compiler/interpreter/TestVerifyStackAfterDeopt.java failed with SIGBUS in PcDescContainer::find_pc_desc_internal + - JDK-8316414: C2: large byte array clone triggers "failed: malformed control flow" assertion failure on linux-x86 + - JDK-8316415: Parallelize sun/security/rsa/SignedObjectChain.java subtests + - JDK-8316418: containers/docker/TestMemoryWithCgroupV1.java get OOM killed with Parallel GC + - JDK-8316445: Mark com/sun/management/HotSpotDiagnosticMXBean/CheckOrigin.java as vm.flagless + - JDK-8316679: C2 SuperWord: wrong result, load should not be moved before store if not comparable + - JDK-8316693: Simplify at-requires checkDockerSupport() + - JDK-8316929: Shenandoah: Shenandoah degenerated GC and full GC need to cleanup old OopMapCache entries + - JDK-8316947: Write a test to check textArea triggers MouseEntered/MouseExited events properly + - JDK-8317039: Enable specifying the JDK used to run jtreg + - JDK-8317144: Exclude sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java on Linux ppc64le + - JDK-8317307: test/jdk/com/sun/jndi/ldap/LdapPoolTimeoutTest.java fails with ConnectException: Connection timed out: no further information + - JDK-8317603: Improve exception messages thrown by sun.nio.ch.Net native methods (win) + - JDK-8317771: [macos14] Expand/collapse a JTree using keyboard freezes the application in macOS 14 Sonoma + - JDK-8317807: JAVA_FLAGS removed from jtreg running in JDK-8317039 + - JDK-8317960: [17u] Excessive CPU usage on AbstractQueuedSynchronized.isEnqueued + - JDK-8318154: Improve stability of WheelModifier.java test + - JDK-8318183: C2: VM may crash after hitting node limit + - JDK-8318410: jdk/java/lang/instrument/BootClassPath/BootClassPathTest.sh fails on Japanese Windows + - JDK-8318468: compiler/tiered/LevelTransitionTest.java fails with -XX:CompileThreshold=100 -XX:TieredStopAtLevel=1 + - JDK-8318490: Increase timeout for JDK tests that are close to the limit when run with libgraal + - JDK-8318603: Parallelize sun/java2d/marlin/ClipShapeTest.java + - JDK-8318607: Enable parallelism in vmTestbase/nsk/stress/jni tests + - JDK-8318608: Enable parallelism in vmTestbase/nsk/stress/threads tests + - JDK-8318689: jtreg is confused when folder name is the same as the test name + - JDK-8318736: com/sun/jdi/JdwpOnThrowTest.java failed with "transport error 202: bind failed: Address already in use" + - JDK-8318951: Additional negative value check in JPEG decoding + - JDK-8318955: Add ReleaseIntArrayElements in Java_sun_awt_X11_XlibWrapper_SetBitmapShape XlbWrapper.c to early return + - JDK-8318957: Enhance agentlib:jdwp help output by info about allow option + - JDK-8318961: increase javacserver connection timeout values and max retry attempts + - JDK-8318971: Better Error Handling for Jar Tool When Processing Non-existent Files + - JDK-8318983: Fix comment typo in PKCS12Passwd.java + - JDK-8319124: Update XML Security for Java to 3.0.3 + - JDK-8319213: Compatibility.java reads both stdout and stderr of JdkUtils + - JDK-8319436: Proxy.newProxyInstance throws NPE if loader is null and interface not visible from class loader + - JDK-8319456: jdk/jfr/event/gc/collection/TestGCCauseWith[Serial|Parallel].java : GC cause 'GCLocker Initiated GC' not in the valid causes + - JDK-8319668: Fixup of jar filename typo in BadFactoryTest.sh + - JDK-8319922: libCreationTimeHelper.so fails to link in JDK 21 + - JDK-8319961: JvmtiEnvBase doesn't zero _ext_event_callbacks + - JDK-8320001: javac crashes while adding type annotations to the return type of a constructor + - JDK-8320168: handle setsocktopt return values + - JDK-8320208: Update Public Suffix List to b5bf572 + - JDK-8320300: Adjust hs_err output in malloc/mmap error cases + - JDK-8320363: ppc64 TypeEntries::type_unknown logic looks wrong, missed optimization opportunity + - JDK-8320597: RSA signature verification fails on signed data that does not encode params correctly + - JDK-8320798: Console read line with zero out should zero out underlying buffer + - JDK-8320885: Bump update version for OpenJDK: jdk-17.0.11 + - JDK-8320921: GHA: Parallelize hotspot_compiler test jobs + - JDK-8320937: support latest VS2022 MSC_VER in abstract_vm_version.cpp + - JDK-8321151: JDK-8294427 breaks Windows L&F on all older Windows versions + - JDK-8321215: Incorrect x86 instruction encoding for VSIB addressing mode + - JDK-8321408: Add Certainly roots R1 and E1 + - JDK-8321480: ISO 4217 Amendment 176 Update + - JDK-8321599: Data loss in AVX3 Base64 decoding + - JDK-8321815: Shenandoah: gc state should be synchronized to java threads only once per safepoint + - JDK-8321972: test runtime/Unsafe/InternalErrorTest.java timeout on linux-riscv64 platform + - JDK-8322098: os::Linux::print_system_memory_info enhance the THP output with /sys/kernel/mm/transparent_hugepage/hpage_pmd_size + - JDK-8322321: Add man page doc for -XX:+VerifySharedSpaces + - JDK-8322417: Console read line with zero out should zero out when throwing exception + - JDK-8322583: RISC-V: Enable fast class initialization checks + - JDK-8322725: (tz) Update Timezone Data to 2023d + - JDK-8322750: Test "api/java_awt/interactive/SystemTrayTests.html" failed because A blue ball icon is added outside of the system tray + - JDK-8322772: Clean up code after JDK-8322417 + - JDK-8322783: prioritize /etc/os-release over /etc/SuSE-release in hs_err/info output + - JDK-8322968: [17u] Amend Atomics gtest with 1-byte tests + - JDK-8323008: filter out harmful -std* flags added by autoconf from CXX + - JDK-8323021: Shenandoah: Encountered reference count always attributed to first worker thread + - JDK-8323086: Shenandoah: Heap could be corrupted by oom during evacuation + - JDK-8323243: JNI invocation of an abstract instance method corrupts the stack + - JDK-8323331: fix typo hpage_pdm_size + - JDK-8323428: Shenandoah: Unused memory in regions compacted during a full GC should be mangled + - JDK-8323515: Create test alias "all" for all test roots + - JDK-8323637: Capture hotspot replay files in GHA + - JDK-8323640: [TESTBUG]testMemoryFailCount in jdk/internal/platform/docker/TestDockerMemoryMetrics.java always fail because OOM killed + - JDK-8323806: [17u] VS2017 build fails with warning after 8293117. + - JDK-8324184: Windows VS2010 build failed with "error C2275: 'int64_t'" + - JDK-8324280: RISC-V: Incorrect implementation in VM_Version::parse_satp_mode + - JDK-8324347: Enable "maybe-uninitialized" warning for FreeType 2.13.1 + - JDK-8324514: ClassLoaderData::print_on should print address of class loader + - JDK-8324647: Invalid test group of lib-test after JDK-8323515 + - JDK-8324659: GHA: Generic jtreg errors are not reported + - JDK-8324937: GHA: Avoid multiple test suites per job + - JDK-8325096: Test java/security/cert/CertPathBuilder/akiExt/AKISerialNumber.java is failing + - JDK-8325150: (tz) Update Timezone Data to 2024a + - JDK-8325585: Remove no longer necessary calls to set/unset-in-asgct flag in JDK 17 + - JDK-8326000: Remove obsolete comments for class sun.security.ssl.SunJSSE + - JDK-8327036: [macosx-aarch64] SIGBUS in MarkActivationClosure::do_code_blob reached from Unsafe_CopySwapMemory0 + - JDK-8327391: Add SipHash attribution file + - JDK-8329836: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.11 + +Notes on individual issues: +=========================== + +security-libs/javax.xml.crypto: + +JDK-8319124: Update XML Security for Java to 3.0.3 +================================================== +The XML signature implementation in OpenJDK 21 has been updated to +Apache Santuario 3.0.3. This update introduces four new SHA-3 based +RSA-MGF1 SignatureMethod algorithms. + +However, the API of javax.xml.crypto.dsig.SignatureMethod can not be +changed in update releases to provide constants for these new +algorithms. The equivalent string literals should be used as below: + +* SHA3_224_RSA_MGF1: "http://www.w3.org/2007/05/xmldsig-more#sha3-224-rsa-MGF1" +* SHA3_256_RSA_MGF1: "http://www.w3.org/2007/05/xmldsig-more#sha3-256-rsa-MGF1" +* SHA3_384_RSA_MGF1: "http://www.w3.org/2007/05/xmldsig-more#sha3-384-rsa-MGF1" +* SHA3_512_RSA_MGF1: "http://www.w3.org/2007/05/xmldsig-more#sha3-512-rsa-MGF1" + +This enhancement also introduces support for the ED25519 and ED448 +elliptic curve algorithms, which are both Edwards-curve Digital +Signature Algorithm (EdDSA) signature schemes. + +In contrast to the upstream version of Apache Santuario 3.0.3, the JDK +still supports the `here()` function. However, future support for the +`here()` function is not guaranteed. You should avoid using `here()` +in new XML signatures. You should also update any XML signatures that +currently use `here()` to stop using this function. + +The `here()` function is enabled by default. To disable the `here()` +function, set the `jdk.xml.dsig.hereFunctionSupported` system property +is to "false". + +core-libs/java.lang: + +JDK-8307990: Fixed Indefinite `jspawnhelper` Hangs +================================================== +With this fix, `jspawnhelper` will reliably receive an EOF signal from +the communication pipe and terminate when the parent process dies +prematurely. + +client-libs/java.awt + +JDK-8322750: AWT SystemTray API Is Not Supported on Most Linux Desktops +======================================================================= +The java.awt.SystemTray API is used to interact with the system's +desktop taskbar to provide notifications and may include an icon +representing an application. The GNOME desktop's support for taskbar +icons has not worked properly for several years, due to a platform +bug. This bug, in turn, affects the JDK's SystemTray support on GNOME +desktops. + +Therefore, in accordance with the SystemTray API specification, +java.awt.SystemTray.isSupported() will now return false on systems +that exhibit this bug, which is assumed to be those running a version +of GNOME Shell below 45. + +The impact of this change is likely to be minimal, as users of the +SystemTray API should already be able to handle isSupported() +returning false and the system tray on such platforms has already been +unsupported for a number of years for all applications. + +security-libs/java.security: + +JDK-8321408: Added Certainly R1 and E1 Root Certificates +======================================================== +The following root certificate has been added to the cacerts +truststore: + +Name: Certainly +Alias Name: certainlyrootr1 +Distinguished Name: CN=Certainly Root R1, O=Certainly, C=US + +Name: Certainly +Alias Name: certainlyroote1 +Distinguished Name: CN=Certainly Root E1, O=Certainly, C=US + +New in release OpenJDK 17.0.10 (2024-01-16): +============================================ +Live versions of these release notes can be found at: + * https://bit.ly/openjdk1710 + +* CVEs + - CVE-2024-20918 + - CVE-2024-20919 + - CVE-2024-20921 + - CVE-2024-20932 + - CVE-2024-20945 + - CVE-2024-20952 +* Security fixes + - JDK-8276123, JDK-8316613: ZipFile::getEntry will not return a file entry when there is a directory entry of the same name within a Zip File + - JDK-8308204: Enhanced certificate processing + - JDK-8314295: Enhance verification of verifier + - JDK-8314307: Improve loop handling + - JDK-8314468: Improve Compiler loops + - JDK-8316976: Improve signature handling + - JDK-8317547: Enhance TLS connection support +* Other changes + - JDK-6445283: ProgressMonitorInputStream not large file aware (>2GB) + - JDK-8041447: Test javax/swing/dnd/7171812/bug7171812.java fails with java.lang.RuntimeException: Test failed, scroll on drag doesn't work + - JDK-8061729: Update java/net tests to eliminate dependency on sun.net.www.MessageHeader and some other internal APIs + - JDK-8161536: sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java fails with ProviderException + - JDK-8168469: Memory leak in JceSecurity + - JDK-8176567: nsk/jdi/ReferenceType/instances/instances002: TestFailure: Unexpected size of referenceType.instances(nsk.share.jdi.TestInterfaceImplementer1): 11, expected: 10 + - JDK-8193543: Regression automated test '/open/test/jdk/java/awt/TrayIcon/SystemTrayInstance/SystemTrayInstanceTest.java' fails + - JDK-8198668: MemoryPoolMBean/isUsageThresholdExceeded/isexceeded001/TestDescription.java still failing + - JDK-8202790: DnD test DisposeFrameOnDragTest.java does not clean up + - JDK-8202931: [macos] java/awt/Choice/ChoicePopupLocation/ChoicePopupLocation.java fails + - JDK-8207166: jdk/jshell/JdiHangingLaunchExecutionControlTest.java - launch timeout + - JDK-8225313: serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorStatObjectCorrectnessTest.java failed with Unexpected high difference percentage + - JDK-8228990: JFR: TestNetworkUtilizationEvent.java expects 2+ Network interfaces on Linux but finding 1 + - JDK-8232839: JDI AfterThreadDeathTest.java failed due to "FAILED: Did not get expected IllegalThreadStateException on a StepRequest.enable()" + - JDK-8232933: Javac inferred type does not conform to equality constraint + - JDK-8239801: [macos] java/awt/Focus/UnaccessibleChoice/AccessibleChoiceTest.java fails + - JDK-8244289: fatal error: Possible safepoint reached by thread that does not allow it + - JDK-8247351: [aarch64] NullPointerException during stack walking (clhsdb "where -a") + - JDK-8249826: 5 javax/net/ssl/SSLEngine tests use @ignore w/o bug-id + - JDK-8258951: java/net/httpclient/HandshakeFailureTest.java failed with "RuntimeException: Not found expected SSLHandshakeException in java.io.IOException" + - JDK-8262186: Call X509KeyManager.chooseClientAlias once for all key types + - JDK-8262901: [macos_aarch64] NativeCallTest expected:<-3.8194101E18> but was:<3.02668882E10> + - JDK-8265586: [windows] last button is not shown in AWT Frame with BorderLayout and MenuBar set. + - JDK-8266593: vmTestbase/nsk/jvmti/PopFrame/popframe011 fails with "assert(java_thread == _state->get_thread()) failed: Must be" + - JDK-8268433: serviceability/dcmd/framework/VMVersionTest.java fails with Unable to send object throw not established PipeIO Listener Thread connection + - JDK-8268916: Tests for AffirmTrust roots + - JDK-8269425: 2 jdk/jfr/api/consumer/streaming tests failed to attach + - JDK-8270199: Most SA tests are skipped on macosx-aarch64 because all executables are signed + - JDK-8270447: [IR Framework] Add missing compilation level restriction when using FlipC1C2 stress option + - JDK-8271073: Improve testing with VM option VerifyArchivedFields + - JDK-8271566: DSA signature length value is not accurate in P11Signature + - JDK-8271824: mark hotspot runtime/CompressedOops tests which ignore external VM flags + - JDK-8271826: mark hotspot runtime/condy tests which ignore external VM flags + - JDK-8271828: mark hotspot runtime/classFileParserBug tests which ignore external VM flags + - JDK-8271829: mark hotspot runtime/Throwable tests which ignore external VM flags + - JDK-8271886: mark hotspot runtime/InvocationTests tests which ignore external VM flags + - JDK-8271887: mark hotspot runtime/CDSCompressedKPtrs tests which ignore external VM flags + - JDK-8271890: mark hotspot runtime/Dictionary tests which ignore external VM flags + - JDK-8271891: mark hotspot runtime/Safepoint tests which ignore external VM flags + - JDK-8271892: mark hotspot runtime/PrintStringTableStats/PrintStringTableStatsTest.java test as ignoring external VM flags + - JDK-8271893: mark hotspot runtime/PerfMemDestroy/PerfMemDestroy.java test as ignoring external VM flags + - JDK-8271904: mark hotspot runtime/ClassFile tests which ignore external VM flags + - JDK-8271905: mark hotspot runtime/Metaspace tests which ignore external VM flags + - JDK-8272099: mark hotspot runtime/Monitor tests which ignore external VM flags + - JDK-8272291: mark hotspot runtime/logging tests which ignore external VM flags + - JDK-8272551: mark hotspot runtime/modules tests which ignore external VM flags + - JDK-8272552: mark hotspot runtime/cds tests which ignore external VM flags + - JDK-8272998: ImageIO.read() throws incorrect exception type + - JDK-8273456: Do not hold ttyLock around stack walking + - JDK-8273522: Rename test property vm.cds.archived.java.heap to vm.cds.write.archived.java.heap + - JDK-8273629: compiler/uncommontrap/TestDeoptOOM.java fails with release VMs + - JDK-8273831: PrintServiceLookup spawns 2 threads in the current classloader, getting orphaned + - JDK-8273921: Refactor NSK/JDI tests to create thread using factory + - JDK-8274211: Test man page that options are documented + - JDK-8274345: make build-test-lib is broken + - JDK-8275329: ZGC: vmTestbase/gc/gctests/SoftReference/soft004/soft004.java fails with assert(_phases->length() <= 1000) failed: Too many recored phases? + - JDK-8275333: Print count in "Too many recored phases?" assert + - JDK-8275440: Remove VirtualSpaceList::is_full() + - JDK-8275509: ModuleDescriptor.hashCode isn't reproducible across builds + - JDK-8276036: The value of full_count in the message of insufficient codecache is wrong + - JDK-8276054: JMH benchmarks for Fences + - JDK-8276711: compiler/codecache/cli tests failing when SegmentedCodeCache used with -Xint + - JDK-8276819: javax/print/PrintServiceLookup/FlushCustomClassLoader.java fails to free + - JDK-8277307: Pre shared key sent under both session_ticket and pre_shared_key extensions + - JDK-8279856: Parallel: Use PreservedMarks to record promotion-failed objects + - JDK-8281015: Further simplify NMT backend + - JDK-8281149: (fs) java/nio/file/FileStore/Basic.java fails with java.lang.RuntimeException: values differ by more than 1GB + - JDK-8281874: Can't unpack msi installers from test/jdk/tools/jpackage/windows/test/jdk/tools/jpackage/windows/WinShortcutPromptTest.java test + - JDK-8282011: test/jdk/tools/jpackage/windows/WinL10nTest.java test fails if light.exe is not in %PATH% + - JDK-8282017: sun/net/www/protocol/https/HttpsURLConnection/B6216082.java fails with "SocketException: Unexpected end of file from server" + - JDK-8283670: gtest os.release_multi_mappings_vm is still racy + - JDK-8284047: Harmonize/Standardize the SSLSocket/SSLEngine/SSLSocketSSLEngine test templates + - JDK-8285516: clearPassword should be called in a finally try block + - JDK-8285785: CheckCleanerBound test fails with PasswordCallback object is not released + - JDK-8285867: Convert applet manual tests SelectionVisible.java to Frame and automate + - JDK-8286430: make test TEST="gtest:" exits with error when it shouldn't + - JDK-8286473: Drop --enable-preview from Record related tests + - JDK-8286474: Drop --enable-preview from Sealed Classes related tests + - JDK-8286475: Drop --enable-preview from instanceof pattern matching related tests + - JDK-8286969: Add a new test library API to execute kinit in SecurityTools.java + - JDK-8287596: Reorg jdk.test.lib.util.ForceGC + - JDK-8287671: Adjust ForceGC to invoke System::gc fewer times for negative case + - JDK-8287867: Bad merge of jdk/test/lib/util/ForceGC.java causing test compilation error + - JDK-8288325: [windows] Actual and Preferred Size of AWT Non-resizable frame are different + - JDK-8288961: jpackage: test MSI installation fix + - JDK-8288993: Make AwtFramePackTest generic by removing @requires tag + - JDK-8289584: (fs) Print size values in java/nio/file/FileStore/Basic.java when they differ by > 1GiB + - JDK-8289745: JfrStructCopyFailed uses heap words instead of bytes for object sizes + - JDK-8290909: MemoryPoolMBean/isUsageThresholdExceeded tests failed with "isUsageThresholdExceeded() returned false, and is still false, while threshold = MMMMMMM and used peak = NNNNNNN" + - JDK-8291154: Create a non static nested class without enclosing class throws VerifyError + - JDK-8291550: RISC-V: jdk uses misaligned memory access when AvoidUnalignedAccess enabled + - JDK-8291911: java/io/File/GetXSpace.java fails with "53687091200 != 161051996160" + - JDK-8292067: Convert test/sun/management/jmxremote/bootstrap shell tests to java version + - JDK-8292072: NMT: repurpose Tracking overhead counter as global malloc counter + - JDK-8292261: adjust timeouts in JLI GetObjectSizeIntrinsicsTest.java + - JDK-8292381: java/net/httpclient/SpecialHeadersTest.java fails with "ERROR: Shutting down connection: HTTP/2 client stopped" + - JDK-8292636: (dc) Problem listing of java/nio/channels/DatagramChannel/Unref.java has incorrect issue ID + - JDK-8292717: Clean up checking of testing requirements in configure + - JDK-8293156: Dcmd VM.classloaders fails to print the full hierarchy + - JDK-8293335: sun/management/jmxremote/bootstrap/RmiBootstrapTest.java#id1failed with "Agent communication error: java.io.EOFException" + - JDK-8293343: sun/management/jmxremote/bootstrap/RmiSslNoKeyStoreTest.java failed with "Agent communication error: java.io.EOFException" + - JDK-8293563: [macos-aarch64] SA core file tests failing with sun.jvm.hotspot.oops.UnknownOopException + - JDK-8293579: tools/jpackage/share/jdk/jpackage/tests/UnicodeArgsTest.java fails on Japanese Windows platform + - JDK-8294402: Add diagnostic logging to VMProps.checkDockerSupport + - JDK-8294427: Check boxes and radio buttons have rendering issues on Windows in High DPI env + - JDK-8294881: test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/dispose/dispose003/TestDescription.java fails + - JDK-8295229: Try to verify gtest version + - JDK-8295424: adjust timeout for another JLI GetObjectSizeIntrinsicsTest.java subtest + - JDK-8296275: Write a test to verify setAccelerator method of JMenuItem + - JDK-8296437: NMT incurs costs if disabled + - JDK-8296821: compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/NativeCallTest.java fails after JDK-8262901 + - JDK-8297142: jdk/jfr/event/runtime/TestShutdown.java fails on Linux ppc64le and Linux aarch64 + - JDK-8297296: java/awt/Mouse/EnterExitEvents/DragWindowTest.java fails with "No MouseReleased event on label!" + - JDK-8297367: disable TestRedirectLinks.java in slowdebug mode + - JDK-8297640: Increase buffer size for buf (insert_features_names) in Abstract_VM_Version::insert_features_names + - JDK-8297798: Timeout with DTLSOverDatagram test template + - JDK-8297958: NMT: Display peak values + - JDK-8298298: NMT: count deltas are printed with 32-bit signed size + - JDK-8298619: java/io/File/GetXSpace.java is failing + - JDK-8298735: Some tools/jpackage/windows/* tests fails with jtreg test timeout + - JDK-8298867: Basics.java fails with SSL handshake exception + - JDK-8298868: Update EngineCloseOnAlert.java for changes to TLS implementation + - JDK-8298869: Update ConnectionTest.java for changes to TLS implementation + - JDK-8298872: Update CheckStatus.java for changes to TLS implementation + - JDK-8298873: Update IllegalRecordVersion.java for changes to TLS implementation + - JDK-8298874: Update TestAllSuites.java for TLS v1.2 and 1.3 + - JDK-8298905: Test "java/awt/print/PrinterJob/ImagePrinting/PrintARGBImage.java" fails because the frames of instruction does not display + - JDK-8299075: TestStringDeduplicationInterned.java fails because extra deduplication + - JDK-8299207: [Testbug] Add back test/jdk/java/awt/Graphics2D/DrawPrimitivesTest.java + - JDK-8299241: jdk/jfr/api/consumer/streaming/TestJVMCrash.java generates unnecessary core file + - JDK-8299255: Unexpected round errors in FreetypeFontScaler + - JDK-8299677: Formatter.format might take a long time to format an integer or floating-point + - JDK-8299748: java/util/zip/Deinflate.java failing on s390x + - JDK-8300259: Add test coverage for processing of pending block files in signed JARs + - JDK-8300272: Improve readability of the test JarWithOneNonDisabledDigestAlg + - JDK-8300727: java/awt/List/ListGarbageCollectionTest/AwtListGarbageCollectionTest.java failed with "List wasn't garbage collected" + - JDK-8300997: Add curl support to createJMHBundle.sh + - JDK-8301065: Handle control characters in java_lang_String::print + - JDK-8301189: validate-source fails after JDK-8298873 + - JDK-8301247: JPackage app-image exe launches multiple exe's in JDK 17+ + - JDK-8301377: adjust timeout for JLI GetObjectSizeIntrinsicsTest.java subtest again + - JDK-8301455: comments in TestTypeAnnotations still refer to resolved JDK-8068737 + - JDK-8301457: Code in SendPortZero.java is uncommented even after JDK-8236852 was fixed + - JDK-8301489: C1: ShortLoopOptimizer might lift instructions before their inputs + - JDK-8301570: Test runtime/jni/nativeStack/ needs to detach the native thread + - JDK-8301701: java/net/DatagramSocket/DatagramSocketMulticasting.java should be hardened + - JDK-8302017: Allocate BadPaddingException only if it will be thrown + - JDK-8302109: Trivial fixes to btree tests + - JDK-8302525: Write a test to check various components send Events while mouse and key are used simultaneously + - JDK-8302607: increase timeout for ContinuousCallSiteTargetChange.java + - JDK-8303607: SunMSCAPI provider leaks memory and keys + - JDK-8303922: build-test-lib target is broken + - JDK-8304174: Remove delays from httpserver tests + - JDK-8304954: SegmentedCodeCache fails when using large pages + - JDK-8305502: adjust timeouts in three more M&M tests + - JDK-8305505: NPE in javazic compiler + - JDK-8305646: compile error on Alpine with gcc12 after 8298619 in libGetXSpace.c + - JDK-8306280: Open source several choice AWT tests + - JDK-8307123: Fix deprecation warnings in DPrinter + - JDK-8307311: Timeouts on one macOS 12.6.1 host of two Swing JTableHeader tests + - JDK-8307403: java/util/zip/DeInflate.java timed out + - JDK-8307732: build-test-lib is broken + - JDK-8308047: java/util/concurrent/ScheduledThreadPoolExecutor/BasicCancelTest.java timed out and also had jcmd pipe errors + - JDK-8308103: Massive (up to ~30x) increase in C2 compilation time since JDK 17 + - JDK-8308116: jdk.test.lib.compiler.InMemoryJavaCompiler.compile does not close files + - JDK-8308223: failure handler missed jcmd.vm.info command + - JDK-8308592: Framework for CA interoperability testing + - JDK-8308593: Add KEEPALIVE Extended Socket Options Support for Windows + - JDK-8308910: Allow executeAndLog to accept running process + - JDK-8309032: jpackage does not work for module projects unless --module-path is specified + - JDK-8309104: [JVMCI] compiler/unsafe/UnsafeGetStableArrayElement test asserts wrong values with Graal + - JDK-8309216: Cast from jchar* to char* in test java/io/GetXSpace.java + - JDK-8309258: RISC-V: Add riscv_hwprobe syscall + - JDK-8309502: RISC-V: String.indexOf intrinsic may produce misaligned memory loads + - JDK-8309778: java/nio/file/Files/CopyAndMove.java fails when using second test directory + - JDK-8309974: some JVMCI tests fail when VM options include -XX:+EnableJVMCI + - JDK-8310233: Fix THP detection on Linux + - JDK-8310265: (process) jspawnhelper should not use argv[0] + - JDK-8310268: RISC-V: misaligned memory access in String.Compare intrinsic + - JDK-8310321: make JDKOPT_CHECK_CODESIGN_PARAMS more verbose + - JDK-8310656: RISC-V: __builtin___clear_cache can fail silently. + - JDK-8310687: JDK-8303215 is incomplete + - JDK-8311511: Improve description of NativeLibrary JFR event + - JDK-8311514: Incorrect regex in TestMetaSpaceLog.java + - JDK-8311585: Add JRadioButtonMenuItem to bug8031573.java + - JDK-8311592: ECKeySizeParameterSpec causes too many exceptions on third party providers + - JDK-8311631: When multiple users run tools/jpackage/share/LicenseTest.java, Permission denied for writing /var/tmp/*.files + - JDK-8311813: C1: Uninitialized PhiResolver::_loop field + - JDK-8312065: Socket.connect does not timeout when profiling + - JDK-8312078: [PPC] JcmdScale.java Failing on AIX + - JDK-8312126: NullPointerException in CertStore.getCRLs after 8297955 + - JDK-8312182: THPs cause huge RSS due to thread start timing issue + - JDK-8312394: [linux] SIGSEGV if kernel was built without hugepage support + - JDK-8312395: Improve assertions in growableArray + - JDK-8312440: assert(cast != nullptr) failed: must have added a cast to pin the node + - JDK-8312467: relax the builddir check in make/autoconf/basic.m4 + - JDK-8312489: Increase jdk.jar.maxSignatureFileSize default which is too low for JARs such as WhiteSource/Mend unified agent jar + - JDK-8312535: MidiSystem.getSoundbank() throws unexpected SecurityException + - JDK-8312573: Failure during CompileOnly parsing leads to ShouldNotReachHere + - JDK-8312585: Rename DisableTHPStackMitigation flag to THPStackMitigation + - JDK-8312592: New parentheses warnings after HarfBuzz 7.2.0 update + - JDK-8312612: handle WideCharToMultiByte return values + - JDK-8312620: WSL Linux build crashes after JDK-8310233 + - JDK-8312625: Test serviceability/dcmd/vm/TrimLibcHeapTest.java failed: RSS use increased + - JDK-8312909: C1 should not inline through interface calls with non-subtype receiver + - JDK-8312974: Bump update version for OpenJDK: jdk-17.0.10 + - JDK-8313164: src/java.desktop/windows/native/libawt/windows/awt_Robot.cpp GetRGBPixels adjust releasing of resources + - JDK-8313252: Java_sun_awt_windows_ThemeReader_paintBackground release resources in early returns + - JDK-8313322: RISC-V: implement MD5 intrinsic + - JDK-8313626: C2 crash due to unexpected exception control flow + - JDK-8313657: com.sun.jndi.ldap.Connection.cleanup does not close connections on SocketTimeoutErrors + - JDK-8313691: use close after failing os::fdopen in vmError and ciEnv + - JDK-8313779: RISC-V: use andn / orn in the MD5 instrinsic + - JDK-8313781: Add regression tests for large page logging and user-facing error messages + - JDK-8313782: Add user-facing warning if THPs are enabled but cannot be used + - JDK-8313792: Verify 4th party information in src/jdk.internal.le/share/legal/jline.md + - JDK-8314024: SIGSEGV in PhaseIdealLoop::build_loop_late_post_work due to bad immediate dominator info + - JDK-8314045: ArithmeticException in GaloisCounterMode + - JDK-8314063: The socket is not closed in Connection::createSocket when the handshake failed for LDAP connection + - JDK-8314094: java/lang/ProcessHandle/InfoTest.java fails on Windows when run as user with Administrator privileges + - JDK-8314121: test tools/jpackage/share/RuntimePackageTest.java#id0 fails on RHEL8 + - JDK-8314139: TEST_BUG: runtime/os/THPsInThreadStackPreventionTest.java could fail on machine with large number of cores + - JDK-8314144: gc/g1/ihop/TestIHOPStatic.java fails due to extra concurrent mark with -Xcomp + - JDK-8314242: Update applications/scimark/Scimark.java to accept VM flags + - JDK-8314263: Signed jars triggering Logger finder recursion and StackOverflowError + - JDK-8314495: Update to use jtreg 7.3.1 + - JDK-8314679: SA fails to properly attach to JVM after having just detached from a different JVM + - JDK-8314883: Java_java_util_prefs_FileSystemPreferences_lockFile0 write result errno in missing case + - JDK-8315020: The macro definition for LoongArch64 zero build is not accurate. + - JDK-8315062: [GHA] get-bootjdk action should return the abolute path + - JDK-8315195: RISC-V: Update hwprobe query for new extensions + - JDK-8315206: RISC-V: hwprobe query is_set return wrong value + - JDK-8315214: Do not run sun/tools/jhsdb tests concurrently + - JDK-8315377: C2: assert(u->find_out_with(Op_AddP) == nullptr) failed: more than 2 chained AddP nodes? + - JDK-8315415: OutputAnalyzer.shouldMatchByLine() fails in some cases + - JDK-8315499: build using devkit on Linux ppc64le RHEL puts path to devkit into libsplashscreen + - JDK-8315549: CITime misreports code/total nmethod sizes + - JDK-8315606: Open source few swing text/html tests + - JDK-8315644: increase timeout of sun/security/tools/jarsigner/Warning.java + - JDK-8315683: Parallelize java/util/concurrent/tck/JSR166TestCase.java + - JDK-8315692: Parallelize gc/stress/TestStressRSetCoarsening.java test + - JDK-8315696: SignedLoggerFinderTest.java test failed + - JDK-8315751: RandomTestBsi1999 fails often with timeouts on Linux ppc64le + - JDK-8315766: Parallelize gc/stress/TestStressIHOPMultiThread.java test + - JDK-8315770: serviceability/sa/TestJmapCoreMetaspace.java should run with -XX:-VerifyDependencies + - JDK-8315863: [GHA] Update checkout action to use v4 + - JDK-8315937: Enable parallelism in vmTestbase/nsk/stress/numeric tests + - JDK-8316087: Test SignedLoggerFinderTest.java is still failing + - JDK-8316178: Better diagnostic header for CodeBlobs + - JDK-8316206: Test StretchedFontTest.java fails for Baekmuk font + - JDK-8316461: Fix: make test outputs TEST SUCCESS after unsuccessful exit + - JDK-8316514: Better diagnostic header for VtableStub + - JDK-8316566: RISC-V: Zero extended narrow oop passed to Atomic::cmpxchg + - JDK-8316645: RISC-V: Remove dependency on libatomic by adding cmpxchg 1b + - JDK-8316710: Exclude java/awt/font/Rotate/RotatedTextTest.java + - JDK-8316743: RISC-V: Change UseVectorizedMismatchIntrinsic option result to warning + - JDK-8316746: Top of lock-stack does not match the unlocked object + - JDK-8316778: test hprof lib: invalid array element type from JavaValueArray.elementSize + - JDK-8316859: RISC-V: Disable detection of V through HWCAP + - JDK-8316906: Clarify TLABWasteTargetPercent flag + - JDK-8317121: vector_masked_load instruction is moved too early after JDK-8286941 + - JDK-8317327: Remove JT_JAVA dead code in jib-profiles.js + - JDK-8317373: Add Telia Root CA v2 + - JDK-8317374: Add Let's Encrypt ISRG Root X2 + - JDK-8317705: ProblemList sun/tools/jstat/jstatLineCountsX.sh on linux-ppc64le and aix due to JDK-8248691 + - JDK-8317706: Exclude java/awt/Graphics2D/DrawString/RotTransText.java on linux + - JDK-8317772: NMT: Make peak values available in release builds + - JDK-8317834: java/lang/Thread/IsAlive.java timed out + - JDK-8317920: JDWP-agent sends broken exception event with onthrow option + - JDK-8317967: Enhance test/jdk/javax/net/ssl/TLSCommon/SSLEngineTestCase.java to handle default cases + - JDK-8318669: Target OS detection in 'test-prebuilt' makefile target is incorrect when running on MSYS2 + - JDK-8318705: [macos] ProblemList java/rmi/registry/multipleRegistries/MultipleRegistries.java + - JDK-8318759: Add four DigiCert root certificates + - JDK-8318855: Extra file added by mistake during the backport of JDK-8283326 + - JDK-8318889: C2: add bailout after assert Bad graph detected in build_loop_late + - JDK-8318953: RISC-V: Small refactoring for MacroAssembler::test_bit + - JDK-8319184: RISC-V: improve MD5 intrinsic + - JDK-8319187: Add three eMudhra emSign roots + - JDK-8319525: RISC-V: Rename *_riscv64.ad files to *_riscv.ad under riscv/gc + - JDK-8319958: test/jdk/java/io/File/libGetXSpace.c does not compile on Windows 32-bit + - JDK-8320053: GHA: Cross-compile gtest code + - JDK-8320209: VectorMaskGen clobbers rflags on x86_64 + - JDK-8320597: RSA signature verification fails on signed data that does not encode params correctly + - JDK-8320601: ProblemList java/lang/invoke/lambda/LambdaFileEncodingSerialization.java on linux-all + - JDK-8323422: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.10 + +Notes on individual issues: +=========================== + +core-libs/java.net: + +JDK-8308593: Add KEEPALIVE Extended Socket Options Support for Windows +====================================================================== +On Windows 10 version 1709 and above, TCP_KEEPIDLE and +TCP_KEEPINTERVAL are now supported in the +java.net.ExtendedSocketOptions class. Similarly, on Windows 10 +version 1703 and above, TCP_KEEPCOUNT is now supported. + +security-libs/javax.net.ssl: + +JDK-8262186: Call `X509KeyManager.chooseClientAlias` Once for All Key Types +=========================================================================== +The (D)TLS implementation in OpenJDK now makes only one call to the +X509Keymanager.chooseClientAlias method during handshaking for client +authentication, regardless of how many algorithms are requested. + +hotspot/runtime: + +JDK-8317772: NMT: Make peak values available in release builds +============================================================== +The peak value is the highest value for committed memory in a given +Native Memory Tracking (NMT) category over the lifetime of the JVM +process. NMT reports will now show the peak value for all categories. + +If the committed memory for a category is at its peak, NMT will +print "at peak". Otherwise, it prints the peak value. + +For example, "Compiler (arena=196KB #4) (peak=6126KB #16)" shows that +compiler arena memory peaked above 6 MB, but now hovers around 200KB. + +JDK-8313782: Add user-facing warning if THPs are enabled but cannot be used +=========================================================================== +On Linux, the JVM will now print the following message to standard +output if Transparent Huge Pages (THPs) are requested, but are not +supported on the operating system: + +"UseTransparentHugePages disabled; transparent huge pages are not +supported by the operating system." + +security-libs/java.security: + +JDK-8312489: Increase jdk.jar.maxSignatureFileSize default which is too low for JARs such as WhiteSource/Mend unified agent jar +=============================================================================================================================== +A maximum signature file size property, jdk.jar.maxSignatureFileSize, +was introduced in the 17.0.8 release of OpenJDK by JDK-8300596, with +a default of 8MB. This default proved to be too small for some JAR +files. This release, 17.0.10, increases it to 16MB. + +JDK-8317374: Added ISRG Root X2 CA Certificate from Let's Encrypt +================================================================= +The following root certificate has been added to the cacerts +truststore: + +Name: Let's Encrypt +Alias Name: letsencryptisrgx2 +Distinguished Name: CN=ISRG Root X2, O=Internet Security Research Group, C=US + +JDK-8318759: Added Four Root Certificates from DigiCert, Inc. +============================================================= +The following root certificates have been added to the cacerts +truststore: + +Name: DigiCert, Inc. +Alias Name: digicertcseccrootg5 +Distinguished Name: CN=DigiCert CS ECC P384 Root G5, O="DigiCert, Inc.", C=US + +Name: DigiCert, Inc. +Alias Name: digicertcsrsarootg5 +Distinguished Name: CN=DigiCert CS RSA4096 Root G5, O="DigiCert, Inc.", C=US + +Name: DigiCert, Inc. +Alias Name: digicerttlseccrootg5 +Distinguished Name: CN=DigiCert TLS ECC P384 Root G5, O="DigiCert, Inc.", C=US + +Name: DigiCert, Inc. +Alias Name: digicerttlsrsarootg5 +Distinguished Name: CN=DigiCert TLS RSA4096 Root G5, O="DigiCert, Inc.", C=US + +JDK-8319187: Added Three Root Certificates from eMudhra Technologies Limited +============================================================================ +The following root certificates have been added to the cacerts +truststore: + +Name: eMudhra Technologies Limited +Alias Name: emsignrootcag1 +Distinguished Name: CN=emSign Root CA - G1, O=eMudhra Technologies Limited, OU=emSign PKI, C=IN + +Name: eMudhra Technologies Limited +Alias Name: emsigneccrootcag3 +Distinguished Name: CN=emSign ECC Root CA - G3, O=eMudhra Technologies Limited, OU=emSign PKI, C=IN + +Name: eMudhra Technologies Limited +Alias Name: emsignrootcag2 +Distinguished Name: CN=emSign Root CA - G2, O=eMudhra Technologies Limited, OU=emSign PKI, C=IN + +JDK-8317373: Added Telia Root CA v2 Certificate +=============================================== +The following root certificate has been added to the cacerts +truststore: + +Name: Telia Root CA v2 +Alias Name: teliarootcav2 +Distinguished Name: CN=Telia Root CA v2, O=Telia Finland Oyj, C=FI ``` + +New in release OpenJDK 17.0.9 (2023-10-17): +=========================================== +Live versions of these release notes can be found at: + * https://bit.ly/openjdk1709 + +* CVEs + - CVE-2023-22081 + - CVE-2023-22025 +* Security fixes + - JDK-8286503, JDK-8312367: Enhance security classes + - JDK-8296581: Better system proxy support + - JDK-8297856: Improve handling of Bidi characters + - JDK-8305815, JDK-8307278: Update Libpng to 1.6.39 + - JDK-8306881, JDK-8307286: Update FreeType to 2.13.0 + - JDK-8309966: Enhanced TLS connections + - JDK-8312248: Enhanced archival support redux + - JDK-8314649: Enhanced archival support redux + - JDK-8317121: vector_masked_load instruction is moved too early after JDK-8286941 +* New features + - JDK-8276799: Implementation of JEP 422: Linux/RISC-V Port +* Other changes + - JDK-6176679: Application freezes when copying an animated gif image to the system clipboard + - JDK-6381945: (cal) Japanese calendar unit test system should avoid multiple static imports + - JDK-8040793: vmTestbase/nsk/monitoring/stress/lowmem fails on calling isCollectionUsageThresholdExceeded() + - JDK-8153837: AArch64: Handle special cases for MaxINode & MinINode + - JDK-8156889: ListKeychainStore.sh fails in some virtualized environments + - JDK-8171221: Remove -XX:+CheckMemoryInitialization + - JDK-8180266: Convert sun/security/provider/KeyStore/DKSTest.sh to Java Jtreg Test + - JDK-8195589: T6587786.java failed after JDK-8189997 + - JDK-8209398: sun/security/pkcs11/KeyStore/SecretKeysBasic.sh failed with "PKCS11Exception: CKR_ATTRIBUTE_SENSITIVE" + - JDK-8225012: sanity/client/SwingSet/src/ToolTipDemoTest.java fails on Windows + - JDK-8229147: Linux os::create_thread() overcounts guardpage size with newer glibc (>=2.27) + - JDK-8252713: jtreg time out of CtrlASCII.java seems to hang the Xserver. + - JDK-8255548: Missing coverage for javax.xml.crypto.dom.DOMCryptoContext + - JDK-8263044: jdk/jfr/jvm/TestDumpOnCrash.java timed out + - JDK-8267188: gc/stringdedup/TestStringDeduplicationInterned.java fails with Shenandoah + - JDK-8267341: macos attempt_reserve_memory_at(arg1, arg2, true) failure + - JDK-8267517: async logging for stdout and stderr + - JDK-8267860: Off-by-one bug when searching arrays in AlpnGreaseTest + - JDK-8268852: AsyncLogWriter should not overide is_Named_thread() + - JDK-8269091: javax/sound/sampled/Clip/SetPositionHang.java failed with ArrayIndexOutOfBoundsException: Array index out of range: -4 + - JDK-8269466: Factor out the common code for initializing and starting internal VM JavaThreads + - JDK-8270331: [TESTBUG] Error: Not a test or directory containing tests: java/awt/print/PrinterJob/InitToBlack.java + - JDK-8270794: Avoid loading Klass* twice in TypeArrayKlass::oop_size() + - JDK-8270894: Use acquire semantics in ObjectSynchronizer::read_stable_mark() + - JDK-8271707: migrate tests to use jdk.test.whitebox.WhiteBox + - JDK-8271898: disable os.release_multi_mappings_vm on macOS-X64 + - JDK-8272586: emit abstract machine code in hs-err logs + - JDK-8272654: Mark word accesses should not use Access API + - JDK-8273092: Sort classlist in JDK image + - JDK-8273803: Zero: Handle "zero" variant in CommandLineOptionTest.java + - JDK-8274986: max code printed in hs-err logs should be configurable + - JDK-8275031: runtime/ErrorHandling/MachCodeFramesInErrorFile.java fails when hsdis is present + - JDK-8275303: sun/java2d/pipe/InterpolationQualityTest.java fails with D3D basic render driver + - JDK-8275415: Prepare Leak Profiler for Lilliput + - JDK-8275662: remove test/lib/sun/hotspot + - JDK-8276333: jdk/jfr/event/oldobject/TestLargeRootSet.java failed "assert(!contains(edge->reference())) failed: invariant" + - JDK-8276651: java/lang/ProcessHandle tests fail with "RuntimeException: Input/output error" in java.lang.ProcessHandleImpl$Info.info0 + - JDK-8276696: ParallelObjectIterator freed at the wrong time in VM_HeapDumper + - JDK-8277102: Dubious PrintCompilation output + - JDK-8277353: java/security/MessageDigest/ThreadSafetyTest.java test times out + - JDK-8277417: C1 LIR instruction for load-klass + - JDK-8277427: Update jib-profiles.js to use JMH 1.33 devkit + - JDK-8277654: Shenandoah: Don't produce new memory state in C2 LRB runtime call + - JDK-8277860: PPC: Remove duplicate info != NULL check + - JDK-8278141: LIR_OpLoadKlass::_info shadows the field of the same name from LIR_Op + - JDK-8278456: Define jtreg jdk_desktop test group time-based sub-tasks for use by headful testing. + - JDK-8279545: Buffer overrun in reverse_words of sharedRuntime_x86_64.cpp:3517 + - JDK-8280032: Update jib-profiles.js to use JMH 1.34 devkit + - JDK-8280396: G1: Full gc mark stack draining should prefer to make work available to other threads + - JDK-8280885: Shenandoah: Some tests failed with "EA: missing allocation reference path" + - JDK-8281507: Two javac tests have bad jtreg `@clean` tags + - JDK-8281717: Cover logout method for several LoginModule + - JDK-8282404: DrawStringWithInfiniteXform.java failed with "RuntimeException: drawString with InfiniteXform transform takes long time" + - JDK-8282651: ZGC: vmTestbase/gc/ArrayJuggle/ tests fails intermittently with exit code 97 + - JDK-8282665: [REDO] ByteBufferTest.java: replace endless recursion with RuntimeException in void ck(double x, double y) + - JDK-8283056: show abstract machine code in hs-err for all VM crashes + - JDK-8283276: java/io/ObjectStreamClass/ObjectStreamClassCaching.java fails with various GCs + - JDK-8283326: Implement SafeFetch statically + - JDK-8283724: Incorrect description for jtreg-failure-handler option + - JDK-8283756: (zipfs) ZipFSOutputStreamTest.testOutputStream should only check inflated bytes + - JDK-8283865: riscv: Break down -XX:+UseRVB into seperate options for each bitmanip extension + - JDK-8283929: GHA: Add RISC-V build config + - JDK-8284068: riscv: should call Atomic::release_store in JavaThread::set_thread_state + - JDK-8284090: com/sun/security/auth/module/AllPlatforms.java fails to compile + - JDK-8284273: Early crashes in os::print_context on AArch64 + - JDK-8284760: Correct type/array element offset in LibraryCallKit::get_state_from_digest_object() + - JDK-8284772: GHA: Use GCC Major Version Dependencies Only + - JDK-8284910: Buffer clean in PasswordCallback + - JDK-8284937: riscv: should not allocate special register for temp + - JDK-8284997: arm32 build crashes since JDK-8283326 + - JDK-8285303: riscv: Incorrect register mask in call_native_base + - JDK-8285437: riscv: Fix MachNode size mismatch for MacroAssembler::verify_oops* + - JDK-8285630: Fix a configure error in RISC-V cross build + - JDK-8285675: Temporary fix for arm32 SafeFetch + - JDK-8285699: riscv: Provide information when hitting a HaltNode + - JDK-8285711: riscv: RVC: Support disassembler show-bytes option + - JDK-8285756: clean up use of bad arguments for `@clean` in langtools tests + - JDK-8285980: Several tests in compiler/c2/irTests miss @requires vm.compiler2.enabled + - JDK-8286481: Exception printed to stdout on Windows when storing transparent image in clipboard + - JDK-8286620: Create regression test for verifying setMargin() of JRadioButton + - JDK-8286623: Bundle zlib by default with JDK on macos aarch64 + - JDK-8287227: Shenandoah: A couple of virtual thread tests failed with iu mode even without Loom enabled. + - JDK-8287418: riscv: Fix correctness issue of MacroAssembler::movptr + - JDK-8287552: riscv: Fix comment typo in li64 + - JDK-8287970: riscv: jdk/incubator/vector/*VectorTests failing + - JDK-8288719: [arm32] SafeFetch32 thumb interleaving causes random crashes + - JDK-8289077: Add manual tests to open + - JDK-8289238: Refactoring changes to PassFailJFrame Test Framework + - JDK-8289510: Improve test coverage for XPath Axes: namespace + - JDK-8289512: Fix GCC 12 warnings for adlc output_c.cpp + - JDK-8289547: Update javax/swing/Popup/TaskbarPositionTest.java + - JDK-8289646: configure script failed on WSL + - JDK-8289688: jfr command hangs when it processes invalid file + - JDK-8289748: C2 compiled code crashes with SIGFPE with -XX:+StressLCM and -XX:+StressGCM + - JDK-8289797: tools/launcher/I18NArgTest.java fails on Japanese Windows environment + - JDK-8289917: Metadata for regionsRefilled of G1EvacuationStatistics event is wrong + - JDK-8290137: riscv: small refactoring for add_memory_int32/64 + - JDK-8290164: compiler/runtime/TestConstantsInError.java fails on riscv + - JDK-8290464: Optimize ResourceArea zapping on ResourceMark release + - JDK-8290469: Add new positioning options to PassFailJFrame test framework + - JDK-8290496: riscv: Fix build warnings-as-errors with GCC 11 + - JDK-8291444: GHA builds/tests won't run manually if disabled from automatic running + - JDK-8291830: jvmti/RedefineClasses/StressRedefine failed: assert(!is_null(v)) failed: narrow klass value can never be zero + - JDK-8291893: riscv: remove fence.i used in user space + - JDK-8291947: riscv: fail to build after JDK-8290840 + - JDK-8291952: riscv: Remove PRAGMA_NONNULL_IGNORED + - JDK-8292182: [TESTLIB] Enhance JAXPPolicyManager to setup required permissions for jtreg version 7 jar + - JDK-8292315: Tests should not rely on specific JAR file names (hotspot) + - JDK-8292316: Tests should not rely on specific JAR file names (jpackage) + - JDK-8292683: Remove BadKeyUsageTest.java from Problem List + - JDK-8292698: Improve performance of DataInputStream + - JDK-8292716: Configure should check that jtreg is of the required version + - JDK-8292763: JDK-8292716 breaks configure without jtreg + - JDK-8292867: RISC-V: Simplify weak CAS return value handling + - JDK-8293012: ConstantPool::print_on can crash if _cache is NULL + - JDK-8293050: RISC-V: Remove redundant non-null assertions about macro-assembler + - JDK-8293098: GHA: Harmonize GCC version handling for host and cross builds + - JDK-8293100: RISC-V: Need to save and restore callee-saved FloatRegisters in StubGenerator::generate_call_stub + - JDK-8293107: GHA: Bump to Ubuntu 22.04 + - JDK-8293114: JVM should trim the native heap + - JDK-8293166: jdk/jfr/jvm/TestDumpOnCrash.java fails on Linux ppc64le and Linux aarch64 + - JDK-8293177: Verify version numbers in legal files + - JDK-8293180: JQuery UI license file not updated + - JDK-8293252: Shenandoah: ThreadMXBean synchronizer tests crash with aggressive heuristics + - JDK-8293361: GHA: dump config.log in case of configure failure + - JDK-8293474: RISC-V: Unify the way of moving function pointer + - JDK-8293524: RISC-V: Use macro-assembler functions as appropriate + - JDK-8293566: RISC-V: Clean up push and pop registers + - JDK-8293811: Provide a reason for PassFailJFrame.forceFail + - JDK-8293851: hs_err should print more stack in hex dump + - JDK-8294012: RISC-V: get/put_native_u8 missing the case when address&7 is 6 + - JDK-8294083: RISC-V: Minimal build failed with --disable-precompiled-headers + - JDK-8294086: RISC-V: Cleanup InstructionMark usages in the backend + - JDK-8294087: RISC-V: RVC: Fix a potential alignment issue and add more alignment assertions for the patchable calls/nops + - JDK-8294149: JMH 1.34 and later requires jopt-simple 5.0.4 + - JDK-8294187: RISC-V: Unify all relocations for the backend into AbstractAssembler::relocate() + - JDK-8294366: RISC-V: Partially mark out incompressible regions + - JDK-8294430: RISC-V: Small refactoring for movptr_with_offset + - JDK-8294492: RISC-V: Use li instead of patchable movptr at non-patchable callsites + - JDK-8294679: RISC-V: Misc crash dump improvements + - JDK-8294941: GHA: Cut down cross-compilation sysroots + - JDK-8294956: GHA: qemu-debootstrap is deprecated, use the regular one + - JDK-8295110: RISC-V: Mark out relocations as incompressible + - JDK-8295213: Run GHA manually with user-specified make and configure arguments + - JDK-8295270: RISC-V: Clean up and refactoring for assembler functions + - JDK-8295396: RISC-V: Cleanup useless CompressibleRegions + - JDK-8295657: SA: Allow larger object alignments + - JDK-8295737: macOS: Print content cut off when width > height with portrait orientation + - JDK-8295811: serviceability/sa/TestObjectAlignment.java fails on x86_32 + - JDK-8295812: Skip the "half float" support in LittleCMS during the build + - JDK-8295894: Remove SECOM certificate that is expiring in September 2023 + - JDK-8295926: RISC-V: C1: Fix LIRGenerator::do_LibmIntrinsic + - JDK-8295968: RISC-V: Rename some assembler intrinsic functions for RVV 1.0 + - JDK-8296384: [TESTBUG] sun/security/provider/SecureRandom/AbstractDrbg/SpecTest.java intermittently timeout + - JDK-8296435: RISC-V: Small refactoring for increment/decrement + - JDK-8296447: RISC-V: Make the operands order of vrsub_vx/vrsub_vi consistent with RVV 1.0 spec + - JDK-8296448: RISC-V: Fix temp usages of heapbase register killed by MacroAssembler::en/decode_klass_not_null + - JDK-8296602: RISC-V: improve performance of copy_memory stub + - JDK-8296771: RISC-V: C2: assert(false) failed: bad AD file + - JDK-8296796: Provide clean, platform-agnostic interface to C-heap trimming + - JDK-8296916: RISC-V: Move some small macro-assembler functions to header file + - JDK-8297350: Update JMH devkit to 1.36 + - JDK-8297359: RISC-V: improve performance of floating Max Min intrinsics + - JDK-8297476: Increase InlineSmallCode default from 1000 to 2500 for RISC-V + - JDK-8297644: RISC-V: Compilation error when shenandoah is disabled + - JDK-8297681: Unnecessary color conversion during 4BYTE_ABGR_PRE to INT_ARGB_PRE blit + - JDK-8297697: RISC-V: Add support for SATP mode detection + - JDK-8297715: RISC-V: C2: Use single-bit instructions from the Zbs extension + - JDK-8297887: Update Siphash + - JDK-8297923: java.awt.ScrollPane broken after multiple scroll up/down + - JDK-8298138: Shenandoah: HdrSeq asserts "sub-bucket index (512) overflow for value ( 1.00)" + - JDK-8298921: Create a regression test for JDK-8139581 + - JDK-8298974: Add ftcolor.c to imported freetype sources + - JDK-8299158: Improve MD5 intrinsic on AArch64 + - JDK-8299168: RISC-V: Fix MachNode size mismatch for MacroAssembler::_verify_oops* + - JDK-8299330: Minor improvements in MSYS2 Workflow handling + - JDK-8299617: CurrencySymbols.properties is missing the copyright notice + - JDK-8299658: C1 compilation crashes in LinearScan::resolve_exception_edge + - JDK-8299713: Test javax/swing/JTableHeader/6889007/bug6889007.java failed: Wrong type of cursor + - JDK-8299827: Add resolved IP address in connection exception for sockets + - JDK-8299847: RISC-V: Improve PrintOptoAssembly output of CMoveI/L nodes + - JDK-8299962: Speed up compiler/intrinsics/unsafe/DirectByteBufferTest.java and HeapByteBufferTest.java + - JDK-8300053: Shenandoah: Handle more GCCauses in ShenandoahControlThread::request_gc + - JDK-8300098: java/util/concurrent/ConcurrentHashMap/ConcurrentAssociateTest.java fails with internal timeout when executed with TieredCompilation1/3 + - JDK-8300109: RISC-V: Improve code generation for MinI/MaxI nodes + - JDK-8300405: Screen capture for test JFileChooserSetLocationTest.java, failure case + - JDK-8300584: Accelerate AVX-512 CRC32C for small buffers + - JDK-8300659: Refactor TestMemoryAwareness to use WhiteBox api for host values + - JDK-8300693: Lower the compile threshold and reduce the iterations of warmup loop in VarHandles tests + - JDK-8301033: RISC-V: Handle special cases for MinI/MaxI nodes for Zbb + - JDK-8301036: RISC-V: Factor out functions baseOffset & baseOffset32 from MacroAssembler + - JDK-8301067: RISC-V: better error message when reporting unsupported satp modes + - JDK-8301074: Replace NULL with nullptr in share/opto/ + - JDK-8301097: Update GHA XCode to 12.5.1 + - JDK-8301153: RISC-V: pipeline class for several instructions is not set correctly + - JDK-8301167: Update VerifySignedJar to actually exercise and test verification + - JDK-8301187: Memory leaks in OopMapCache + - JDK-8301269: Update Commons BCEL to Version 6.7.0 + - JDK-8301313: RISC-V: C2: assert(false) failed: bad AD file due to missing match rule + - JDK-8301367: Add exception handler method to the BaseLdapServer + - JDK-8301628: RISC-V: c2 fix pipeline class for several instructions + - JDK-8301700: Increase the default TLS Diffie-Hellman group size from 1024-bit to 2048-bit + - JDK-8301818: RISC-V: Factor out function mvw from MacroAssembler + - JDK-8301852: RISC-V: Optimize class atomic when order is memory_order_relaxed + - JDK-8301959: Compile command in compiler.loopopts.TestRemoveEmptyCountedLoop does not work + - JDK-8302114: RISC-V: Several foreign jtreg tests fail with debug build after JDK-8301818 + - JDK-8302150: Speed up compiler/codegen/Test7100757.java + - JDK-8302161: Upgrade jQuery UI to version 1.13.2 + - JDK-8302182: Update Public Suffix List to 88467c9 + - JDK-8302289: RISC-V: Use bgez instruction in arraycopy_simple_check when possible + - JDK-8302736: Major performance regression in Math.log on aarch64 + - JDK-8302776: RISC-V: Fix typo CSR_INSTERT to CSR_INSTRET + - JDK-8303047: avoid NULL after 8301661 + - JDK-8303154: Investigate and improve instruction cache flushing during compilation + - JDK-8303215: Make thread stacks not use huge pages + - JDK-8303279: C2: crash in SubTypeCheckNode::sub() at IGVN split if + - JDK-8304293: RISC-V: JDK-8276799 missed atomic intrinsic support for C1 + - JDK-8304314: StackWalkTest.java fails after CODETOOLS-7903373 + - JDK-8304353: Add lib-test tier1 testing in GHA + - JDK-8304725: AsyncGetCallTrace can cause SIGBUS on M1 + - JDK-8304845: Update PCSC-Lite for Suse Linux to 1.9.9 and fix incomplete license wording + - JDK-8304976: Optimize DateTimeFormatterBuilder.ZoneTextPrinterParser.getTree() + - JDK-8305006: Use correct register in riscv_enc_fast_unlock() + - JDK-8305008: RISC-V: Factor out immediate checking functions from assembler_riscv.inline.hpp + - JDK-8305112: RISC-V: Typo fix for RVC description + - JDK-8305236: Some LoadLoad barriers in the interpreter are unnecessary after JDK-8220051 + - JDK-8305421: Work around JDK-8305420 in CDSJDITest.java + - JDK-8305425: Thread.isAlive0 doesn't need to call into the VM + - JDK-8305512: RISC-V: Enable RVC extension by default on supported hardware + - JDK-8305670: Performance regression in LockSupport.unpark with lots of idle threads + - JDK-8305728: RISC-V: Use bexti instruction to do single-bit testing + - JDK-8305763: Parsing a URI with an underscore goes through a silent exception, negatively impacting performance + - JDK-8305766: ProblemList runtime/CompressedOops/CompressedClassPointers.java + - JDK-8305858: Resolve multiple definition of 'handleSocketError' when statically linking with JDK native libraries + - JDK-8305950: Have -XshowSettings option display tzdata version + - JDK-8305995: Footprint regression from JDK-8224957 + - JDK-8306060: Open source few AWT Insets related tests + - JDK-8306076: Open source AWT misc tests + - JDK-8306134: Open source some AWT tests relating to Button and a few other classes + - JDK-8306135: Clean up and open source some AWT tests + - JDK-8306137: Open source several AWT ScrollPane related tests + - JDK-8306281: function isWsl() returns false on WSL2 + - JDK-8306372: Open source AWT CardLayout and Checkbox tests + - JDK-8306428: RunThese30M.java crashed with assert(early->flag() == current->flag() || early->flag() == mtNone) + - JDK-8306430: Open source some AWT tests related to TextComponent and Toolkit + - JDK-8306435: Juggle04/TestDescription.java should be a booleanArr test and not a byteArr one + - JDK-8306484: Open source several AWT Choice jtreg tests + - JDK-8306566: Open source several clipboard AWT tests + - JDK-8306575: Clean up and open source four Dialog related tests + - JDK-8306636: Disable compiler/c2/Test6905845.java with -XX:TieredStopAtLevel=3 + - JDK-8306638: Open source some AWT tests related to datatransfer and Toolkit + - JDK-8306667: RISC-V: Fix storeImmN0 matching rule by using zr register + - JDK-8306682: Open source a few more AWT Choice tests + - JDK-8306718: Optimize and opensource some old AWT tests + - JDK-8306738: Select num workers for safepoint ParallelCleanupTask + - JDK-8306765: Some client related jtreg problem list entries are malformed + - JDK-8306812: Open source several AWT Miscellaneous tests + - JDK-8307067: remove broken EnableThreadSMRExtraValidityChecks option + - JDK-8307068: store a JavaThread* in the java.lang.Thread object after the JavaThread* is added to the main ThreadsList + - JDK-8307078: Opensource and clean up five more AWT Focus related tests + - JDK-8307079: Update test java/awt/Choice/DragOffNoSelect.java + - JDK-8307083: Open source some drag and drop tests 3 + - JDK-8307147: [x86] Dangling pointer warning for Assembler::_attributes + - JDK-8307150: RISC-V: Remove remaining StoreLoad barrier with UseCondCardMark for Serial/Parallel GC + - JDK-8307156: native_thread not protected by TLH + - JDK-8307165: java/awt/dnd/NoFormatsDropTest/NoFormatsDropTest.java timed out + - JDK-8307299: Move more DnD tests to open + - JDK-8307301: Update HarfBuzz to 7.2.0 + - JDK-8307348: Parallelize heap walk for ObjectCount(AfterGC) JFR event collection + - JDK-8307395: Add missing STS to Shenandoah + - JDK-8307446: RISC-V: Improve performance of floating point to integer conversion + - JDK-8307526: [JFR] Better handling of tampered JFR repository + - JDK-8307555: Reduce memory reads in x86 MD5 intrinsic + - JDK-8307569: Build with gcc8 is broken after JDK-8307301 + - JDK-8307572: AArch64: Vector registers are clobbered by some macroassemblers + - JDK-8307603: [AIX] Broken build after JDK-8307301 + - JDK-8307604: gcc12 based Alpine build broken build after JDK-8307301 + - JDK-8307651: RISC-V: stringL_indexof_char instruction has wrong format string + - JDK-8307653: Adjust delay time and gc log argument in TestAbortOnVMOperationTimeout + - JDK-8307683: Loop Predication should not hoist range checks with trap on success projection by negating their condition + - JDK-8307766: Linux: Provide the option to override the timer slack + - JDK-8308089: [riscv-port-jdk17u] Intrinsify Unsafe.storeStoreFence + - JDK-8308090: Add container tests for on-the-fly resource quota updates + - JDK-8308152: PropertyDescriptor should work with overridden generic getter method + - JDK-8308156: VerifyCACerts.java misses blank in error output + - JDK-8308192: Error in parsing replay file when staticfield is an array of single dimension + - JDK-8308232: nsk/jdb tests don't pass -verbose flag to the debuggee + - JDK-8308277: RISC-V: Improve vectorization of Match.sqrt() on floats + - JDK-8308283: Build failure with GCC12 & GCC13 + - JDK-8308300: enhance exceptions in MappedMemoryUtils.c + - JDK-8308643: Incorrect value of 'used' jvmstat counter + - JDK-8308766: TLAB initialization may cause div by zero + - JDK-8308803: Improve java/util/UUID/UUIDTest.java + - JDK-8308872: enhance logging and some exception in krb5/Config.java + - JDK-8308997: RISC-V: Sign extend when comparing 32-bit value with zero instead of testing the sign bit + - JDK-8309088: security/infra/java/security/cert/CertPathValidator/certification/AmazonCA.java fails + - JDK-8309095: Remove UTF-8 character from TaskbarPositionTest.java + - JDK-8309107: Bump update version for OpenJDK: jdk-17.0.9 + - JDK-8309119: [17u/11u] Redo JDK-8297951: C2: Create skeleton predicates for all If nodes in loop predication + - JDK-8309138: Fix container tests for jdks with symlinked conf dir + - JDK-8309228: Clarify EXPERIMENTAL flags comment in hotspot/share/runtime/globals.hpp + - JDK-8309254: Implement fast-path for ASCII-compatible CharsetEncoders on RISC-V + - JDK-8309266: C2: assert(final_con == (jlong)final_int) failed: final value should be integer + - JDK-8309297: Adjust ShenandoahHeap print_heap_regions_on + - JDK-8309340: Provide sctpHandleSocketErrorWithMessage + - JDK-8309427: [riscv-port-jdk17u] Remove unused RoundDoubleModeV C2 node + - JDK-8309550: jdk.jfr.internal.Utils::formatDataAmount method should gracefully handle amounts equal to Long.MIN_VALUE + - JDK-8309591: Socket.setOption(TCP_QUICKACK) uses wrong level + - JDK-8309613: [Windows] hs_err files sometimes miss information about the code containing the error + - JDK-8309746: Reconfigure check should include make/conf/version-numbers.conf + - JDK-8309862: Unsafe list operations in JfrStringPool + - JDK-8309956: Shenandoah: Strengthen the mark word check in string dedup + - JDK-8309959: JFR: Display N/A for missing data amount + - JDK-8310054: ScrollPane insets are incorrect + - JDK-8310126: C1: Missing receiver null check in Reference::get intrinsic + - JDK-8310259: Pin msys2/setup-msys2 github action to a specific commit + - JDK-8310549: avoid potential leaks in KeystoreImpl.m related to JNU_CHECK_EXCEPTION early returns + - JDK-8310551: vmTestbase/nsk/jdb/interrupt/interrupt001/interrupt001.java timed out due to missing prompt + - JDK-8310873: Re-enable locked_create_entry symbol check in runtime/NMT/CheckForProperDetailStackTrace.java for RISC-V + - JDK-8311033: [macos] PrinterJob does not take into account Sides attribute + - JDK-8311249: Remove unused MemAllocator::obj_memory_range + - JDK-8311285: report some fontconfig related environment variables in hs_err file + - JDK-8311689: Wrong visible amount in Adjustable of ScrollPane + - JDK-8311862: RISC-V: small improvements to shift immediate instructions + - JDK-8311923: TestIRMatching.java fails on RISC-V + - JDK-8312029: Add CriticalNative tests to ProblemList for 8312028 + - JDK-8312511: GHA: Bump cross-compile runner to Ubuntu 22.04 + - JDK-8312525: New test runtime/os/TestTrimNative.java#trimNative is failing: did not see the expected RSS reduction + - JDK-8312555: Ideographic characters aren't stretched by AffineTransform.scale(2, 1) + - JDK-8313262: C2: Sinking node may cause required cast to be dropped + - JDK-8313402: C1: Incorrect LoadIndexed value numbering + - JDK-8313428: GHA: Bump GCC versions for July 2023 updates + - JDK-8313576: GCC 7 reports compiler warning in bundled freetype 2.13.0 + - JDK-8313676: Amend TestLoadIndexedMismatch test to target intrinsic directly + - JDK-8313678: SymbolTable can leak Symbols during cleanup + - JDK-8313701: GHA: RISC-V should use the official repository for bootstrap + - JDK-8313707: GHA: Bootstrap sysroots with --variant=minbase + - JDK-8313796: AsyncGetCallTrace crash on unreadable interpreter method pointer + - JDK-8313815: The exception messages printed by jcmd ManagementAgent.start are corrupted on Japanese Windows + - JDK-8313874: JNI NewWeakGlobalRef throws exception for null arg + - JDK-8314020: Print instruction blocks in byte units + - JDK-8314117: RISC-V: Incorrect VMReg encoding in RISCV64Frame.java + - JDK-8314118: Update JMH devkit to 1.37 + - JDK-8314262: GHA: Cut down cross-compilation sysroots deeper + - JDK-8314426: runtime/os/TestTrimNative.java is failing on slow machines + - JDK-8314501: Shenandoah: sun/tools/jhsdb/heapconfig/JMapHeapConfigTest.java fails + - JDK-8314517: some tests fail in case ipv6 is disabled on the machine + - JDK-8314552: Fix javadoc tests to work with jtreg 7 + - JDK-8314658: [17u] GHA: Sync up debian-version for cross-builds + - JDK-8314730: GHA: Drop libfreetype6-dev transitional package in favor of libfreetype-dev + - JDK-8314960: Add Certigna Root CA - 2 + - JDK-8317040: Exclude cleaner test failing on older releases + - JDK-8317643: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.9 + +Notes on individual issues: +=========================== + +hotspot/compiler: + +JDK-8276799: Implementation of JEP 422: Linux/RISC-V Port +========================================================= +https://openjdk.org/jeps/422 + +RISC-V is a free and open-source RISC instruction set architecture +(ISA) designed originally at the University of California, Berkeley, +and now developed collaboratively under the sponsorship of RISC-V +International. It is already supported by a wide range of language +toolchains. With the increasing availability of RISC-V hardware, the +JDK port has been backported to 17u, following introduction in 19. + +security-libs/javax.net.ssl: + +JDK-8301700: The Default TLS Diffie-Hellman Group Size Has Been Increased from 1024-bit to 2048-bit +=================================================================================================== +The JDK implementation of TLS 1.2 now uses a default Diffie Hellman +keysize of 2048 bits when a TLS_DHE cipher suite is negotiated and +either the client or server does not support FFDHE. + +The JDK TLS implementation supports FFDHE, which can negotiate a +stronger keysize, and this is enabled by default. + +As a workaround, users can revert to the previous key size by setting +the `jdk.tls.ephemeralDHKeySize` system property to 1024 (at their own +risk). + +This change does not affect TLS 1.3 as the minimum DH group size is +already 2048 bits. + +tools/launcher: + +JDK-8305950: `-XshowSettings:locale` Output Now Includes Tzdata Version +======================================================================= +The `-XshowSettings` launcher option has been enhanced to print the +tzdata version used by the JDK. The tzdata version is displayed as +part of the `locale` showSettings option. + +Example output using `-X:showSettings:locale`: + +Locale settings: + default locale = English + default display locale = English + default format locale = English + tzdata version = 2023c + +security-libs/java.security: + +JDK-8295894: Removed SECOM Trust System's RootCA1 Root Certificate +================================================================== +The following root certificate from SECOM Trust System has been +removed from the `cacerts` keystore: + +Alias Name: secomscrootca1 [jdk] +Distinguished Name: OU=Security Communication RootCA1, O=SECOM Trust.net, C=JP + +JDK-8314960: Added Certigna Root CA Certificate +=============================================== +The following root certificate has been added to the cacerts +truststore: + +Name: Certigna (Dhimyotis) +Alias Name: certignarootca +Distinguished Name: CN=Certigna Root CA, OU=0002 48146308100036, O=Dhimyotis, C=FR + +New in release OpenJDK 17.0.8.1 (2023-08-24): +============================================= +Live versions of these release notes can be found at: + * https://bit.ly/openjdk17081 + +* Other changes + - JDK-8313765: Invalid CEN header (invalid zip64 extra data field size) + - JDK-8314677: Bump update version for OpenJDK: jdk-17.0.8.1 + +Notes on individual issues: +=========================== + +core-libs/java.util.jar: + +JDK-8313765: Invalid CEN header (invalid zip64 extra data field size) +===================================================================== +Additional validity checks in the handling of Zip64 files, +JDK-8302483, were introduced in the 11.0.20 release of OpenJDK, +causing the use of some valid zip files to now fail with an +error. This release, 11.0.20.1, allows for zero length headers and +additional padding produced by some Zip64 creation tools. With both +releases, the checks can be disabled by setting the new system +property, `jdk.util.zip.disableZip64ExtraFieldValidation` to `true`. + +Notes on individual issues: +=========================== + +core-libs/java.util.jar: + +JDK-8313765: Invalid CEN header (invalid zip64 extra data field size) +===================================================================== +Additional validity checks in the handling of Zip64 files, +JDK-8302483, introduced in 17.0.8, caused the use of some valid zip +files to now fail with the error, `Invalid CEN header (invalid zip64 +extra data field size)` + +This release, 17.0.8.1, allows for zero length headers and additional +padding produced by some Zip64 creation tools. + +The following third party tools have also released patches to better +adhere to the ZIP File Format Specification: + +* Apache Commons Compress fix for Empty CEN Zip64 Extra Headers fixed in Commons Compress release 1.11 +* Apache Ant fix for Empty CEN Zip64 Extra Headers fixed in Ant 1.10.14 +* BND issue with writing invalid Extra Headers fixed in BND 5.3 + +The maven-bundle-plugin 5.1.5 includes the BND 5.3 patch. + +If these improved validation checks cause issues for deployed zip or +jar files, check how the file was created and whether patches are +available from the generating software to resolve the issue. With +both JDK releases, the checks can be disabled by setting the new +system property, `jdk.util.zip.disableZip64ExtraFieldValidation` to +`true`. + +New in release OpenJDK 17.0.8 (2023-07-18): +=========================================== +Live versions of these release notes can be found at: + * https://bit.ly/openjdk1708 + +* CVEs + - CVE-2023-22006 + - CVE-2023-22036 + - CVE-2023-22041 + - CVE-2023-22044 + - CVE-2023-22045 + - CVE-2023-22049 + - CVE-2023-25193 +* Security fixes + - JDK-8294323: Improve Shared Class Data + - JDK-8296565: Enhanced archival support + - JDK-8298676, JDK-8300891: Enhanced Look and Feel + - JDK-8300285: Enhance TLS data handling + - JDK-8300596: Enhance Jar Signature validation + - JDK-8301998, JDK-8302084: Update HarfBuzz to 7.0.1 + - JDK-8302475: Enhance HTTP client file downloading + - JDK-8302483: Enhance ZIP performance + - JDK-8303376: Better launching of JDI + - JDK-8304460: Improve array usages + - JDK-8304468: Better array usages + - JDK-8305312: Enhanced path handling + - JDK-8308682: Enhance AES performance +* Other changes + - JDK-8178806: Better exception logging in crypto code + - JDK-8201516: DebugNonSafepoints generates incorrect information + - JDK-8224768: Test ActalisCA.java fails + - JDK-8227060: Optimize safepoint cleanup subtask order + - JDK-8227257: javax/swing/JFileChooser/4847375/bug4847375.java fails with AssertionError + - JDK-8238274: (sctp) JDK-7118373 is not fixed for SctpChannel + - JDK-8244976: vmTestbase/nsk/jdi/Event/request/request001.java doesn' initialize eName + - JDK-8245877: assert(_value != __null) failed: resolving NULL _value in JvmtiExport::post_compiled_method_load + - JDK-8248001: javadoc generates invalid HTML pages whose ftp:// links are broken + - JDK-8252990: Intrinsify Unsafe.storeStoreFence + - JDK-8254711: Add java.security.Provider.getService JFR Event + - JDK-8257856: Make ClassFileVersionsTest.java robust to JDK version updates + - JDK-8261495: Shenandoah: reconsider update references memory ordering + - JDK-8268288: jdk/jfr/api/consumer/streaming/TestOutOfProcessMigration.java fails with "Error: ShouldNotReachHere()" + - JDK-8268298: jdk/jfr/api/consumer/log/TestVerbosity.java fails: unexpected log message + - JDK-8268582: javadoc throws NPE with --ignore-source-errors option + - JDK-8269821: Remove is-queue-active check in inner loop of write_ref_array_pre_work + - JDK-8270434: JDI+UT: Unexpected event in JDI tests + - JDK-8270859: Post JEP 411 refactoring: client libs with maximum covering > 10K + - JDK-8270869: G1ServiceThread may not terminate + - JDK-8271519: java/awt/event/SequencedEvent/MultipleContextsFunctionalTest.java failed with "Total [200] - Expected [400]" + - JDK-8273909: vmTestbase/nsk/jdi/Event/request/request001 can still fail with "ERROR: new event is not ThreadStartEvent" + - JDK-8274243: Implement fast-path for ASCII-compatible CharsetEncoders on aarch64 + - JDK-8274615: Support relaxed atomic add for linux-aarch64 + - JDK-8274864: Remove Amman/Cairo hacks in ZoneInfoFile + - JDK-8275233: Incorrect line number reported in exception stack trace thrown from a lambda expression + - JDK-8275287: Relax memory ordering constraints on updating instance class and array class counters + - JDK-8275721: Name of UTC timezone in a locale changes depending on previous code + - JDK-8275735: [linux] Remove deprecated Metrics api (kernel memory limit) + - JDK-8276058: Some swing test fails on specific CI macos system + - JDK-8277407: javax/swing/plaf/synth/SynthButtonUI/6276188/bug6276188.java fails to compile after JDK-8276058 + - JDK-8277775: Fixup bugids in RemoveDropTargetCrashTest.java - add 4357905 + - JDK-8278146: G1: Rework VM_G1Concurrent VMOp to clearly identify it as pause + - JDK-8278434: timeouts in test java/time/test/java/time/format/TestZoneTextPrinterParser.java + - JDK-8278834: Error "Cannot read field "sym" because "this.lvar[od]" is null" when compiling + - JDK-8282077: PKCS11 provider C_sign() impl should handle CKR_BUFFER_TOO_SMALL error + - JDK-8282201: Consider removal of expiry check in VerifyCACerts.java test + - JDK-8282227: Locale information for nb is not working properly + - JDK-8282704: runtime/Thread/StopAtExit.java may leak memory + - JDK-8283057: Update GCC to version 11.2.0 for Oracle builds on Linux + - JDK-8283062: Uninitialized warnings in libgtest with GCC 11.2 + - JDK-8283520: JFR: Memory leak in dcmd_arena + - JDK-8283566: G1: Improve G1BarrierSet::enqueue performance + - JDK-8284331: Add sanity check for signal handler modification warning. + - JDK-8285635: javax/swing/JRootPane/DefaultButtonTest.java failed with Default Button not pressed for L&F: com.sun.java.swing.plaf.motif.MotifLookAndFeel + - JDK-8285987: executing shell scripts without #! fails on Alpine linux + - JDK-8286191: misc tests fail due to JDK-8285987 + - JDK-8286287: Reading file as UTF-16 causes Error which "shouldn't happen" + - JDK-8286331: jni_GetStringUTFChars() uses wrong heap allocator + - JDK-8286346: 3-parameter version of AllocateHeap should not ignore AllocFailType + - JDK-8286398: Address possibly lossy conversions in jdk.internal.le + - JDK-8287007: [cgroups] Consistently use stringStream throughout parsing code + - JDK-8287246: DSAKeyValue should check for missing params instead of relying on KeyFactory provider + - JDK-8287541: Files.writeString fails to throw IOException for charset "windows-1252" + - JDK-8287854: Dangling reference in ClassVerifier::verify_class + - JDK-8287876: The recently de-problemlisted TestTitledBorderLeak test is unstable + - JDK-8287897: Augment src/jdk.internal.le/share/legal/jline.md with information on 4th party dependencies + - JDK-8288589: Files.readString ignores encoding errors for UTF-16 + - JDK-8289509: Improve test coverage for XPath Axes: descendant, descendant-or-self, following, following-sibling + - JDK-8289735: UTIL_LOOKUP_PROGS fails on pathes with space + - JDK-8289949: Improve test coverage for XPath: operators + - JDK-8290822: C2: assert in PhaseIdealLoop::do_unroll() is subject to undefined behavior + - JDK-8291226: Create Test Cases to cover scenarios for JDK-8278067 + - JDK-8291637: HttpClient default keep alive timeout not followed if server sends invalid value + - JDK-8291638: Keep-Alive timeout of 0 should close connection immediately + - JDK-8292206: TestCgroupMetrics.java fails as getMemoryUsage() is lower than expected + - JDK-8292301: [REDO v2] C2 crash when allocating array of size too large + - JDK-8292407: Improve Weak CAS VarHandle/Unsafe tests resilience under spurious failures + - JDK-8292713: Unsafe.allocateInstance should be intrinsified without UseUnalignedAccesses + - JDK-8292755: Non-default method in interface leads to a stack overflow in JShell + - JDK-8292990: Improve test coverage for XPath Axes: parent + - JDK-8293295: Add type check asserts to java_lang_ref_Reference accessors + - JDK-8293492: ShenandoahControlThread missing from hs-err log and thread dump + - JDK-8293858: Change PKCS7 code to use default SecureRandom impl instead of SHA1PRNG + - JDK-8293887: AArch64 build failure with GCC 12 due to maybe-uninitialized warning in libfdlibm k_rem_pio2.c + - JDK-8294183: AArch64: Wrong macro check in SharedRuntime::generate_deopt_blob + - JDK-8294281: Allow warnings to be disabled on a per-file basis + - JDK-8294673: JFR: Add SecurityProviderService#threshold to TestActiveSettingEvent.java + - JDK-8294717: (bf) DirectByteBuffer constructor will leak if allocating Deallocator or Cleaner fails with OOME + - JDK-8294906: Memory leak in PKCS11 NSS TLS server + - JDK-8295564: Norwegian Nynorsk Locale is missing formatting + - JDK-8295974: jni_FatalError and Xcheck:jni warnings should print the native stack when there are no Java frames + - JDK-8296084: javax/swing/JSpinner/4788637/bug4788637.java fails intermittently on a VM + - JDK-8296318: use-def assert: special case undetected loops nested in infinite loops + - JDK-8296343: CPVE thrown on missing content-length in OCSP response + - JDK-8296412: Special case infinite loops with unmerged backedges in IdealLoopTree::check_safepts + - JDK-8296545: C2 Blackholes should allow load optimizations + - JDK-8296934: Write a test to verify whether Undecorated Frame can be iconified or not + - JDK-8297000: [jib] Add more friendly warning for proxy issues + - JDK-8297154: Improve safepoint cleanup logging + - JDK-8297450: ScaledTextFieldBorderTest.java fails when run with -show parameter + - JDK-8297587: Upgrade JLine to 3.22.0 + - JDK-8297730: C2: Arraycopy intrinsic throws incorrect exception + - JDK-8297955: LDAP CertStore should use LdapName and not String for DNs + - JDK-8298488: [macos13] tools/jpackage tests failing with "Exit code: 137" on macOS + - JDK-8298887: On the latest macOS+XCode the Robot API may report wrong colors + - JDK-8299179: ArrayFill with store on backedge needs to reduce length by 1 + - JDK-8299259: C2: Div/Mod nodes without zero check could be split through iv phi of loop resulting in SIGFPE + - JDK-8299544: Improve performance of CRC32C intrinsics (non-AVX-512) for small inputs + - JDK-8299570: [JVMCI] Insufficient error handling when CodeBuffer is exhausted + - JDK-8299959: C2: CmpU::Value must filter overflow computation against local sub computation + - JDK-8300042: Improve CPU related JFR events descriptions + - JDK-8300079: SIGSEGV in LibraryCallKit::inline_string_copy due to constant NULL src argument + - JDK-8300823: UB: Compile::_phase_optimize_finished is initialized too late + - JDK-8300939: sun/security/provider/certpath/OCSP/OCSPNoContentLength.java fails due to network errors + - JDK-8301050: Detect Xen Virtualization on Linux aarch64 + - JDK-8301119: Support for GB18030-2022 + - JDK-8301123: Enable Symbol refcounting underflow checks in PRODUCT + - JDK-8301190: [vectorapi] The typeChar of LaneType is incorrect when default locale is tr + - JDK-8301216: ForkJoinPool invokeAll() ignores timeout + - JDK-8301338: Identical branch conditions in CompileBroker::print_heapinfo + - JDK-8301491: C2: java.lang.StringUTF16::indexOfChar intrinsic called with negative character argument + - JDK-8301637: ThreadLocalRandom.current().doubles().parallel() contention + - JDK-8301661: Enhance os::pd_print_cpu_info on macOS and Windows + - JDK-8302151: BMPImageReader throws an exception reading BMP images + - JDK-8302172: [JVMCI] HotSpotResolvedJavaMethodImpl.canBeInlined must respect ForceInline + - JDK-8302320: AsyncGetCallTrace obtains too few frames in sanity test + - JDK-8302491: NoClassDefFoundError omits the original cause of an error + - JDK-8302508: Add timestamp to the output TraceCompilerThreads + - JDK-8302594: use-after-free in Node::destruct + - JDK-8302595: use-after-free related to GraphKit::clone_map + - JDK-8302791: Add specific ClassLoader object to Proxy IllegalArgumentException message + - JDK-8302849: SurfaceManager might expose partially constructed object + - JDK-8303069: Memory leak in CompilerOracle::parse_from_line + - JDK-8303102: jcmd: ManagementAgent.status truncates the text longer than O_BUFLEN + - JDK-8303130: Document required Accessibility permissions on macOS + - JDK-8303354: addCertificatesToKeystore in KeystoreImpl.m needs CFRelease call in early potential CHECK_NULL return + - JDK-8303433: Bump update version for OpenJDK: jdk-17.0.8 + - JDK-8303440: The "ZonedDateTime.parse" may not accept the "UTC+XX" zone id + - JDK-8303465: KeyStore of type KeychainStore, provider Apple does not show all trusted certificates + - JDK-8303476: Add the runtime version in the release file of a JDK image + - JDK-8303482: Update LCMS to 2.15 + - JDK-8303508: Vector.lane() gets wrong value on x86 + - JDK-8303511: C2: assert(get_ctrl(n) == cle_out) during unrolling + - JDK-8303564: C2: "Bad graph detected in build_loop_late" after a CMove is wrongly split thru phi + - JDK-8303575: adjust Xen handling on Linux aarch64 + - JDK-8303576: addIdentitiesToKeystore in KeystoreImpl.m needs CFRelease call in early potential CHECK_NULL return + - JDK-8303588: [JVMCI] make JVMCI source directories conform with standard layout + - JDK-8303809: Dispose context in SPNEGO NegotiatorImpl + - JDK-8303822: gtestMain should give more helpful output + - JDK-8303861: Error handling step timeouts should never be blocked by OnError and others + - JDK-8303937: Corrupted heap dumps due to missing retries for os::write() + - JDK-8303949: gcc10 warning Linux ppc64le - note: the layout of aggregates containing vectors with 8-byte alignment has changed in GCC 5 + - JDK-8304054: Linux: NullPointerException from FontConfiguration.getVersion in case no fonts are installed + - JDK-8304063: tools/jpackage/share/AppLauncherEnvTest.java fails when checking LD_LIBRARY_PATH + - JDK-8304134: jib bootstrapper fails to quote filename when checking download filetype + - JDK-8304291: [AIX] Broken build after JDK-8301998 + - JDK-8304295: harfbuzz build fails with GCC 7 after JDK-8301998 + - JDK-8304350: Font.getStringBounds calculates wrong width for TextAttribute.TRACKING other than 0.0 + - JDK-8304671: javac regression: Compilation with --release 8 fails on underscore in enum identifiers + - JDK-8304683: Memory leak in WB_IsMethodCompatible + - JDK-8304760: Add 2 Microsoft TLS roots + - JDK-8304867: Explicitly disable dtrace for ppc builds + - JDK-8304880: [PPC64] VerifyOops code in C1 doesn't work with ZGC + - JDK-8305088: SIGSEGV in Method::is_method_handle_intrinsic + - JDK-8305113: (tz) Update Timezone Data to 2023c + - JDK-8305400: ISO 4217 Amendment 175 Update + - JDK-8305403: Shenandoah evacuation workers may deadlock + - JDK-8305481: gtest is_first_C_frame failing on ARM + - JDK-8305690: [X86] Do not emit two REX prefixes in Assembler::prefix + - JDK-8305711: Arm: C2 always enters slowpath for monitorexit + - JDK-8305721: add `make compile-commands` artifacts to .gitignore + - JDK-8305975: Add TWCA Global Root CA + - JDK-8305993: Add handleSocketErrorWithMessage to extend nio Net.c exception message + - JDK-8305994: Guarantee eventual async monitor deflation + - JDK-8306072: Open source several AWT MouseInfo related tests + - JDK-8306133: Open source few AWT Drag & Drop related tests + - JDK-8306409: Open source AWT KeyBoardFocusManger, LightWeightComponent related tests + - JDK-8306432: Open source several AWT Text Component related tests + - JDK-8306466: Open source more AWT Drag & Drop related tests + - JDK-8306489: Open source AWT List related tests + - JDK-8306543: GHA: MSVC installation is failing + - JDK-8306640: Open source several AWT TextArea related tests + - JDK-8306652: Open source AWT MenuItem related tests + - JDK-8306658: GHA: MSVC installation could be optional since it might already be pre-installed + - JDK-8306664: GHA: Update MSVC version to latest stepping + - JDK-8306681: Open source more AWT DnD related tests + - JDK-8306683: Open source several clipboard and color AWT tests + - JDK-8306752: Open source several container and component AWT tests + - JDK-8306753: Open source several container AWT tests + - JDK-8306755: Open source few Swing JComponent and AbstractButton tests + - JDK-8306768: CodeCache Analytics reports wrong threshold + - JDK-8306774: Make runtime/Monitor/GuaranteedAsyncDeflationIntervalTest.java more reliable + - JDK-8306825: Monitor deflation might be accidentally disabled by zero intervals + - JDK-8306850: Open source AWT Modal related tests + - JDK-8306871: Open source more AWT Drag & Drop tests + - JDK-8306883: Thread stacksize is reported with wrong units in os::create_thread logging + - JDK-8306941: Open source several datatransfer and dnd AWT tests + - JDK-8306943: Open source several dnd AWT tests + - JDK-8306954: Open source five Focus related tests + - JDK-8306955: Open source several JComboBox jtreg tests + - JDK-8306976: UTIL_REQUIRE_SPECIAL warning on grep + - JDK-8306996: Open source Swing MenuItem related tests + - JDK-8307080: Open source some more JComboBox jtreg tests + - JDK-8307128: Open source some drag and drop tests 4 + - JDK-8307130: Open source few Swing JMenu tests + - JDK-8307133: Open source some JTable jtreg tests + - JDK-8307134: Add GTS root CAs + - JDK-8307135: java/awt/dnd/NotReallySerializableTest/NotReallySerializableTest.java failed + - JDK-8307331: Correctly update line maps when class redefine rewrites bytecodes + - JDK-8307346: Add missing gc+phases logging for ObjectCount(AfterGC) JFR event collection code + - JDK-8307347: serviceability/sa/ClhsdbDumpclass.java could leave files owned by root on macOS + - JDK-8307378: Allow collectors to provide specific values for GC notifications' actions + - JDK-8307381: Open Source JFrame, JIF related Swing Tests + - JDK-8307425: Socket input stream read burns CPU cycles with back-to-back poll(0) calls + - JDK-8307799: Newly added java/awt/dnd/MozillaDnDTest.java has invalid jtreg `@requires` clause + - JDK-8308554: [17u] Fix commit of 8286191. vm.musl was not removed from ExternalEditorTest + - JDK-8308880: [17u] micro bench ZoneStrings missed in backport of 8278434 + - JDK-8308884: [17u/11u] Backout JDK-8297951 + - JDK-8311467: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.8 + +Notes on individual issues: +=========================== + +hotspot/compiler: + +JDK-8308884: GregorianCalender.computeTime() JVM Crash +====================================================== +A virtual machine crash was observed in JDK 11.0.19 when executing the +`GregorianCalender.computeTime()` method (JDK-8307683). It was found +that although the root cause of the crash is an old issue, a recent +fix for a rare issue in the C2 compiler (JDK-8297951) made the crash +much more likely. To mitigate this, the fix has been reverted in JDK +11.0.20 and will be reapplied once JDK-8307683 is resolved. + +core-libs/java.nio.charsets: + +JDK-8301119: Support for GB18030-2022 +===================================== +The China National Standard body (CESI) recently published +GB18030-2022 as an update to the GB18030 standard, synchronising the +character set with Unicode 11.0. This updated version of GB18030 is +now the default GB18030 character set used in this release of +OpenJDK. However, this updated character set contains incompatible +changes compared with GB18030-2000, which was used in previous +releases of OpenJDK 11. To use the previous version of the character +set, the new system property `jdk.charset.GB18030` should be set to +`2000`. + +core-libs/java.util.jar: + +JDK-8300596: Enhance Jar Signature validation +============================================= +A System property "jdk.jar.maxSignatureFileSize" is introduced to +configure the maximum number of bytes allowed for the +signature-related files in a JAR file during verification. The default +value is 8000000 bytes (8 MB). + +JDK-8302483: Enhance ZIP performance +==================================== +This release of OpenJDK includes stronger checks on the Zip64 fields +of zip files. In the event that these checks cause failures on trusted +zip files, the checks can be disabled by setting the new system +property, `jdk.util.zip.disableZip64ExtraFieldValidation` to `true`. + +security-libs/java.security: + +JDK-8307134: Added 4 GTS Root CA Certificates +============================================= +The following root certificates have been added to the cacerts +truststore: + +Name: Google Trust Services LLC +Alias Name: gtsrootcar1 +Distinguished Name: CN=GTS Root R1, O=Google Trust Services LLC, C=US + +Name: Google Trust Services LLC +Alias Name: gtsrootcar2 +Distinguished Name: CN=GTS Root R2, O=Google Trust Services LLC, C=US + +Name: Google Trust Services LLC +Alias Name: gtsrootcar3 +Distinguished Name: CN=GTS Root R3, O=Google Trust Services LLC, C=US + +Name: Google Trust Services LLC +Alias Name: gtsrootcar4 +Distinguished Name: CN=GTS Root R4, O=Google Trust Services LLC, C=US + +JDK-8304760: Added Microsoft Corporation's 2 TLS Root CA Certificates +===================================================================== +The following root certificates has been added to the cacerts +truststore: + +Name: Microsoft Corporation +Alias Name: microsoftecc2017 +Distinguished Name: CN=Microsoft ECC Root Certificate Authority 2017, O=Microsoft Corporation, C=US + +Name: Microsoft Corporation +Alias Name: microsoftrsa2017 +Distinguished Name: CN=Microsoft RSA Root Certificate Authority 2017, O=Microsoft Corporation, C=US + +JDK-8305975: Added TWCA Root CA Certificate +=========================================== +The following root certificate has been added to the cacerts +truststore: + +Name: TWCA +Alias Name: twcaglobalrootca +Distinguished Name: CN=TWCA Global Root CA, OU=Root CA, O=TAIWAN-CA, C=TW + +JDK-8303465: Enhance Contents (Trusted Certificate Entries) of macOS KeychainStore +================================================================================== +Recent changes to the MacOS KeychainStore implementation were +incomplete and only considered certificates within the user domain. +With this release, the implementation exposes certificates from both +the user and admin domain, and will exclude those certificates that +include a "deny" entry in their trust settings. + +JDK-8254711: New JFR Event: jdk.SecurityProviderService +======================================================= +Calls to the `java.security.Provider.getService(String type, String +algorithm)` method now trigger a Java Flight Recorder (JFR) event. + +The event contains three fields: + +* type - the type of service +* algorithm - the algorithm name +* provider - the security provider + +This event is disabled by default. It may be enabled via the usual JFR +configuration files and options. + +New in release OpenJDK 17.0.7 (2023-04-18): +=========================================== +Live versions of these release notes can be found at: + * https://bit.ly/openjdk1707 + +* CVEs + - CVE-2023-21930 + - CVE-2023-21937 + - CVE-2023-21938 + - CVE-2023-21939 + - CVE-2023-21954 + - CVE-2023-21967 + - CVE-2023-21968 +* Security fixes + - JDK-8287404: Improve ping times + - JDK-8288436: Improve Xalan supports + - JDK-8294474: Better AES support + - JDK-8295304: Runtime support improvements + - JDK-8296676, JDK-8296622: Improve String platform support + - JDK-8296684: Improve String platform support + - JDK-8296692: Improve String platform support + - JDK-8296832: Improve Swing platform support + - JDK-8297371: Improve UTF8 representation redux + - JDK-8298191: Enhance object reclamation process + - JDK-8298310: Enhance TLS session negotiation + - JDK-8298667: Improved path handling + - JDK-8299129: Enhance NameService lookups +* Other changes + - JDK-6528710: sRGB-ColorSpace to sRGB-ColorSpace Conversion + - JDK-6779701: Wrong defect ID in the code of test LocalRMIServerSocketFactoryTest.java + - JDK-8008243: Zero: Implement fast bytecodes + - JDK-8048190: NoClassDefFoundError omits original ExceptionInInitializerError + - JDK-8065097: [macosx] javax/swing/Popup/TaskbarPositionTest.java fails because Popup is one pixel off + - JDK-8144030: [macosx] test java/awt/Frame/ShapeNotSetSometimes/ShapeNotSetSometimes.java fails (again) + - JDK-8155246: Throw error if default java.security file is missing + - JDK-8186765: Speed up test sun/net/www/protocol/https/HttpsClient/ProxyAuthTest.java + - JDK-8192931: Regression test java/awt/font/TextLayout/CombiningPerf.java fails + - JDK-8195809: [TESTBUG] jps and jcmd -l support for containers is not tested + - JDK-8208077: File.listRoots performance degradation + - JDK-8209935: Test to cover CodeSource.getCodeSigners() + - JDK-8210927: JDB tests do not update source path after doing a redefine class + - JDK-8212961: [TESTBUG] vmTestbase/nsk/stress/jni/ native code cleanup + - JDK-8213531: Test javax/swing/border/TestTitledBorderLeak.java fails + - JDK-8223783: sun/net/www/http/HttpClient/MultiThreadTest.java sometimes detect threads+1 connections + - JDK-8230374: maxOutputSize, instead of javatest.maxOutputSize, should be used in TEST.properties + - JDK-8231491: JDI tc02x004 failed again due to wrong # of breakpoints + - JDK-8235297: sun/security/ssl/SSLSessionImpl/ResumptionUpdateBoundValues.java fails intermittent + - JDK-8241293: CompressedClassSpaceSizeInJmapHeap.java time out after 8 minutes + - JDK-8242115: C2 SATB barriers are not safepoint-safe + - JDK-8244669: convert clhsdb "mem" command from javascript to java + - JDK-8245654: Add Certigna Root CA + - JDK-8251177: [macosx] The text "big" is truncated in JTabbedPane + - JDK-8254267: javax/xml/crypto/dsig/LogParameters.java failed with "RuntimeException: Unexpected log output:" + - JDK-8258512: serviceability/sa/TestJmapCore.java timed out on macOS 10.13.6 + - JDK-8262386: resourcehogs/serviceability/sa/TestHeapDumpForLargeArray.java timed out + - JDK-8266974: duplicate property key in java.sql.rowset resource bundle + - JDK-8267038: Update IANA Language Subtag Registry to Version 2022-03-02 + - JDK-8270156: Add "randomness" and "stress" keys to JTreg tests which use StressGCM, StressLCM and/or StressIGVN + - JDK-8270476: Make floating-point test infrastructure more lambda and method reference friendly + - JDK-8271471: [IR Framework] Rare occurrence of "" in PrintIdeal/PrintOptoAssembly can let tests fail + - JDK-8271838: AmazonCA.java interop test fails + - JDK-8272702: Resolving URI relative path with no / may lead to incorrect toString + - JDK-8272985: Reference discovery is confused about atomicity and degree of parallelism + - JDK-8273154: Provide a JavadocTester method for non-overlapping, unordered output matching + - JDK-8273410: IR verification framework fails with "Should find method name in validIrRulesMap" + - JDK-8274911: testlibrary_tests/ir_framework/tests/TestIRMatching.java fails with "java.lang.RuntimeException: Should have thrown exception" + - JDK-8275173: testlibrary_tests/ir_framework/tests/TestCheckedTests.java fails after JDK-8274911 + - JDK-8275301: Unify C-heap buffer overrun checks into NMT + - JDK-8275320: NMT should perform buffer overrun checks + - JDK-8275582: Don't purge metaspace mapping lists + - JDK-8275704: Metaspace::contains() should be threadsafe + - JDK-8275843: Random crashes while the UI code is executed + - JDK-8276064: CheckCastPP with raw oop input floats below a safepoint + - JDK-8276086: Increase size of metaspace mappings + - JDK-8277485: Zero: Fix _fast_{i,f}access_0 bytecodes handling + - JDK-8277822: Remove debug-only heap overrun checks in os::malloc and friends + - JDK-8277946: NMT: Remove VM.native_memory shutdown jcmd command option + - JDK-8277990: NMT: Remove NMT shutdown capability + - JDK-8278961: Enable debug logging in java/net/DatagramSocket/SendDatagramToBadAddress.java + - JDK-8279024: Remove javascript references from clhsdb.html + - JDK-8279119: src/jdk.hotspot.agent/doc/index.html file contains references to scripts that no longer exist + - JDK-8279351: [TESTBUG] SADebugDTest.java does not handle "Address already in use" error + - JDK-8279614: The left line of the TitledBorder is not painted on 150 scale factor + - JDK-8280007: Enable Neoverse N1 optimizations for Arm Neoverse V1 & N2 + - JDK-8280048: Missing comma in copyright header + - JDK-8280132: Incorrect comparator com.sun.beans.introspect.MethodInfo.MethodOrder + - JDK-8280166: Extend java/lang/instrument/GetObjectSizeIntrinsicsTest.java test cases + - JDK-8280553: resourcehogs/serviceability/sa/TestHeapDumpForLargeArray.java can fail if GC occurs + - JDK-8280703: CipherCore.doFinal(...) causes potentially massive byte[] allocations during decryption + - JDK-8280784: VM_Cleanup unnecessarily processes all thread oops + - JDK-8280868: LineBodyHandlerTest.java creates and discards too many clients + - JDK-8280889: java/lang/instrument/GetObjectSizeIntrinsicsTest.java fails with -XX:-UseCompressedOops + - JDK-8280896: java/nio/file/Files/probeContentType/Basic.java fails on Windows 11 + - JDK-8281122: [IR Framework] Cleanup IR matching code in preparation for JDK-8280378 + - JDK-8281170: Test jdk/tools/jpackage/windows/WinInstallerIconTest always fails on Windows 11 + - JDK-8282036: Change java/util/zip/ZipFile/DeleteTempJar.java to stop HttpServer cleanly in case of exceptions + - JDK-8282143: Objects.requireNonNull should be ForceInline + - JDK-8282577: ICC_Profile.setData(int, byte[]) invalidates the profile + - JDK-8282771: Create test case for JDK-8262981 + - JDK-8282958: Rendering Issues with Borders on Windows High-DPI systems + - JDK-8283606: Tests may fail with zh locale on MacOS + - JDK-8283717: vmTestbase/nsk/jdi/ThreadStartEvent/thread/thread001 failed due to SocketTimeoutException + - JDK-8283719: java/util/logging/CheckZombieLockTest.java failing intermittently + - JDK-8283870: jdeprscan --help causes an exception when the locale is ja, zh_CN or de + - JDK-8284115: [IR Framework] Compilation is not found due to rare safepoint while dumping PrintIdeal/PrintOptoAssembly + - JDK-8284165: Add pid to process reaper thread name + - JDK-8284524: Create an automated test for JDK-4422362 + - JDK-8284726: Print active locale settings in hs_err reports and in VM.info + - JDK-8284767: Create an automated test for JDK-4422535 + - JDK-8285399: JNI exception pending in awt_GraphicsEnv.c:1432 + - JDK-8285690: CloneableReference subtest should not throw CloneNotSupportedException + - JDK-8285755: JDK-8285093 changed the default for --with-output-sync + - JDK-8285835: SIGSEGV in PhaseIdealLoop::build_loop_late_post_work + - JDK-8285919: Remove debug printout from JDK-8285093 + - JDK-8285965: TestScenarios.java does not check for "" correctly + - JDK-8286030: Avoid JVM crash when containers share the same /tmp dir + - JDK-8286154: Fix 3rd party notices in test files + - JDK-8286562: GCC 12 reports some compiler warnings + - JDK-8286694: Incorrect argument processing in java launcher + - JDK-8286705: GCC 12 reports use-after-free potential bugs + - JDK-8286707: JFR: Don't commit JFR internal jdk.JavaMonitorWait events + - JDK-8286800: Assert in PhaseIdealLoop::dump_real_LCA is too strong + - JDK-8286844: com/sun/jdi/RedefineCrossEvent.java failed with 1 threads completed while VM suspended + - JDK-8286873: Improve websocket test execution time + - JDK-8286962: java/net/httpclient/ServerCloseTest.java failed once with ConnectException + - JDK-8287180: Update IANA Language Subtag Registry to Version 2022-08-08 + - JDK-8287217: C2: PhaseCCP: remove not visited nodes, prevent type inconsistency + - JDK-8287491: compiler/jvmci/errors/TestInvalidDebugInfo.java fails new assert: assert((uint)t < T_CONFLICT + 1) failed: invalid type # + - JDK-8287593: ShortResponseBody could be made more resilient to rogue connections + - JDK-8287754: Update jib GNU make dependency on Windows to latest cygwin build + - JDK-8288005: HotSpot build with disabled PCH fails for Windows AArch64 + - JDK-8288130: compiler error with AP and explicit record accessor + - JDK-8288332: Tier1 validate-source fails after 8279614 + - JDK-8288415: java/awt/PopupMenu/PopupMenuLocation.java is unstable in MacOS machines + - JDK-8288854: getLocalGraphicsEnvironment() on for multi-screen setups throws exception NPE + - JDK-8289400: Improve com/sun/jdi/TestScaffold error reporting + - JDK-8289440: Remove vmTestbase/nsk/monitoring/MemoryPoolMBean/isCollectionUsageThresholdExceeded/isexceeded003 from ProblemList.txt + - JDK-8289508: Improve test coverage for XPath Axes: ancestor, ancestor-or-self, preceding, and preceding-sibling + - JDK-8289511: Improve test coverage for XPath Axes: child + - JDK-8289647: AssertionError during annotation processing of record related tests + - JDK-8289948: Improve test coverage for XPath functions: Node Set Functions + - JDK-8290067: Show stack dimensions in UL logging when attaching threads + - JDK-8290083: ResponseBodyBeforeError: AssertionError or SSLException: Unsupported or unrecognized SSL message + - JDK-8290197: test/jdk/java/nio/file/Files/probeContentType/Basic.java fails on some systems for the ".rar" extension + - JDK-8290322: Optimize Vector.rearrange over byte vectors for AVX512BW targets. + - JDK-8290836: Improve test coverage for XPath functions: String Functions + - JDK-8290837: Improve test coverage for XPath functions: Boolean Functions + - JDK-8290838: Improve test coverage for XPath functions: Number Functions + - JDK-8290850: C2: create_new_if_for_predicate() does not clone pinned phi input nodes resulting in a broken graph + - JDK-8290899: java/lang/String/StringRepeat.java test requests too much heap on windows x86 + - JDK-8290964: C2 compilation fails with assert "non-reduction loop contains reduction nodes" + - JDK-8291825: java/time/nontestng/java/time/zone/CustomZoneNameTest.java fails if defaultLocale and defaultFormatLocale are different + - JDK-8292033: Move jdk.X509Certificate event logic to JCA layer + - JDK-8292066: Convert TestInputArgument.sh and TestSystemLoadAvg.sh to java version + - JDK-8292159: TYPE_USE annotations on generic type arguments of record components discarded + - JDK-8292177: InitialSecurityProperty JFR event + - JDK-8292285: C2: remove unreachable block after NeverBranch-to-Goto conversion + - JDK-8292297: Fix up loading of override java.security properties file + - JDK-8292328: AccessibleActionsTest.java test instruction for show popup on JLabel did not specify shift key + - JDK-8292443: Weak CAS VarHandle/Unsafe tests should test always-failing cases + - JDK-8292602: ZGC: C2 late barrier analysis uses invalid dominator information + - JDK-8292660: C2: blocks made unreachable by NeverBranch-to-Goto conversion are removed incorrectly + - JDK-8292780: misc tests failed "assert(false) failed: graph should be schedulable" + - JDK-8292877: java/util/concurrent/atomic/Serial.java uses {Double,Long}Accumulator incorrectly + - JDK-8293000: Review running times of jshell regression tests + - JDK-8293326: jdk/sun/security/tools/jarsigner/compatibility/SignTwice.java slow on Windows + - JDK-8293466: libjsig should ignore non-modifying sigaction calls + - JDK-8293493: Signal Handlers printout should show signal block state + - JDK-8293531: C2: some vectorapi tests fail assert "Not monotonic" with flag -XX:TypeProfileLevel=222 + - JDK-8293562: KeepAliveCache Blocks Threads while Closing Connections + - JDK-8293691: converting a defined BasicType value to a string should not crash the VM + - JDK-8293767: AWT test TestSinhalaChar.java has old SCCS markings + - JDK-8293819: sun/util/logging/PlatformLoggerTest.java failed with "RuntimeException: Retrieved backing PlatformLogger level null is not the expected CONFIG" + - JDK-8293965: Code signing warnings after JDK-8293550 + - JDK-8293996: C2: fix and simplify IdealLoopTree::do_remove_empty_loop + - JDK-8294160: misc crash dump improvements + - JDK-8294217: Assertion failure: parsing found no loops but there are some + - JDK-8294310: compare.sh fails on macos after JDK-8293550 + - JDK-8294378: URLPermission constructor exception when using tr locale + - JDK-8294538: missing is_unloading() check in SharedRuntime::fixup_callers_callsite() + - JDK-8294548: Problem list SA core file tests on macosx-x64 due to JDK-8294316 + - JDK-8294580: frame::interpreter_frame_print_on() crashes if free BasicObjectLock exists in frame + - JDK-8294677: chunklevel::MAX_CHUNK_WORD_SIZE too small for some applications + - JDK-8294705: Disable an assertion in test/jdk/java/util/DoubleStreamSums/CompensatedSums.java + - JDK-8294902: Undefined Behavior in C2 regalloc with null references + - JDK-8294947: Use 64bit atomics in patch_verified_entry on x86_64 + - JDK-8294958: java/net/httpclient/ConnectTimeout tests are slow + - JDK-8295000: java/util/Formatter/Basic test cleanup + - JDK-8295066: Folding of loads is broken in C2 after JDK-8242115 + - JDK-8295116: C2: assert(dead->outcnt() == 0 && !dead->is_top()) failed: node must be dead + - JDK-8295211: Fix autoconf 2.71 warning "AC_CHECK_HEADERS: you should use literals" + - JDK-8295413: com/sun/jdi/EATests.java fails with compiler flag -XX:+StressReflectiveCode + - JDK-8295414: [Aarch64] C2: assert(false) failed: bad AD file + - JDK-8295530: Update Zlib Data Compression Library to Version 1.2.13 + - JDK-8295685: Update Libpng to 1.6.38 + - JDK-8295724: VirtualMachineError: Out of space in CodeCache for method handle intrinsic + - JDK-8295774: Write a test to verify List sends ItemEvent/ActionEvent + - JDK-8295777: java/net/httpclient/ConnectExceptionTest.java should not rely on system resolver + - JDK-8295788: C2 compilation hits "assert((mode == ControlAroundStripMined && use == sfpt) || !use->is_reachable_from_root()) failed: missed a node" + - JDK-8296136: Use correct register in aarch64_enc_fast_unlock() + - JDK-8296239: ISO 4217 Amendment 174 Update + - JDK-8296329: jar validator doesn't account for minor class file version + - JDK-8296389: C2: PhaseCFG::convert_NeverBranch_to_Goto must handle both orders of successors + - JDK-8296548: Improve MD5 intrinsic for x86_64 + - JDK-8296611: Problemlist several sun/security tests until JDK-8295343 is resolved + - JDK-8296619: Upgrade jQuery to 3.6.1 + - JDK-8296675: Exclude linux-aarch64 in NSS tests + - JDK-8296878: Document Filter attached to JPasswordField and setText("") is not cleared instead inserted characters replaced with unicode null characters + - JDK-8296904: Improve handling of macos xcode toolchain + - JDK-8296912: C2: CreateExNode::Identity fails with assert(i < _max) failed: oob: i=1, _max=1 + - JDK-8296924: C2: assert(is_valid_AArch64_address(dest.target())) failed: bad address + - JDK-8297088: Update LCMS to 2.14 + - JDK-8297211: Expensive fillInStackTrace operation in HttpURLConnection.getOutputStream0 when no content-length in response + - JDK-8297259: Bump update version for OpenJDK: jdk-17.0.7 + - JDK-8297264: C2: Cast node is not processed again in CCP and keeps a wrong too narrow type which is later replaced by top + - JDK-8297431: [JVMCI] HotSpotJVMCIRuntime.encodeThrowable should not throw an exception + - JDK-8297437: javadoc cannot link to old docs (with old style anchors) + - JDK-8297480: GetPrimitiveArrayCritical in imageioJPEG misses result - NULL check + - JDK-8297489: Modify TextAreaTextEventTest.java as to verify the content change of TextComponent sends TextEvent + - JDK-8297523: Various GetPrimitiveArrayCritical miss result - NULL check + - JDK-8297569: URLPermission constructor throws IllegalArgumentException: Invalid characters in hostname after JDK-8294378 + - JDK-8297642: PhaseIdealLoop::only_has_infinite_loops must detect all loops that never lead to termination + - JDK-8297951: C2: Create skeleton predicates for all If nodes in loop predication + - JDK-8297959: Provide better descriptions for some Operating System JFR events + - JDK-8297963: Partially fix string expansion issues in UTIL_DEFUN_NAMED and related macros + - JDK-8298027: Remove SCCS id's from awt jtreg tests + - JDK-8298035: Provide better descriptions for JIT compiler JFR events + - JDK-8298073: gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java causes test task timeout on macosx + - JDK-8298093: improve cleanup and error handling of awt_parseColorModel in awt_parseImage.c + - JDK-8298108: Add a regression test for JDK-8297684 + - JDK-8298129: Let checkpoint event sizes grow beyond u4 limit + - JDK-8298271: java/security/SignedJar/spi-calendar-provider/TestSPISigned.java failing on Windows + - JDK-8298459: Fix msys2 linking and handling out of tree build directory for source zip creation + - JDK-8298472: AArch64: Detect Ampere-1 and Ampere-1A CPUs and set default options + - JDK-8298527: Cygwin's uname -m returns different string than before + - JDK-8298568: Fastdebug build fails after JDK-8296389 + - JDK-8298588: WebSockets: HandshakeUrlEncodingTest unnecessarily depends on a response body + - JDK-8298649: JFR: RemoteRecordingStream support for checkpoint event sizes beyond u4 + - JDK-8298726: (fs) Change PollingWatchService to record last modified time as FileTime rather than milliseconds + - JDK-8298947: compiler/codecache/MHIntrinsicAllocFailureTest.java fails intermittently + - JDK-8299015: Ensure that HttpResponse.BodySubscribers.ofFile writes all bytes + - JDK-8299018: java/net/httpclient/HttpsTunnelAuthTest.java fails with java.io.IOException: HTTP/1.1 header parser received no bytes + - JDK-8299194: CustomTzIDCheckDST.java may fail at future date + - JDK-8299296: Write a test to verify the components selection sends ItemEvent + - JDK-8299388: java/util/regex/NegativeArraySize.java fails on Alpine and sometimes Windows + - JDK-8299424: containers/docker/TestMemoryWithCgroupV1.java fails on SLES12 ppc64le when testing Memory and Swap Limit + - JDK-8299439: java/text/Format/NumberFormat/CurrencyFormat.java fails for hr_HR + - JDK-8299470: sun/jvm/hotspot/SALauncher.java handling of negative rmiport args + - JDK-8299483: ProblemList java/text/Format/NumberFormat/CurrencyFormat.java + - JDK-8299497: Usage of constructors of primitive wrapper classes should be avoided in java.desktop API docs + - JDK-8299520: TestPrintXML.java output error messages in case compare fails + - JDK-8299597: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.7 + - JDK-8299657: sun/tools/jhsdb/SAGetoptTest.java fails after 8299470 + - JDK-8299671: Speed up compiler/intrinsics/string/TestStringLatin1IndexOfChar.java + - JDK-8299789: Compilation of gtest causes build to fail if runtime libraries are in different dirs + - JDK-8299957: Enhance error logging in instrument coding with additional jplis_assert_msg + - JDK-8299970: Speed up compiler/arraycopy/TestArrayCopyConjoint.java + - JDK-8300119: CgroupMetrics.getTotalMemorySize0() can report invalid results on 32 bit systems + - JDK-8300205: Swing test bug8078268 make latch timeout configurable + - JDK-8300266: Detect Virtualization on Linux aarch64 + - JDK-8300490: Spaces in name of MacOS Code Signing Identity are not correctly handled after JDK-8293550 + - JDK-8300590: [JVMCI] BytecodeFrame.equals is broken + - JDK-8300642: [17u,11u] Fix DEFAULT_PROMOTED_VERSION_PRE=ea for -dev + - JDK-8300692: GCC 12 reports some compiler warnings in bundled freetype + - JDK-8300751: [17u] Remove duplicate entry in javac.properties + - JDK-8300773: Address the inconsistency between the constant array and pool size + - JDK-8301170: perfMemory_windows.cpp add free_security_attr to early returns + - JDK-8301342: Prefer ArrayList to LinkedList in LayoutComparator + - JDK-8301397: [11u, 17u] Bump jtreg to fix issue with build JDK 11.0.18 + - JDK-8301760: Fix possible leak in SpNegoContext dispose + - JDK-8301842: JFR: increase checkpoint event size for stacktrace and string pool + - JDK-8302152: Speed up tests with infinite loops, sleep less + - JDK-8302692: [17u] Update GHA Boot JDK to 17.0.6 + - JDK-8302879: doc/building.md update link to jtreg builds + - JDK-8304871: Use default visibility for static library builds + +Notes on individual issues: +=========================== + +client-libs/javax.swing: + +JDK-8296832: Improve Swing platform support +=========================================== +Earlier OpenJDK releases would always render HTML object tags embedded in +Swing HTML components. With this release, rendering only occurs when the +new system property "swing.html.object" is set to true. By default, it +is set to false. + +security-libs/java.security: + +JDK-8245654: Added Certigna(Dhimyotis) Root CA Certificate +========================================================== +The following root certificate has been added to the cacerts truststore: + +Name: Certigna (Dhimyotis) +Alias Name: certignarootca +Distinguished Name: CN=Certigna, O=Dhimyotis, C=FR + +JDK-8292177: New JFR Event: jdk.InitialSecurityProperty +======================================================= +The initial security properties loaded by the java.security.Security class +are now accessible in the new JFR event, `jdk.InitialSecurityProperty`. + +The event contains two fields: + +* key - the security property key +* value - the corresponding security property value + +The combination of this new event and the existing +`jdk.SecurityPropertyModification` event means that security +properties can now be monitored throughout their lifecycle. + +The initial security properties are now also printed to the standard +error output stream when `-Djava.security.debug=properties` is passed +to the Java virtual machine. + +JDK-8155246: Throw Error If Default java.security File Fails to Load +==================================================================== +A hardcoded set of security properties was used in previous releases +when the `java.security` file could not be loaded. This set of +properties were poorly maintained and it was not obvious to the user +that they were being utilised. This release instead throws an +`InternalError` if the `java.security` file can not be loaded. + +core-libs/java.io: + +JDK-8208077: File::listRoots Changed To Return All Available Drives On Windows +============================================================================== +The `java.io.File.listRoots()` method on Windows systems filtered out disk +drives that could not be accessed or did not have media loaded. The +use of this filtering led to observable performance issues. This release +now returns all available disk drives, unfiltered. + +New in release OpenJDK 17.0.6 (2023-01-17): +=========================================== +Live versions of these release notes can be found at: + * https://bit.ly/openjdk1706 + * https://builds.shipilev.net/backports-monitor/release-notes-17.0.6.html + +* CVEs + - CVE-2023-21835 + - CVE-2023-21843 +* Security fixes + - JDK-8286070: Improve UTF8 representation + - JDK-8286496: Improve Thread labels + - JDK-8287411: Enhance DTLS performance + - JDK-8288516: Enhance font creation + - JDK-8289350: Better media supports + - JDK-8293554: Enhanced DH Key Exchanges + - JDK-8293598: Enhance InetAddress address handling + - JDK-8293717: Objective view of ObjectView + - JDK-8293734: Improve BMP image handling + - JDK-8293742: Better Banking of Sounds + - JDK-8295687: Better BMP bounds +* Other changes + - JDK-6829250: Reg test: java/awt/Toolkit/ScreenInsetsTest/ScreenInsetsTest.java fails in Windows + - JDK-7001973: java/awt/Graphics2D/CopyAreaOOB.java fails + - JDK-7188098: TEST_BUG: closed/javax/sound/midi/Synthesizer/Receiver/bug6186488.java fails + - JDK-8022403: sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java fails + - JDK-8029633: Raw inner class constructor ref should not perform diamond inference + - JDK-8030121: java/awt/dnd/MissingDragExitEventTest/MissingDragExitEventTest.java fails + - JDK-8065422: Trailing dot in hostname causes TLS handshake to fail with SNI disabled + - JDK-8129827: [TEST_BUG] Test java/awt/Robot/RobotWheelTest/RobotWheelTest.java fails + - JDK-8159599: [TEST_BUG] java/awt/Modal/ModalInternalFrameTest/ModalInternalFrameTest.java + - JDK-8169187: [macosx] Aqua: java/awt/image/multiresolution/MultiresolutionIconTest.java + - JDK-8178698: javax/sound/midi/Sequencer/MetaCallback.java failed with timeout + - JDK-8202836: [macosx] test java/awt/Graphics/TextAAHintsTest.java fails + - JDK-8210558: serviceability/sa/TestJhsdbJstackLock.java fails to find '^\s+- waiting to lock <0x[0-9a-f]+> \(a java\.lang\.Class ...' + - JDK-8222323: ChildAlwaysOnTopTest.java fails with "RuntimeException: Failed to unset alwaysOnTop" + - JDK-8233557: [TESTBUG] DoubleClickTitleBarTest.java fails on macOs + - JDK-8233558: [TESTBUG] WindowOwnedByEmbeddedFrameTest.java fails on macos + - JDK-8233648: [TESTBUG] DefaultMenuBarTest.java failing on macos + - JDK-8244670: convert clhsdb "whatis" command from javascript to java + - JDK-8251466: test/java/io/File/GetXSpace.java fails on Windows with mapped network drives. + - JDK-8255439: System Tray icons get corrupted when Windows scaling changes + - JDK-8256811: Delayed/missed jdwp class unloading events + - JDK-8257722: Improve "keytool -printcert -jarfile" output + - JDK-8262721: Add Tests to verify single iteration loops are properly optimized + - JDK-8265489: Stress test times out because of long ObjectSynchronizer::monitors_iterate(...) operation + - JDK-8266082: AssertionError in Annotate.fromAnnotations with -Xdoclint + - JDK-8266519: Cleanup resolve() leftovers from BarrierSet et al + - JDK-8267138: Stray suffix when starting gtests via GTestWrapper.java + - JDK-8268033: compiler/intrinsics/bmi/verifycode/BzhiTestI2L.java fails with "fatal error: Not compilable at tier 3: CodeBuffer overflow" + - JDK-8268276: Base64 Decoding optimization for x86 using AVX-512 + - JDK-8268297: jdk/jfr/api/consumer/streaming/TestLatestEvent.java times out + - JDK-8268779: ZGC: runtime/InternalApi/ThreadCpuTimesDeadlock.java#id1 failed with "OutOfMemoryError: Java heap space" + - JDK-8269029: compiler/codegen/TestCharVect2.java fails for client VMs + - JDK-8269404: Base64 Encoding optimization enhancements for x86 using AVX-512 + - JDK-8269571: NMT should print total malloc bytes and invocation count + - JDK-8269743: test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/stress/jni/nativeAndMH/Test.java crash with small heap (-Xmx50m) + - JDK-8270086: ARM32-softfp: Do not load CONSTANT_double using the condy helper methods in the interpreter + - JDK-8270155: ARM32: Improve register dump in hs_err + - JDK-8270609: [TESTBUG] java/awt/print/Dialog/DialogCopies.java does not show instruction + - JDK-8270848: Redundant unsafe opmask register allocation in some instruction patterns. + - JDK-8270947: AArch64: C1: use zero_words to initialize all objects + - JDK-8271015: Split cds/SharedBaseAddress.java test into smaller parts + - JDK-8271834: TestStringDeduplicationAgeThreshold intermittent failures on Shenandoah + - JDK-8271956: AArch64: C1 build failed after JDK-8270947 + - JDK-8272094: compiler/codecache/TestStressCodeBuffers.java crashes with "failed to allocate space for trampoline" + - JDK-8272123: Problem list 4 jtreg tests which regularly fail on macos-aarch64 + - JDK-8272608: java_lang_System::allow_security_manager() doesn't set its initialization flag + - JDK-8272776: NullPointerException not reported + - JDK-8272791: java -XX:BlockZeroingLowLimit=1 crashes after 8270947 + - JDK-8272809: JFR thread sampler SI_KERNEL SEGV in metaspace::VirtualSpaceList::contains + - JDK-8273043: [TEST_BUG] Automate NimbusJTreeSelTextColor.java + - JDK-8273108: RunThese24H crashes with SEGV in markWord::displaced_mark_helper() after JDK-8268276 + - JDK-8273236: keytool does not accurately warn about algorithms that are disabled but have additional constraints + - JDK-8273380: ARM32: Default to {ldrexd,strexd} in StubRoutines::atomic_{load|store}_long + - JDK-8273459: Update code segment alignment to 64 bytes + - JDK-8273497: building.md should link to both md and html + - JDK-8273553: sun.security.ssl.SSLEngineImpl.closeInbound also has similar error of JDK-8253368 + - JDK-8273578: javax/swing/JMenu/4515762/bug4515762.java fails on macOS 12 + - JDK-8273685: Remove jtreg tag manual=yesno for java/awt/Graphics/LCDTextAndGraphicsState.java & show test instruction + - JDK-8273880: Zero: Print warnings when unsupported intrinsics are enabled + - JDK-8273881: Metaspace: test repeated deallocations + - JDK-8274029: Remove jtreg tag manual=yesno for java/awt/print/Dialog/DialogOrient.java + - JDK-8274032: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/ImagePrinting/ImageTypes.java & show test UI + - JDK-8274160: java/awt/Window/ShapedAndTranslucentWindows/Common.java delay is too high + - JDK-8274296: Update or Problem List tests which may fail with uiScale=2 on macOS + - JDK-8274456: Remove jtreg tag manual=yesno java/awt/print/PrinterJob/PageDialogTest.java + - JDK-8274527: Minimal VM build fails after JDK-8273459 + - JDK-8274563: jfr/event/oldobject/TestClassLoaderLeak.java fails when GC cycles are not happening + - JDK-8274903: Zero: Support AsyncGetCallTrace + - JDK-8275170: Some jtreg sound tests should be marked with sound keyword + - JDK-8275234: java/awt/GraphicsDevice/DisplayModes/CycleDMImage.java is entered twice in ProblemList + - JDK-8275535: Retrying a failed authentication on multiple LDAP servers can lead to users blocked + - JDK-8275569: Add linux-aarch64 to test-make profiles + - JDK-8276108: Wrong instruction generation in aarch64 backend + - JDK-8276904: Optional.toString() is unnecessarily expensive + - JDK-8277092: TestMetaspaceAllocationMT2.java#ndebug-default fails with "RuntimeException: Committed seems high: NNNN expected at most MMMM" + - JDK-8277346: ProblemList 7 serviceability/sa tests on macosx-x64 + - JDK-8277351: ProblemList runtime/jni/checked/TestPrimitiveArrayCriticalWithBadParam.java on macosx-x64 + - JDK-8277358: Accelerate CRC32-C + - JDK-8277411: C2 fast_unlock intrinsic on AArch64 has unnecessary ownership check + - JDK-8277576: ProblemList runtime/ErrorHandling/CreateCoredumpOnCrash.java on macosx-X64 + - JDK-8277577: ProblemList compiler/onSpinWait/TestOnSpinWaitAArch64DefaultFlags.java on linux-aarch64 + - JDK-8277578: ProblemList applications/jcstress/acqrel.java on linux-aarch64 + - JDK-8277866: gc/epsilon/TestMemoryMXBeans.java failed with wrong initial heap size + - JDK-8277881: Missing SessionID in TLS1.3 resumption in compatibility mode + - JDK-8277928: Fix compilation on macosx-aarch64 after 8276108 + - JDK-8277970: Test jdk/sun/security/ssl/SSLSessionImpl/NoInvalidateSocketException.java fails with "tag mismatch" + - JDK-8278826: Print error if Shenandoah flags are empty (instead of crashing) + - JDK-8279066: entries.remove(entry) is useless in PKCS12KeyStore + - JDK-8279398: jdk/jfr/api/recording/time/TestTimeMultiple.java failed with "RuntimeException: getStopTime() > afterStop" + - JDK-8279536: jdk/nio/zipfs/ZipFSOutputStreamTest.java timed out + - JDK-8279662: serviceability/sa/ClhsdbScanOops.java can fail due to unexpected GC + - JDK-8279941: sun/security/pkcs11/Signature/TestDSAKeyLength.java fails when NSS version detection fails + - JDK-8280016: gc/g1/TestShrinkAuxiliaryData30 test fails on large machines + - JDK-8280124: Reduce branches decoding latin-1 chars from UTF-8 encoded bytes + - JDK-8280234: AArch64 "core" variant does not build after JDK-8270947 + - JDK-8280391: NMT: Correct NMT tag on CollectedHeap + - JDK-8280511: AArch64: Combine shift and negate to a single instruction + - JDK-8280554: resourcehogs/serviceability/sa/ClhsdbRegionDetailsScanOopsForG1.java can fail if GC is triggered + - JDK-8280555: serviceability/sa/TestObjectMonitorIterate.java is failing due to ObjectMonitor referencing a null Object + - JDK-8280872: Reorder code cache segments to improve code density + - JDK-8280890: Cannot use '-Djava.system.class.loader' with class loader in signed JAR + - JDK-8280948: Write a regression test for JDK-4659800 + - JDK-8281296: Create a regression test for JDK-4515999 + - JDK-8281744: x86: Use short jumps in TIG::set_vtos_entry_points + - JDK-8282049: AArch64: Use ZR for integer zero immediate volatile stores + - JDK-8282276: Problem list failing two Robot Screen Capture tests + - JDK-8282347: AARCH64: Untaken branch in has_negatives stub + - JDK-8282398: EndingDotHostname.java test fails because SSL cert expired + - JDK-8282402: Create a regression test for JDK-4666101 + - JDK-8282511: Use fixed certificate validation date in SSLExampleCert template + - JDK-8282528: AArch64: Incorrect replicate2L_zero rule + - JDK-8282600: SSLSocketImpl should not use user_canceled workaround when not necessary + - JDK-8282642: vmTestbase/gc/gctests/LoadUnloadGC2/LoadUnloadGC2.java fails intermittently with exit code 1 + - JDK-8282730: LdapLoginModule throw NPE from logout method after login failure + - JDK-8282777: Create a Regression test for JDK-4515031 + - JDK-8282857: Create a regression test for JDK-4702690 + - JDK-8283059: Uninitialized warning in check_code.c with GCC 11.2 + - JDK-8283199: Linux os::cpu_microcode_revision() stalls cold startup + - JDK-8283298: Make CodeCacheSegmentSize a product flag + - JDK-8283337: Posix signal handler modification warning triggering incorrectly + - JDK-8283353: compiler/c2/cr6865031/Test.java and compiler/runtime/Test6826736.java fails on x86_32 + - JDK-8283383: [macos] a11y : Screen magnifier shows extra characters (0) at the end JButton accessibility name + - JDK-8283999: Update JMH devkit to 1.35 + - JDK-8284533: Improve InterpreterCodelet data footprint + - JDK-8284681: compiler/c2/aarch64/TestFarJump.java fails with "RuntimeException: for CodeHeap < 250MB the far jump is expected to be encoded with a single branch instruction" + - JDK-8284690: [macos] VoiceOver : Getting java.lang.IllegalArgumentException: Invalid location on Editable JComboBox + - JDK-8284732: FFI_GO_CLOSURES macro not defined but required for zero build on Mac OS X + - JDK-8284752: Zero does not build on Mac OS X due to missing os::current_thread_enable_wx implementation + - JDK-8284771: java/util/zip/CloseInflaterDeflaterTest.java failed with "AssertionError: Expected IOException to be thrown, but nothing was thrown" + - JDK-8284892: java/net/httpclient/http2/TLSConnection.java fails intermittently + - JDK-8284980: Test vmTestbase/nsk/stress/except/except010.java times out with -Xcomp -XX:+DeoptimizeALot + - JDK-8285093: Introduce UTIL_ARG_WITH + - JDK-8285305: Create an automated test for JDK-4495286 + - JDK-8285373: Create an automated test for JDK-4702233 + - JDK-8285604: closed sun/java2d/GdiRendering/ClipShapeRendering.java failed with "Incorrect color ffeeeeee instead of ff0000ff in pixel (100, 100)" + - JDK-8285612: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/ImagePrinting/ClippedImages.java + - JDK-8285687: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/PageRangesDlgTest.java + - JDK-8285698: Create a test to check the focus stealing of JPopupMenu from JComboBox + - JDK-8285794: AsyncGetCallTrace might acquire a lock via JavaThread::thread_from_jni_environment + - JDK-8285836: sun/net/www/http/KeepAliveCache/KeepAliveProperty.java failed with "RuntimeException: Failed in server" + - JDK-8286172: Create an automated test for JDK-4516019 + - JDK-8286263: compiler/c1/TestPinnedIntrinsics.java failed with "RuntimeException: testCurrentTimeMillis failed with -3" + - JDK-8286313: [macos] Voice over reads the boolean value as null in the JTable + - JDK-8286452: The array length of testSmallConstArray should be small and const + - JDK-8286460: Remove dependence on JAR filename in CDS tests + - JDK-8286551: JDK-8286460 causes tests to fail to compile in Tier2 + - JDK-8286624: Regression Test CoordinateTruncationBug.java fails on OL8.3 + - JDK-8286663: Resolve IDE warnings in WTrayIconPeer and SystemTray + - JDK-8286772: java/awt/dnd/DropTargetInInternalFrameTest/DropTargetInInternalFrameTest.html times out and fails in Windows + - JDK-8286872: Refactor add/modify notification icon (TrayIcon) + - JDK-8287011: Improve container information + - JDK-8287076: Document.normalizeDocument() produces different results + - JDK-8287349: AArch64: Merge LDR instructions to improve C1 OSR performance + - JDK-8287425: Remove unnecessary register push for MacroAssembler::check_klass_subtype_slow_path + - JDK-8287609: macOS: SIGSEGV at [CoreFoundation] CFArrayGetCount / sun.font.CFont.getTableBytesNative + - JDK-8287740: NSAccessibilityShowMenuAction not working for text editors + - JDK-8287826: javax/accessibility/4702233/AccessiblePropertiesTest.java fails to compile + - JDK-8288132: Update test artifacts in QuoVadis CA interop tests + - JDK-8288302: Shenandoah: SIGSEGV in vm maybe related to jit compiling xerces + - JDK-8288377: [REDO] DST not applying properly with zone id offset set with TZ env variable + - JDK-8288445: AArch64: C2 compilation fails with guarantee(!true || (true && (shift != 0))) failed: impossible encoding + - JDK-8288651: CDS test HelloUnload.java should not use literal string as ClassLoader name + - JDK-8289044: ARM32: missing LIR_Assembler::cmove metadata type support + - JDK-8289146: containers/docker/TestMemoryWithCgroupV1.java fails on linux ppc64le machine with missing Memory and Swap Limit output + - JDK-8289257: Some custom loader tests failed due to symbol refcount not decremented + - JDK-8289301: P11Cipher should not throw out of bounds exception during padding + - JDK-8289524: Add JFR JIT restart event + - JDK-8289559: java/awt/a11y/AccessibleJPopupMenuTest.java test fails with java.lang.NullPointerException + - JDK-8289562: Change bugs.java.com and bugreport.java.com URL's to https + - JDK-8290207: Missing notice in dom.md + - JDK-8290209: jcup.md missing additional text + - JDK-8290374: Shenandoah: Remove inaccurate comment on SBS::load_reference_barrier() + - JDK-8290451: Incorrect result when switching to C2 OSR compilation from C1 + - JDK-8290529: C2: assert(BoolTest(btest).is_canonical()) failure + - JDK-8290532: Adjust PKCS11Exception and handle more PKCS11 error codes + - JDK-8290687: serviceability/sa/TestClassDump.java could leave files owned by root on macOS + - JDK-8290705: StringConcat::validate_mem_flow asserts with "unexpected user: StoreI" + - JDK-8290711: assert(false) failed: infinite loop in PhaseIterGVN::optimize + - JDK-8290781: Segfault at PhaseIdealLoop::clone_loop_handle_data_uses + - JDK-8290839: jdk/jfr/event/compiler/TestJitRestart.java failed with "RuntimeException: No JIT restart event found: expected true, was false" + - JDK-8290908: misc tests fail: assert(!thread->owns_locks()) failed: must release all locks when leaving VM + - JDK-8290920: sspi_bridge.dll not built if BUILD_CRYPTO is false + - JDK-8291456: com/sun/jdi/ClassUnloadEventTest.java failed with: Wrong number of class unload events: expected 10 got 4 + - JDK-8291459: JVM crash with GenerateOopMap::error_work(char const*, __va_list_tag*) + - JDK-8291599: Assertion in PhaseIdealLoop::skeleton_predicate_has_opaque after JDK-8289127 + - JDK-8291650: Add delay to ClassUnloadEventTest before exiting to give time for JVM to send all events before VMDeath + - JDK-8291775: C2: assert(r != __null && r->is_Region()) failed: this phi must have a region + - JDK-8292083: Detected container memory limit may exceed physical machine memory + - JDK-8292158: AES-CTR cipher state corruption with AVX-512 + - JDK-8292385: assert(ctrl == kit.control()) failed: Control flow was added although the intrinsic bailed out + - JDK-8292541: [Metrics] Reported memory limit may exceed physical machine memory + - JDK-8292586: simplify cleanups in NTLMAuthSequence getCredentialsHandle + - JDK-8292682: Code change of JDK-8282730 not updated to reflect CSR update + - JDK-8292695: SIGQUIT and jcmd attaching mechanism does not work with signal chaining library + - JDK-8292778: EncodingSupport_md.c convertUtf8ToPlatformString wrong placing of free + - JDK-8292816: GPL Classpath exception missing from assemblyprefix.h + - JDK-8292866: Java_sun_awt_shell_Win32ShellFolder2_getLinkLocation check MultiByteToWideChar return value for failures + - JDK-8292879: com/sun/jdi/ClassUnloadEventTest.java failed due to classes not unloading + - JDK-8292880: Improve debuggee logging for com/sun/jdi/ClassUnloadEventTest.java + - JDK-8292888: Bump update version for OpenJDK: jdk-17.0.6 + - JDK-8292899: CustomTzIDCheckDST.java testcase failed on AIX platform + - JDK-8292903: enhance round_up_power_of_2 assertion output + - JDK-8293010: JDI ObjectReference/referringObjects/referringObjects001 fails: assert(env->is_enabled(JVMTI_EVENT_OBJECT_FREE)) failed: checking + - JDK-8293044: C1: Missing access check on non-accessible class + - JDK-8293232: Fix race condition in pkcs11 SessionManager + - JDK-8293319: [C2 cleanup] Remove unused other_path arg in Parse::adjust_map_after_if + - JDK-8293472: Incorrect container resource limit detection if manual cgroup fs mounts present + - JDK-8293489: Accept CAs with BasicConstraints without pathLenConstraint + - JDK-8293535: jdk/javadoc/doclet/testJavaFX/TestJavaFxMode.java fail with jfx + - JDK-8293540: [Metrics] Incorrectly detected resource limits with additional cgroup fs mounts + - JDK-8293550: Optionally add get-task-allow entitlement to macos binaries + - JDK-8293578: Duplicate ldc generated by javac + - JDK-8293657: sun/management/jmxremote/bootstrap/RmiBootstrapTest.java#id1 failed with "SSLHandshakeException: Remote host terminated the handshake" + - JDK-8293659: Improve UnsatisfiedLinkError error message to include dlopen error details + - JDK-8293672: Update freetype md file + - JDK-8293701: jdeps InverseDepsAnalyzer runs into NoSuchElementException: No value present + - JDK-8293808: mscapi destroyKeyContainer enhance KeyStoreException: Access is denied exception + - JDK-8293815: P11PSSSignature.engineUpdate should not print debug messages during normal operation + - JDK-8293816: CI: ciBytecodeStream::get_klass() is not consistent + - JDK-8293826: Closed test fails after JDK-8276108 on aarch64 + - JDK-8293828: JFR: jfr/event/oldobject/TestClassLoaderLeak.java still fails when GC cycles are not happening + - JDK-8293834: Update CLDR data following tzdata 2022c update + - JDK-8293891: gc/g1/mixedgc/TestOldGenCollectionUsage.java (still) assumes that GCs take 1ms minimum + - JDK-8293965: Code signing warnings after JDK-8293550 + - JDK-8293998: [PPC64] JfrGetCallTrace: assert(_pc != nullptr) failed: must have PC + - JDK-8294307: ISO 4217 Amendment 173 Update + - JDK-8294310: compare.sh fails on macos after JDK-8293550 + - JDK-8294357: (tz) Update Timezone Data to 2022d + - JDK-8294578: [PPC64] C2: Missing is_oop information when using disjoint compressed oops mode + - JDK-8294740: Add cgroups keyword to TestDockerBasic.java + - JDK-8294837: unify Windows 2019 version check in os_windows and java_props_md + - JDK-8294840: langtools OptionalDependencyTest.java use File.pathSeparator + - JDK-8295173: (tz) Update Timezone Data to 2022e + - JDK-8295288: Some vm_flags tests associate with a wrong BugID + - JDK-8295405: Add cause in a couple of IllegalArgumentException and InvalidParameterException shown by sun/security/pkcs11 tests + - JDK-8295412: support latest VS2022 MSC_VER in abstract_vm_version.cpp + - JDK-8295419: JFR: Change name of jdk.JitRestart + - JDK-8295429: Update harfbuzz md file + - JDK-8295469: S390X: Optimized builds are broken + - JDK-8295554: Move the "sizecalc.h" to the correct location + - JDK-8295641: Fix DEFAULT_PROMOTED_VERSION_PRE=ea for -dev + - JDK-8295714: GHA ::set-output is deprecated and will be removed + - JDK-8295723: security/infra/wycheproof/RunWycheproof.java fails with Assertion Error + - JDK-8295872: [PPC64] JfrGetCallTrace: Need pc == nullptr check before frame constructor + - JDK-8295952: Problemlist existing compiler/rtm tests also on x86 + - JDK-8296083: javax/swing/JTree/6263446/bug6263446.java fails intermittently on a VM + - JDK-8296108: (tz) Update Timezone Data to 2022f + - JDK-8296239: ISO 4217 Amendment 174 Update + - JDK-8296480: java/security/cert/pkix/policyChanges/TestPolicy.java is failing + - JDK-8296485: BuildEEBasicConstraints.java test fails with SunCertPathBuilderException + - JDK-8296496, JDK-8292652: Overzealous check in sizecalc.h prevents large memory allocation + - JDK-8296632: Write a test to verify the content change of TextArea sends TextEvent + - JDK-8296715: CLDR v42 update for tzdata 2022f + - JDK-8296733: JFR: File Read event for RandomAccessFile::write(byte[]) is incorrect + - JDK-8296945: PublicMethodsTest is slow due to dependency verification with debug builds + - JDK-8296956: [JVMCI] HotSpotResolvedJavaFieldImpl.getIndex returns wrong value + - JDK-8296957: One more cast in SAFE_SIZE_NEW_ARRAY2 + - JDK-8296958: [JVMCI] add API for retrieving ConstantValue attributes + - JDK-8296960: [JVMCI] list HotSpotConstantPool.loadReferencedType to ConstantPool + - JDK-8296961: [JVMCI] Access to j.l.r.Method/Constructor/Field for ResolvedJavaMethod/ResolvedJavaField + - JDK-8296967: [JVMCI] rationalize relationship between getCodeSize and getCode in ResolvedJavaMethod + - JDK-8297147: UnexpectedSourceImageSize test times out on slow machines when fastdebug is used + - JDK-8297153: sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java fails again + - JDK-8297241: Update sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java + - JDK-8297309: Memory leak in ShenandoahFullGC + - JDK-8297481: Create a regression test for JDK-4424517 + - JDK-8297530: java.lang.IllegalArgumentException: Negative length on strings concatenation + - JDK-8297590: [TESTBUG] HotSpotResolvedJavaFieldTest does not run + - JDK-8297656: AArch64: Enable AES/GCM Intrinsics + - JDK-8297804: (tz) Update Timezone Data to 2022g + - JDK-8299392: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.6 + - JDK-8299439: java/text/Format/NumberFormat/CurrencyFormat.java fails for hr_HR + - JDK-8299483: ProblemList java/text/Format/NumberFormat/CurrencyFormat.java + +Notes on individual issues: +=========================== + +client-libs/javax.imageio: + +JDK-8295687: Better BMP bounds +============================== +Loading a linked ICC profile within a BMP image is now disabled by +default. To re-enable it, set the new system property +`sun.imageio.bmp.enabledLinkedProfiles` to `true`. This new property +replaces the old property, +`sun.imageio.plugins.bmp.disableLinkedProfiles`. + +client-libs/javax.sound: + +JDK-8293742: Better Banking of Sounds +===================================== +Previously, the SoundbankReader implementation, +`com.sun.media.sound.JARSoundbankReader`, would download a JAR +soundbank from a URL. This behaviour is now disabled by default. To +re-enable it, set the new system property `jdk.sound.jarsoundbank` to +`true`. + +security-libs/java.security: + +JDK-8282730: New Implementation Note for LoginModule on Removing Null from a Principals or Credentials Set +========================================================================================================== +Back in OpenJDK 9, JDK-8015081 changed the Set implementation used to +hold principals and credentials so that it rejected null +values. Attempts to call add(null), contains(null) or remove(null) +were changed to throw a NullPointerException. + +However, the logout() methods in the LoginModule implementations +within the JDK were not updated to check for null values, which may +occur in the event of a failed login. As a result, a logout() call may +throw a NullPointerException. + +The LoginModule implementations have now been updated with such checks +and an implementation note added to the specification to suggest that +the same change is made in third party modules. Developers of third +party modules are advised to verify that their logout() method does not +throw a NullPointerException. + +security-libs/javax.net.ssl: + +JDK-8287411: Enhance DTLS performance +===================================== +The JDK now exchanges DTLS cookies for all handshakes, new and +resumed. The previous behaviour can be re-enabled by setting the new +system property `jdk.tls.enableDtlsResumeCookie` to `false`. + +New in release OpenJDK 17.0.5 (2022-10-18): +=========================================== +Live versions of these release notes can be found at: + * https://bit.ly/openjdk1705 + * https://builds.shipilev.net/backports-monitor/release-notes-17.0.5.html + +* Security fixes + - JDK-8282252: Improve BigInteger/Decimal validation + - JDK-8285662: Better permission resolution + - JDK-8286077, CVE-2022-21618: Wider MultiByte conversions + - JDK-8286511: Improve macro allocation + - JDK-8286519: Better memory handling + - JDK-8286526, CVE-2022-21619: Improve NTLM support + - JDK-8286910, CVE-2022-21624: Improve JNDI lookups + - JDK-8286918, CVE-2022-21628: Better HttpServer service + - JDK-8287446: Enhance icon presentations + - JDK-8288508: Enhance ECDSA usage + - JDK-8289366, CVE-2022-39399: Improve HTTP/2 client usage + - JDK-8289853: Update HarfBuzz to 4.4.1 + - JDK-8290334: Update FreeType to 2.12.1 +* Other changes + - JDK-6782021: It is not possible to read local computer certificates with the SunMSCAPI provider + - JDK-6854300: [TEST_BUG] java/awt/event/MouseEvent/SpuriousExitEnter/SpuriousExitEnter_3.java fails in jdk6u14 & jdk7 + - JDK-7131823: bug in GIFImageReader + - JDK-8017175: [TESTBUG] javax/swing/JPopupMenu/4634626/bug4634626.java sometimes failed on mac + - JDK-8028265: Add legacy tz tests to OpenJDK + - JDK-8028998: [TEST_BUG] [macosx] java/awt/dnd/DropTargetEnterExitTest/MissedDragExitTest.java failed + - JDK-8079267: [TEST_BUG] Test java/awt/Frame/MiscUndecorated/RepaintTest.java fails + - JDK-8159694: HiDPI, Unity, java/awt/dnd/DropTargetEnterExitTest/MissedDragExitTest.java + - JDK-8169468: NoResizeEventOnDMChangeTest.java fails because FS Window didn't receive all resizes! + - JDK-8172065: javax/swing/JTree/4908142/bug4908142.java The selected index should be "aad" + - JDK-8178969: [TESTBUG] Wrong reporting of gc/g1/humongousObjects/TestHeapCounters test. + - JDK-8211002: test/jdk/java/lang/Math/PowTests.java skips testing for non-corner-case values + - JDK-8212096: javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java failed intermittently due to SSLException: Tag mismatch + - JDK-8223543: [TESTBUG] Regression test java/awt/Graphics2D/DrawString/LCDTextSrcEa.java has issues + - JDK-8225122: Test AncestorResized.java fails when Windows desktop is scaled. + - JDK-8227651: Tests fail with SSLProtocolException: Input record too big + - JDK-8240903: Add test to check that jmod hashes are reproducible + - JDK-8254318: Remove .hgtags + - JDK-8255724: [XRender] the BlitRotateClippedArea test fails on Linux in the XR pipeline + - JDK-8256844: Make NMT late-initializable + - JDK-8257534: misc tests failed with "NoClassDefFoundError: Could not initialize class java.util.concurrent.ThreadLocalRandom" + - JDK-8264666: Change implementation of safeAdd/safeMult in the LCMSImageLayout class + - JDK-8264792: The NumberFormat for locale sq_XK formats price incorrectly. + - JDK-8265360: several compiler/whitebox tests fail with "private compiler.whitebox.SimpleTestCaseHelper(int) must be compiled" + - JDK-8269039: Disable SHA-1 Signed JARs + - JDK-8269556: sun/tools/jhsdb/JShellHeapDumpTest.java fails with RuntimeException 'JShellToolProvider' missing from stdout/stderr + - JDK-8270090: C2: LCM may prioritize CheckCastPP nodes over projections + - JDK-8270312: Error: Not a test or directory containing tests: java/awt/print/PrinterJob/XparColor.java + - JDK-8271078: jdk/incubator/vector/Float128VectorTests.java failed a subtest + - JDK-8271344: Windows product version issue + - JDK-8272352: Java launcher can not parse Chinese character when system locale is set to UTF-8 + - JDK-8272417: ZGC: fastdebug build crashes when printing ClassLoaderData + - JDK-8272736: [JVMCI] Add API for reading and writing JVMCI thread locals + - JDK-8272815: jpackage --type rpm produces an error: Invalid or unsupported type: [null] + - JDK-8273040: Turning off JpAllowDowngrades (or Upgrades) + - JDK-8273115: CountedLoopEndNode::stride_con crash in debug build with -XX:+TraceLoopOpts + - JDK-8273506: java Robot API did the 'm' keypress and caused /awt/event/KeyEvent/KeyCharTest/KeyCharTest.html is timing out on macOS 12 + - JDK-8274434: move os::get_default_process_handle and os::dll_lookup to os_posix for POSIX platforms + - JDK-8274517: java/util/DoubleStreamSums/CompensatedSums.java fails with expected [true] but found [false] + - JDK-8274597: Some of the dnd tests time out and fail intermittently + - JDK-8274856: Failing jpackage tests with fastdebug/release build + - JDK-8275689: [TESTBUG] Use color tolerance only for XRender in BlitRotateClippedArea test + - JDK-8275887: jarsigner prints invalid digest/signature algorithm warnings if keysize is weak/disabled + - JDK-8276546: [IR Framework] Whitelist and ignore CompileThreshold + - JDK-8276837: [macos]: Error when signing the additional launcher + - JDK-8277429: Conflicting jpackage static library name + - JDK-8277493: [REDO] Quarantined jpackage apps are labeled as "damaged" + - JDK-8278067: Make HttpURLConnection default keep alive timeout configurable + - JDK-8278233: [macos] tools/jpackage tests timeout due to /usr/bin/osascript + - JDK-8278311: Debian packaging doesn't work + - JDK-8278609: [macos] accessibility frame is misplaced on a secondary monitor on macOS + - JDK-8278612: [macos] test/jdk/java/awt/dnd/RemoveDropTargetCrashTest crashes with VoiceOver on macOS + - JDK-8279032: compiler/loopopts/TestSkeletonPredicateNegation.java times out with -XX:TieredStopAtLevel < 4 + - JDK-8279370: jdk.jpackage/share/native/applauncher/JvmLauncher.cpp fails to build with GCC 6.3.0 + - JDK-8279622: C2: miscompilation of map pattern as a vector reduction + - JDK-8280233: Temporarily disable Unix domain sockets in Windows PipeImpl + - JDK-8280550: SplittableRandom#nextDouble(double,double) can return result >= bound + - JDK-8280696: C2 compilation hits assert(is_dominator(c, n_ctrl)) failed + - JDK-8280863: Update build README to reflect that MSYS2 is supported + - JDK-8280913: Create a regression test for JRootPane.setDefaultButton() method + - JDK-8280944: Enable Unix domain sockets in Windows Selector notification mechanism + - JDK-8280950: RandomGenerator:NextDouble() default behavior non conformant after JDK-8280550 fix + - JDK-8281181: Do not use CPU Shares to compute active processor count + - JDK-8281183: RandomGenerator:NextDouble() default behavior partially fixed by JDK-8280950 + - JDK-8281297: TestStressG1Humongous fails with guarantee(is_range_uncommitted) + - JDK-8281535: Create a regression test for JDK-4670051 + - JDK-8281569: Create tests for Frame.setMinimumSize() method + - JDK-8281628: KeyAgreement : generateSecret intermittently not resetting + - JDK-8281738: Create a regression test for checking the 'Space' key activation of focused Button + - JDK-8281745: Create a regression test for JDK-4514331 + - JDK-8281988: Create a regression test for JDK-4618767 + - JDK-8282007: Assorted enhancements to jpackage testing framework + - JDK-8282046: Create a regression test for JDK-8000326 + - JDK-8282214: Upgrade JQuery to version 3.6.0 + - JDK-8282234: Create a regression test for JDK-4532513 + - JDK-8282280: Update Xerces to Version 2.12.2 + - JDK-8282306: os::is_first_C_frame(frame*) crashes on invalid link access + - JDK-8282343: Create a regression test for JDK-4518432 + - JDK-8282351: jpackage does not work if class file has `$$` in the name on windows + - JDK-8282407: Missing ')' in MacResources.properties + - JDK-8282467: add extra diagnostics for JDK-8268184 + - JDK-8282477: [x86, aarch64] vmassert(_last_Java_pc == NULL, "already walkable"); fails with async profiler + - JDK-8282538: PKCS11 tests fail on CentOS Stream 9 + - JDK-8282548: Create a regression test for JDK-4330998 + - JDK-8282555: Missing memory edge when spilling MoveF2I, MoveD2L etc + - JDK-8282640: Create a test for JDK-4740761 + - JDK-8282778: Create a regression test for JDK-4699544 + - JDK-8282789: Create a regression test for the JTree usecase of JDK-4618767 + - JDK-8282860: Write a regression test for JDK-4164779 + - JDK-8282933: Create a test for JDK-4529616 + - JDK-8282936: Write a regression test for JDK-4615365 + - JDK-8282937: Write a regression test for JDK-4820080 + - JDK-8282947: JFR: Dump on shutdown live-locks in some conditions + - JDK-8283015: Create a test for JDK-4715496 + - JDK-8283087: Create a test or JDK-4715503 + - JDK-8283245: Create a test for JDK-4670319 + - JDK-8283277: ISO 4217 Amendment 171 Update + - JDK-8283441: C2: segmentation fault in ciMethodBlocks::make_block_at(int) + - JDK-8283457: [macos] libpng build failures with Xcode13.3 + - JDK-8283493: Create an automated regression test for RFE 4231298 + - JDK-8283507: Create a regression test for RFE 4287690 + - JDK-8283562: JDK-8282306 breaks gtests on zero + - JDK-8283597: [REDO] Invalid generic signature for redefined classes + - JDK-8283621: Write a regression test for CCC4400728 + - JDK-8283623: Create an automated regression test for JDK-4525475 + - JDK-8283624: Create an automated regression test for RFE-4390885 + - JDK-8283712: Create a manual test framework class + - JDK-8283723: Update Visual Studio 2022 to version 17.1.0 for Oracle builds on Windows + - JDK-8283803: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/PrintGlyphVectorTest.java and fix test + - JDK-8283849: AsyncGetCallTrace may crash JVM on guarantee + - JDK-8283903: GetContainerCpuLoad does not return the correct result in share mode + - JDK-8283911: DEFAULT_PROMOTED_VERSION_PRE not reset to 'ea' for jdk-17.0.4 + - JDK-8284014: Menu items with submenus in JPopupMenu are not spoken on macOS + - JDK-8284067: jpackage'd launcher reports non-zero exit codes with error prompt + - JDK-8284077: Create an automated test for JDK-4170173 + - JDK-8284294: Create an automated regression test for RFE 4138746 + - JDK-8284358: Unreachable loop is not removed from C2 IR, leading to a broken graph + - JDK-8284367: JQuery UI upgrade from 1.12.1 to 1.13.1 + - JDK-8284521: Write an automated regression test for RFE 4371575 + - JDK-8284535: Fix PrintLatinCJKTest.java test that is failing with Parse Exception + - JDK-8284675: "jpackage.exe" creates application launcher without Windows Application Manfiest + - JDK-8284680: sun.font.FontConfigManager.getFontConfig() leaks charset + - JDK-8284686: Interval of < 1 ms disables ExecutionSample events + - JDK-8284694: Avoid evaluating SSLAlgorithmConstraints twice + - JDK-8284883: JVM crash: guarantee(sect->end() <= sect->limit()) failed: sanity on AVX512 + - JDK-8284898: Enhance PassFailJFrame + - JDK-8284944: assert(cnt++ < 40) failed: infinite cycle in loop optimization + - JDK-8284950: CgroupV1 detection code should consider memory.swappiness + - JDK-8284956: Potential leak awtImageData/color_data when initializes X11GraphicsEnvironment + - JDK-8284977: MetricsTesterCgroupV2.getLongValueEntryFromFile fails when named value doesn't exist + - JDK-8285081: Improve XPath operators count accuracy + - JDK-8285097: Duplicate XML keys in XPATHErrorResources.java and XSLTErrorResources.java + - JDK-8285301: C2: assert(!requires_atomic_access) failed: can't ensure atomicity + - JDK-8285380: Fix typos in security + - JDK-8285398: Cache the results of constraint checks + - JDK-8285617: Fix java/awt/print/PrinterJob/ImagePrinting/PrintARGBImage.java manual test + - JDK-8285693: Create an automated test for JDK-4702199 + - JDK-8285696: AlgorithmConstraints:permits not throwing IllegalArgumentException when 'alg' is null + - JDK-8285730: unify _WIN32_WINNT settings + - JDK-8285820: C2: LCM prioritizes locally dependent CreateEx nodes over projections after 8270090 + - JDK-8285923: [REDO] JDK-8285802 AArch64: Consistently handle offsets in MacroAssembler as 64-bit quantities + - JDK-8286114: [test] show real exception in bomb call in sun/rmi/runtime/Log/checkLogging/CheckLogging.java + - JDK-8286122: [macos]: App bundle cannot upload to Mac App Store due to info.plist embedded in java exe + - JDK-8286177: C2: "failed: non-reduction loop contains reduction nodes" assert failure + - JDK-8286211: Update PCSC-Lite for Suse Linux to 1.9.5 + - JDK-8286266: [macos] Voice over moving JTable column to be the first column JVM crashes + - JDK-8286277: CDS VerifyError when calling clone() on object array + - JDK-8286314: Trampoline not created for far runtime targets outside small CodeCache + - JDK-8286429: jpackageapplauncher build fails intermittently in Tier[45] + - JDK-8286573: Remove the unnecessary method Attr#attribTopLevel and its usage + - JDK-8286582: Build fails on macos aarch64 when using --with-zlib=bundled + - JDK-8286625: C2 fails with assert(!n->is_Store() && !n->is_LoadStore()) failed: no node with a side effect + - JDK-8286638: C2: CmpU needs to do more precise over/underflow analysis + - JDK-8286869: unify os::dir_is_empty across posix platforms + - JDK-8286870: Memory leak with RepeatCompilation + - JDK-8287016: Bump update version for OpenJDK: jdk-17.0.5 + - JDK-8287073: NPE from CgroupV2Subsystem.getInstance() + - JDK-8287091: aarch64 : guarantee(val < (1ULL << nbits)) failed: Field too big for insn + - JDK-8287107: CgroupSubsystemFactory.setCgroupV2Path asserts with freezer controller + - JDK-8287113: JFR: Periodic task thread uses period for method sampling events + - JDK-8287125: [macos] Multiple jpackage tests fail/timeout on same host + - JDK-8287202: GHA: Add macOS aarch64 to the list of default platforms for workflow_dispatch event + - JDK-8287223: C1: Inlining attempt through MH::invokeBasic() with null receiver + - JDK-8287366: Improve test failure reporting in GHA + - JDK-8287396: LIR_Opr::vreg_number() and data() can return negative number + - JDK-8287432: C2: assert(tn->in(0) != __null) failed: must have live top node + - JDK-8287463: JFR: Disable TestDevNull.java on Windows + - JDK-8287663: Add a regression test for JDK-8287073 + - JDK-8287672: jtreg test com/sun/jndi/ldap/LdapPoolTimeoutTest.java fails intermittently in nightly run + - JDK-8287724: Fix various issues with msys2 + - JDK-8287735: Provide separate event category for dll operations + - JDK-8287741: Fix of JDK-8287107 (unused cgv1 freezer controller) was incomplete + - JDK-8287824: The MTPerLineTransformValidation tests has a typo in the @run tag + - JDK-8287895: Some langtools tests fail on msys2 + - JDK-8287896: PropertiesTest.sh fail on msys2 + - JDK-8287902: UnreadableRB case in MissingResourceCauseTest is not working reliably on Windows + - JDK-8287906: Rewrite of GitHub Actions (GHA) sanity tests + - JDK-8287917: System.loadLibrary does not work on Big Sur if JDK is built with macOS SDK 10.15 and earlier + - JDK-8288000: compiler/loopopts/TestOverUnrolling2.java fails with release VMs + - JDK-8288003: log events for os::dll_unload + - JDK-8288303: C1: Miscompilation due to broken Class.getModifiers intrinsic + - JDK-8288360: CI: ciInstanceKlass::implementor() is not consistent for well-known classes + - JDK-8288399: MacOS debug symbol files not always deterministic in reproducible builds + - JDK-8288467: remove memory_operand assert for spilled instructions + - JDK-8288499: Restore cancel-in-progress in GHA + - JDK-8288599: com/sun/management/OperatingSystemMXBean/TestTotalSwap.java: Expected total swap size ... but getTotalSwapSpaceSize returned ... + - JDK-8288754: GCC 12 fails to build zReferenceProcessor.cpp + - JDK-8288781: C1: LIR_OpVisitState::maxNumberOfOperands too small + - JDK-8288985: P11TlsKeyMaterialGenerator should work with ChaCha20-Poly1305 + - JDK-8288992: AArch64: CMN should be handled the same way as CMP + - JDK-8289127: Apache Lucene triggers: DEBUG MESSAGE: duplicated predicate failed which is impossible + - JDK-8289147: unify os::infinite_sleep on posix platforms + - JDK-8289197: [17u] Push of backport of 8286177 did not remove assertion + - JDK-8289471: Issue in Initialization of keys in ErrorMsg.java and XPATHErrorResources.java + - JDK-8289477: Memory corruption with CPU_ALLOC, CPU_FREE on muslc + - JDK-8289486: Improve XSLT XPath operators count efficiency + - JDK-8289549: ISO 4217 Amendment 172 Update + - JDK-8289569: [test] java/lang/ProcessBuilder/Basic.java fails on Alpine/musl + - JDK-8289695: [TESTBUG] TestMemoryAwareness.java fails on cgroups v2 and crun + - JDK-8289697: buffer overflow in MTLVertexCache.m: MTLVertexCache_AddGlyphQuad + - JDK-8289799: Build warning in methodData.cpp memset zero-length parameter + - JDK-8289856: [PPC64] SIGSEGV in C2Compiler::init_c2_runtime() after JDK-8289060 + - JDK-8289910: unify os::message_box across posix platforms + - JDK-8290000: Bump macOS GitHub actions to macOS 11 + - JDK-8290004: [PPC64] JfrGetCallTrace: assert(_pc != nullptr) failed: must have PC + - JDK-8290020: Deadlock in leakprofiler::emit_events during shutdown + - JDK-8290082: [PPC64] ZGC C2 load barrier stub needs to preserve vector registers + - JDK-8290246: test fails "assert(init != __null) failed: initialization not found" + - JDK-8290417: CDS cannot archive lamda proxy with useImplMethodHandle + - JDK-8290456: remove os::print_statistics() + - JDK-8291595: [17u] Delete files missed in backport of 8269039 + - JDK-8291633: Build failures with GCC 11, Alpine 3 due to incompatible casts from nullptr + - JDK-8292579: (tz) Update Timezone Data to 2022c + - JDK-8295056: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.5 + +Notes on individual issues: +=========================== + +core-libs/java.net: + +JDK-8278067: Make HttpURLConnection Default Keep Alive Timeout Configurable +=========================================================================== +Two system properties have been added which control the keep alive +behavior of HttpURLConnection in the case where the server does not +specify a keep alive time. Two properties are defined for controlling +connections to servers and proxies separately. They are: + +* `http.keepAlive.time.server` +* `http.keepAlive.time.proxy` + +respectively. More information about them can be found on the +Networking Properties page: +https://docs.oracle.com/en/java/javase/19/docs/api/java.base/java/net/doc-files/net-properties.html. + +security-libs/javax.crypto: + +JDK-6782021: Windows KeyStore Updated to Include Access to the Local Machine Location +===================================================================================== +The Windows KeyStore support in the SunMSCAPI provider has been +expanded to include access to the local machine location. The new +keystore types are: + +* "Windows-MY-LOCALMACHINE" +* "Windows-ROOT-LOCALMACHINE" + +The following keystore types were also added, allowing developers to +make it clear they map to the current user: + +* "Windows-MY-CURRENTUSER" (same as "Windows-MY") +* "Windows-ROOT-CURRENTUSER" (same as "Windows-ROOT") + +JDK-8286918: Better HttpServer service +====================================== +The HttpServer can be optionally configured with a maximum connection +limit by setting the jdk.httpserver.maxConnections system property. A +value of 0 or a negative integer is ignored and considered to +represent no connection limit. In the case of a positive integer +value, any newly accepted connections will be first checked against +the current count of established connections and, if the configured +limit has been reached, then the newly accepted connection will be +closed immediately. + +hotspot/runtime: + +JDK-8281181: CPU Shares Ignored When Computing Active Processor Count +===================================================================== +Previous JDK releases used an incorrect interpretation of the Linux +cgroups parameter "cpu.shares". This might cause the JVM to use fewer +CPUs than available, leading to an under utilization of CPU resources +when the JVM is used inside a container. + +Starting from this JDK release, by default, the JVM no longer +considers "cpu.shares" when deciding the number of threads to be used +by the various thread pools. The `-XX:+UseContainerCpuShares` +command-line option can be used to revert to the previous +behavior. This option is deprecated and may be removed in a future JDK +release. + +security-libs/java.security: + +JDK-8269039: Disabled SHA-1 Signed JARs +======================================= +JARs signed with SHA-1 algorithms are now restricted by default and +treated as if they were unsigned. This applies to the algorithms used +to digest, sign, and optionally timestamp the JAR. It also applies to +the signature and digest algorithms of the certificates in the +certificate chain of the code signer and the Timestamp Authority, and +any CRLs or OCSP responses that are used to verify if those +certificates have been revoked. These restrictions also apply to +signed JCE providers. + +To reduce the compatibility risk for JARs that have been previously +timestamped, there is one exception to this policy: + +- Any JAR signed with SHA-1 algorithms and timestamped prior to + January 01, 2019 will not be restricted. + +This exception may be removed in a future JDK release. To determine if +your signed JARs are affected by this change, run: + +$ jarsigner -verify -verbose -certs` + +on the signed JAR, and look for instances of "SHA1" or "SHA-1" and +"disabled" and a warning that the JAR will be treated as unsigned in +the output. + +For example: + + Signed by "CN="Signer"" + Digest algorithm: SHA-1 (disabled) + Signature algorithm: SHA1withRSA (disabled), 2048-bit key + + WARNING: The jar will be treated as unsigned, because it is signed with a weak algorithm that is now disabled by the security property: + + jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize < 1024, DSA keySize < 1024, SHA1 denyAfter 2019-01-01 + +JARs affected by these new restrictions should be replaced or +re-signed with stronger algorithms. + +Users can, *at their own risk*, remove these restrictions by modifying +the `java.security` configuration file (or override it by using the +`java.security.properties` system property) and removing "SHA1 usage +SignedJAR & denyAfter 2019-01-01" from the +`jdk.certpath.disabledAlgorithms` security property and "SHA1 +denyAfter 2019-01-01" from the `jdk.jar.disabledAlgorithms` security +property. + +New in release OpenJDK 17.0.4.1 (2022-08-16): +=========================================== +Live versions of these release notes can be found at: + * https://bit.ly/openjdk17041 + * https://builds.shipilev.net/backports-monitor/release-notes-17.0.4.1.txt + +* Other changes + - JDK-8292258: Bump update version for OpenJDK: jdk-17.0.4.1 + - JDK-8292260: [BACKOUT] JDK-8279219: [REDO] C2 crash when allocating array of size too large + +Notes on individual issues: +=========================== + +hotspot/compiler: + +JDK-8292396: C2 Compilation Errors Unpredictably Crashes JVM +============================================================ +Fixes a regression in the C2 JIT compiler which caused the Java +Runtime to crash unpredictably. + +New in release OpenJDK 17.0.4 (2022-07-19): +=========================================== +Live versions of these release notes can be found at: + * https://bit.ly/openjdk1704 + * https://builds.shipilev.net/backports-monitor/release-notes-17.0.4.txt + +* Security fixes + - JDK-8272243: Improve DER parsing + - JDK-8272249: Better properties of loaded Properties + - JDK-8273056, JDK-8283875, CVE-2022-21549: java.util.random does not correctly sample exponential or Gaussian distributions + - JDK-8277608: Address IP Addressing + - JDK-8281859, CVE-2022-21540: Improve class compilation + - JDK-8281866, CVE-2022-21541: Enhance MethodHandle invocations + - JDK-8283190: Improve MIDI processing + - JDK-8284370: Improve zlib usage + - JDK-8285407, CVE-2022-34169: Improve Xalan supports +* Other changes + - JDK-8139173: [macosx] JInternalFrame shadow is not properly drawn + - JDK-8181571: printing to CUPS fails on mac sandbox app + - JDK-8193682: Infinite loop in ZipOutputStream.close() + - JDK-8206187: javax/management/remote/mandatory/connection/DefaultAgentFilterTest.java fails with Port already in use + - JDK-8209776: Refactor jdk/security/JavaDotSecurity/ifdefs.sh to plain java test + - JDK-8214733: runtime/8176717/TestInheritFD.java timed out + - JDK-8236136: tests which use CompilationMode shouldn't be run w/ TieredStopAtLevel + - JDK-8240756: [macos] SwingSet2:TableDemo:Printed Japanese characters were garbled + - JDK-8249592: Robot.mouseMove moves cursor to incorrect location when display scale varies and Java runs in DPI Unaware mode + - JDK-8251904: vmTestbase/nsk/sysdict/vm/stress/btree/btree010/btree010.java fails with ClassNotFoundException: nsk.sysdict.share.BTree0LLRLRLRRLR + - JDK-8255266: Update Public Suffix List to 3c213aa + - JDK-8256368: Avoid repeated upcalls into Java to re-resolve MH/VH linkers/invokers + - JDK-8258814: Compilation logging crashes for thread suspension / debugging tests + - JDK-8263461: jdk/jfr/event/gc/detailed/TestEvacuationFailedEvent.java uses wrong mechanism to cause evacuation failure + - JDK-8263538: SharedArchiveConsistency.java should test -Xshare:auto as well + - JDK-8264605: vmTestbase/nsk/jvmti/SuspendThread/suspendthrd003/TestDescription.java failed with "agent_tools.cpp, 471: (foundThread = (jthread) jni_env->NewGlobalRef(foundThread)) != NULL" + - JDK-8265261: java/nio/file/Files/InterruptCopy.java fails with java.lang.RuntimeException: Copy was not interrupted + - JDK-8265317: [vector] assert(payload->is_object()) failed: expected 'object' value for scalar-replaced boxed vector but got: NULL + - JDK-8267163: Rename anonymous loader tests to hidden loader tests + - JDK-8268231: Aarch64: Use Ldp in intrinsics for String.compareTo + - JDK-8268558: [TESTBUG] Case 2 in TestP11KeyFactoryGetRSAKeySpec is skipped + - JDK-8268595: java/io/Serializable/serialFilter/GlobalFilterTest.java#id1 failed in timeout + - JDK-8268773: Improvements related to: Failed to start thread - pthread_create failed (EAGAIN) + - JDK-8268906: gc/g1/mixedgc/TestOldGenCollectionUsage.java assumes that GCs take 1ms minimum + - JDK-8269077: TestSystemGC uses "require vm.gc.G1" for large pages subtest + - JDK-8269129: Multiple tier1 tests in hotspot/jtreg/compiler are failing for client VMs + - JDK-8269135: TestDifferentProtectionDomains runs into timeout in client VM + - JDK-8269373: some tests in jdk/tools/launcher/ fails on localized Windows platform + - JDK-8269753: Misplaced caret in PatternSyntaxException's detail message + - JDK-8269933: test/jdk/javax/net/ssl/compatibility/JdkInfo incorrect verification of protocol and cipher support + - JDK-8270021: Incorrect log decorators in gc/g1/plab/TestPLABEvacuationFailure.java + - JDK-8270336: [TESTBUG] Fix initialization in NonbranchyTree + - JDK-8270435: UT: MonitorUsedDeflationThresholdTest failed: did not find too_many string in output + - JDK-8270468: TestRangeCheckEliminated fails because methods are not compiled + - JDK-8270797: ShortECDSA.java test is not complete + - JDK-8270837: fix typos in test TestSigParse.java + - JDK-8271008: appcds/*/MethodHandlesAsCollectorTest.java tests time out because of excessive GC (CodeCache GC Threshold) in loom + - JDK-8271055: Crash during deoptimization with "assert(bb->is_reachable()) failed: getting result from unreachable basicblock" with -XX:+VerifyStack + - JDK-8271224: runtime/EnclosingMethodAttr/EnclMethodAttr.java doesn't check exit code + - JDK-8271302: Regex Test Refresh + - JDK-8272146: Disable Fibonacci test on memory constrained systems + - JDK-8272168: some hotspot runtime/logging tests don't check exit code + - JDK-8272169: runtime/logging/LoaderConstraintsTest.java doesn't build test.Empty + - JDK-8272358: Some tests may fail when executed with other locales than the US + - JDK-8272493: Suboptimal code generation around Preconditions.checkIndex intrinsic with AVX2 + - JDK-8272908: Missing coverage for certain classes in com.sun.org.apache.xml.internal.security + - JDK-8272964: java/nio/file/Files/InterruptCopy.java fails with java.lang.RuntimeException: Copy was not interrupted + - JDK-8273095: vmTestbase/vm/mlvm/anonloader/stress/oome/heap/Test.java fails with "wrong OOME" + - JDK-8273139: C2: assert(f <= 1 && f >= 0) failed: Incorrect frequency + - JDK-8273142: Remove dependancy of TestHttpServer, HttpTransaction, HttpCallback from open/test/jdk/sun/net/www/protocol/http/ tests + - JDK-8273169: java/util/regex/NegativeArraySize.java failed after JDK-8271302 + - JDK-8273804: Platform.isTieredSupported should handle the no-compiler case + - JDK-8274172: Convert JavadocTester to use NIO + - JDK-8274233: Minor cleanup for ToolBox + - JDK-8274244: ReportOnImportedModuleAnnotation.java fails on rerun + - JDK-8274561: sun/net/ftp/TestFtpTimeValue.java timed out on slow machines + - JDK-8274687: JDWP deadlocks if some Java thread reaches wait in blockOnDebuggerSuspend + - JDK-8274735: javax.imageio.IIOException: Unsupported Image Type while processing a valid JPEG image + - JDK-8274751: Drag And Drop hangs on Windows + - JDK-8274855: vectorapi tests failing with assert(!vbox->is_Phi()) failed + - JDK-8274939: Incorrect size of the pixel storage is used by the robot on macOS + - JDK-8274983: C1 optimizes the invocation of private interface methods + - JDK-8275037: Test vmTestbase/nsk/sysdict/vm/stress/btree/btree011/btree011.java crashes with memory exhaustion on Windows + - JDK-8275337: C1: assert(false) failed: live_in set of first block must be empty + - JDK-8275638: GraphKit::combine_exception_states fails with "matching stack sizes" assert + - JDK-8275745: Reproducible copyright headers + - JDK-8275830: C2: Receiver downcast is missing when inlining through method handle linkers + - JDK-8275854: C2: assert(stride_con != 0) failed: missed some peephole opt + - JDK-8276260: (se) Remove java/nio/channels/Selector/Wakeup.java from ProblemList (win) + - JDK-8276657: XSLT compiler tries to define a class with empty name + - JDK-8276796: gc/TestSystemGC.java large pages subtest fails with ZGC + - JDK-8276825: hotspot/runtime/SelectionResolution test errors + - JDK-8276863: Remove test/jdk/sun/security/ec/ECDSAJavaVerify.java + - JDK-8276880: Remove java/lang/RuntimeTests/exec/ExecWithDir as unnecessary + - JDK-8276990: Memory leak in invoker.c fillInvokeRequest() during JDI operations + - JDK-8277055: Assert "missing inlining msg" with -XX:+PrintIntrinsics + - JDK-8277072: ObjectStreamClass caches keep ClassLoaders alive + - JDK-8277087: ZipException: zip END header not found at ZipFile#Source.findEND + - JDK-8277123: jdeps does not report some exceptions correctly + - JDK-8277165: jdeps --multi-release --print-module-deps fails if module-info.class in different versioned directories + - JDK-8277166: Data race in jdeps VersionHelper + - JDK-8277396: [TESTBUG] In DefaultButtonModelCrashTest.java, frame is accessed from main thread + - JDK-8277422: tools/jar/JarEntryTime.java fails with modified time mismatch + - JDK-8277893: Arraycopy stress tests + - JDK-8277906: Incorrect type for IV phi of long counted loops after CCP + - JDK-8277922: Unable to click JCheckBox in JTable through Java Access Bridge + - JDK-8278014: [vectorapi] Remove test run script + - JDK-8278065: Refactor subclassAudits to use ClassValue + - JDK-8278186: org.jcp.xml.dsig.internal.dom.Utils.parseIdFromSameDocumentURI throws StringIndexOutOfBoundsException when calling substring method + - JDK-8278472: Invalid value set to CANDIDATEFORM structure + - JDK-8278519: serviceability/jvmti/FieldAccessWatch/FieldAccessWatch.java failed "assert(handle != __null) failed: JNI handle should not be null" + - JDK-8278549: UNIX sun/font coding misses SUSE distro detection on recent distro SUSE 15 + - JDK-8278766: Enable OpenJDK build support for reproducible jars and jmods using --date + - JDK-8278794: Infinite loop in DeflaterOutputStream.finish() + - JDK-8278796: Incorrect behavior of FloatVector.withLane on X86 + - JDK-8278851: Correct signer logic for jars signed with multiple digestalgs + - JDK-8278948: compiler/vectorapi/reshape/TestVectorCastAVX1.java crashes in assembler + - JDK-8278966: two microbenchmarks tests fail "assert(!jvms->method()->has_exception_handlers()) failed: no exception handler expected" after JDK-8275638 + - JDK-8279182: MakeZipReproducible ZipEntry timestamps not localized to UTC + - JDK-8279219: [REDO] C2 crash when allocating array of size too large + - JDK-8279227: Access Bridge: Wrong frame position and hit test result on HiDPI display + - JDK-8279356: Method linking fails with guarantee(mh->adapter() != NULL) failed: Adapter blob must already exist! + - JDK-8279437: [JVMCI] exception in HotSpotJVMCIRuntime.translate can exit the VM + - JDK-8279515: C1: No inlining through invokedynamic and invokestatic call sites when resolved class is not linked + - JDK-8279520: SPNEGO has not passed channel binding info into the underlying mechanism + - JDK-8279529: ProblemList java/nio/channels/DatagramChannel/ManySourcesAndTargets.java on macosx-aarch64 + - JDK-8279532: ProblemList sun/security/ssl/SSLSessionImpl/NoInvalidateSocketException.java + - JDK-8279560: AArch64: generate_compare_long_string_same_encoding and LARGE_LOOP_PREFETCH alignment + - JDK-8279586: [macos] custom JCheckBox and JRadioBox with custom icon set: focus is still displayed after unchecking + - JDK-8279597: [TESTBUG] ReturnBlobToWrongHeapTest.java fails with -XX:TieredStopAtLevel=1 on machines with many cores + - JDK-8279668: x86: AVX2 versions of vpxor should be asserted + - JDK-8279822: CI: Constant pool entries in error state are not supported + - JDK-8279834: Alpine Linux fails to build when --with-source-date enabled + - JDK-8279837: C2: assert(is_Loop()) failed: invalid node class: Region + - JDK-8279842: HTTPS Channel Binding support for Java GSS/Kerberos + - JDK-8279958: Provide configure hints for Alpine/apk package managers + - JDK-8280004: DCmdArgument::parse_value() should handle NULL input + - JDK-8280041: Retry loop issues in java.io.ClassCache + - JDK-8280123: C2: Infinite loop in CMoveINode::Ideal during IGVN + - JDK-8280401: [sspi] gss_accept_sec_context leaves output_token uninitialized + - JDK-8280476: [macOS] : hotspot arm64 bug exposed by latest clang + - JDK-8280543: Update the "java" and "jcmd" tool specification for CDS + - JDK-8280593: [PPC64, S390] redundant allocation of MacroAssembler in StubGenerator ctor + - JDK-8280600: C2: assert(!had_error) failed: bad dominance + - JDK-8280684: JfrRecorderService failes with guarantee(num_written > 0) when no space left on device. + - JDK-8280799: С2: assert(false) failed: cyclic dependency prevents range check elimination + - JDK-8280867: Cpuid1Ecx feature parsing is incorrect for AMD CPUs + - JDK-8280901: MethodHandle::linkToNative stub is missing w/ -Xint + - JDK-8280940: gtest os.release_multi_mappings_vm is racy + - JDK-8280941: os::print_memory_mappings() prints segment preceeding the inclusion range + - JDK-8280956: Re-examine copyright headers on files in src/java.desktop/macosx/native/libawt_lwawt/awt/a11y + - JDK-8280964: [Linux aarch64] : drawImage dithers TYPE_BYTE_INDEXED images incorrectly + - JDK-8281043: Intrinsify recursive ObjectMonitor locking for PPC64 + - JDK-8281168: Micro-optimize VarForm.getMemberName for interpreter + - JDK-8281262: Windows builds in different directories are not fully reproducible + - JDK-8281266: [JVMCI] MetaUtil.toInternalName() doesn't handle hidden classes correctly + - JDK-8281274: deal with ActiveProcessorCount in os::Linux::print_container_info + - JDK-8281275: Upgrading from 8 to 11 no longer accepts '/' as filepath separator in gc paths + - JDK-8281318: Improve jfr/event/allocation tests reliability + - JDK-8281338: NSAccessibilityPressAction action for tree node and NSAccessibilityShowMenuAcgtion action not working + - JDK-8281450: Remove unnecessary operator new and delete from ObjectMonitor + - JDK-8281522: Rename ADLC classes which have the same name as hotspot variants + - JDK-8281544: assert(VM_Version::supports_avx512bw()) failed for Tests jdk/incubator/vector/ + - JDK-8281615: Deadlock caused by jdwp agent + - JDK-8281638: jfr/event/allocation tests fail with release VMs after JDK-8281318 due to lack of -XX:+UnlockDiagnosticVMOptions + - JDK-8281771: Crash in java_lang_invoke_MethodType::print_signature + - JDK-8281811: assert(_base == Tuple) failed: Not a Tuple after JDK-8280799 + - JDK-8281822: Test failures on non-DTrace builds due to incomplete DTrace* flags handling + - JDK-8282008: Incorrect handling of quoted arguments in ProcessBuilder + - JDK-8282045: When loop strip mining fails, safepoints are removed from loop anyway + - JDK-8282142: [TestCase] compiler/inlining/ResolvedClassTest.java will fail when --with-jvm-features=-compiler1 + - JDK-8282170: JVMTI SetBreakpoint metaspace allocation test + - JDK-8282172: CompileBroker::log_metaspace_failure is called from non-Java/compiler threads + - JDK-8282225: GHA: Allow one concurrent run per PR only + - JDK-8282231: x86-32: runtime call to SharedRuntime::ldiv corrupts registers + - JDK-8282293: Domain value for system property jdk.https.negotiate.cbt should be case-insensitive + - JDK-8282295: SymbolPropertyEntry::set_method_type fails with assert + - JDK-8282312: Minor corrections to evbroadcasti32x4 intrinsic on x86 + - JDK-8282345: handle latest VS2022 in abstract_vm_version + - JDK-8282382: Report glibc malloc tunables in error reports + - JDK-8282422: JTable.print() failed with UnsupportedCharsetException on AIX ko_KR locale + - JDK-8282444: Module finder incorrectly assumes default file system path-separator character + - JDK-8282499: Bump update version for OpenJDK: jdk-17.0.4 + - JDK-8282509: [exploded image] ResolvedClassTest fails with similar output + - JDK-8282551: Properly initialize L32X64MixRandom state + - JDK-8282583: Update BCEL md to include the copyright notice + - JDK-8282590: C2: assert(addp->is_AddP() && addp->outcnt() > 0) failed: Don't process dead nodes + - JDK-8282592: C2: assert(false) failed: graph should be schedulable + - JDK-8282628: Potential memory leak in sun.font.FontConfigManager.getFontConfig() + - JDK-8282874: Bad performance on gather/scatter API caused by different IntSpecies of indexMap + - JDK-8282887: Potential memory leak in sun.util.locale.provider.HostLocaleProviderAdapterImpl.getNumberPattern() on Windows + - JDK-8282929: Localized monetary symbols are not reflected in `toLocalizedPattern` return value + - JDK-8283017: GHA: Workflows break with update release versions + - JDK-8283187: C2: loop candidate for superword not always unrolled fully if superword fails + - JDK-8283217: Leak FcObjectSet in getFontConfigLocations() in fontpath.c + - JDK-8283249: CompressedClassPointers.java fails on ppc with 'Narrow klass shift: 0' missing + - JDK-8283279: [Testbug] Improve TestGetSwapSpaceSize + - JDK-8283315: jrt-fs.jar not always deterministically built + - JDK-8283323: libharfbuzz optimization level results in extreme build times + - JDK-8283347: [macos] Bad JNI lookup accessibilityHitTest is shown when Screen magnifier is enabled + - JDK-8283350: (tz) Update Timezone Data to 2022a + - JDK-8283408: Fix a C2 crash when filling arrays with unsafe + - JDK-8283422: Create a new test for JDK-8254790 + - JDK-8283451: C2: assert(_base == Long) failed: Not a Long + - JDK-8283469: Don't use memset to initialize members in FileMapInfo and fix memory leak + - JDK-8283497: [windows] print TMP and TEMP in hs_err and VM.info + - JDK-8283641: Large value for CompileThresholdScaling causes assert + - JDK-8283725: Launching java with "-Xlog:gc*=trace,safepoint*=trace,class*=trace" crashes the JVM + - JDK-8283834: Unmappable character for US-ASCII encoding in TestPredicateInputBelowLoopPredicate + - JDK-8284023: java.sun.awt.X11GraphicsDevice.getDoubleBufferVisuals() leaks XdbeScreenVisualInfo + - JDK-8284033: Leak XVisualInfo in getAllConfigs in awt_GraphicsEnv.c + - JDK-8284094: Memory leak in invoker_completeInvokeRequest() + - JDK-8284369: TestFailedAllocationBadGraph fails with -XX:TieredStopAtLevel < 4 + - JDK-8284389: Improve stability of GHA Pre-submit testing by caching cygwin installer + - JDK-8284437: Building from different users/workspace is not always deterministic + - JDK-8284458: CodeHeapState::aggregate() leaks blob_name + - JDK-8284507: GHA: Only check test results if testing was not skipped + - JDK-8284532: Memory leak in BitSet::BitMapFragmentTable in JFR leak profiler + - JDK-8284549: JFR: FieldTable leaks FieldInfoTable member + - JDK-8284603: [17u] Update Boot JDK used in GHA to 17.0.2 + - JDK-8284620: CodeBuffer may leak _overflow_arena + - JDK-8284622: Update versions of some Github Actions used in JDK workflow + - JDK-8284661: Reproducible assembly builds without relative linking + - JDK-8284754: print more interesting env variables in hs_err and VM.info + - JDK-8284758: [linux] improve print_container_info + - JDK-8284848: C2: Compiler blackhole arguments should be treated as globally escaping + - JDK-8284866: Add test to JDK-8273056 + - JDK-8284884: Replace polling with waiting in javax/swing/text/html/parser/Parser/8078268/bug8078268.java + - JDK-8284992: Fix misleading Vector API doc for LSHR operator + - JDK-8285342: Zero build failure with clang due to values not handled in switch + - JDK-8285394: Compiler blackholes can be eliminated due to stale ciMethod::intrinsic_id() + - JDK-8285397: JNI exception pending in CUPSfuncs.c:250 + - JDK-8285445: cannot open file "NUL:" + - JDK-8285515: (dc) DatagramChannel.disconnect fails with "Invalid argument" on macOS 12.4 + - JDK-8285523: Improve test java/io/FileOutputStream/OpenNUL.java + - JDK-8285686: Update FreeType to 2.12.0 + - JDK-8285726: [11u, 17u] Unify fix for JDK-8284548 with version from head + - JDK-8285727: [11u, 17u] Unify fix for JDK-8284920 with version from head + - JDK-8285728: Alpine Linux build fails with busybox tar + - JDK-8285828: runtime/execstack/TestCheckJDK.java fails with zipped debug symbols + - JDK-8285921: serviceability/dcmd/jvmti/AttachFailed/AttachReturnError.java fails on Alpine + - JDK-8285956: (fs) Excessive default poll interval in PollingWatchService + - JDK-8286013: Incorrect test configurations for compiler/stable/TestStableShort.java + - JDK-8286029: Add classpath exemption to globals_vectorApiSupport_***.S.inc + - JDK-8286198: [linux] Fix process-memory information + - JDK-8286293: Tests ShortResponseBody and ShortResponseBodyWithRetry should use less resources + - JDK-8286444: javac errors after JDK-8251329 are not helpful enough to find root cause + - JDK-8286594: (zipfs) Mention paths with dot elements in ZipException and cleanups + - JDK-8286601: Mac Aarch: Excessive warnings to be ignored for build jdk + - JDK-8286855: javac error on invalid jar should only print filename + - JDK-8287109: Distrust.java failed with CertificateExpiredException + - JDK-8287119: Add Distrust.java to ProblemList + - JDK-8287162: (zipfs) Performance regression related to support for POSIX file permissions + - JDK-8287336: GHA: Workflows break on patch versions + - JDK-8287362: FieldAccessWatch testcase failed on AIX platform + - JDK-8287378: GHA: Update cygwin to fix issues in langtools tests on Windows + +Notes on individual issues: +=========================== + +core-libs/java.net: + +JDK-8285240: HTTPS Channel Binding support for Java GSS/Kerberos +================================================================ +Support has been added for TLS channel binding tokens for +Negotiate/Kerberos authentication over HTTPS through +javax.net.HttpsURLConnection. + +Channel binding tokens are increasingly required as an enhanced form +of security which can mitigate certain kinds of socially engineered, +man in the middle (MITM) attacks. They work by communicating from a +client to a server the client's understanding of the binding between +connection security (as represented by a TLS server cert) and higher +level authentication credentials (such as a username and +password). The server can then detect if the client has been fooled by +a MITM and shutdown the session/connection. + +The feature is controlled through a new system property +`jdk.https.negotiate.cbt` which is described fully at the following +page: + +https://docs.oracle.com/en/java/javase/19/docs/api/java.base/java/net/doc-files/net-properties.html#jdk.https.negotiate.cbt + +core-libs/java.lang: + +JDK-8283137: Incorrect handling of quoted arguments in ProcessBuilder +===================================================================== +ProcessBuilder on Windows is restored to address a regression caused +by JDK-8250568. Previously, an argument to ProcessBuilder that +started with a double-quote and ended with a backslash followed by a +double-quote was passed to a command incorrectly and may cause the +command to fail. For example the argument `"C:\\Program Files\"`, +would be seen by the command with extra double-quotes. This update +restores the long standing behavior that does not treat the backslash +before the final double-quote specially. + + +core-libs/java.util.jar: + +JDK-8278386: Default JDK compressor will be closed when IOException is encountered +================================================================================== +`DeflaterOutputStream.close()` and `GZIPOutputStream.finish()` methods +have been modified to close out the associated default JDK compressor +before propagating a Throwable up the +stack. `ZIPOutputStream.closeEntry()` method has been modified to +close out the associated default JDK compressor before propagating an +IOException, not of type ZipException, up the stack. + +core-libs/java.io: + +JDK-8285660: New System Property to Disable Windows Alternate Data Stream Support in java.io.File +================================================================================================= +The Windows implementation of `java.io.File` allows access to NTFS +Alternate Data Streams (ADS) by default. Such streams have a structure +like “filename:streamname”. A system property `jdk.io.File.enableADS` +has been added to control this behavior. To disable ADS support in +`java.io.File`, the system property `jdk.io.File.enableADS` should be +set to `false` (case ignored). Stricter path checking however prevents +the use of special devices such as `NUL:` + +New in release OpenJDK 17.0.3 (2022-04-19): +=========================================== +Live versions of these release notes can be found at: + * https://bit.ly/openjdk1703 + * https://builds.shipilev.net/backports-monitor/release-notes-17.0.3.txt + +* Security fixes + - JDK-8269938: Enhance XML processing passes redux + - JDK-8270504, CVE-2022-21426: Better XPath expression handling + - JDK-8272255: Completely handle MIDI files + - JDK-8272261: Improve JFR recording file processing + - JDK-8272588: Enhanced recording parsing + - JDK-8272594: Better record of recordings + - JDK-8274221: More definite BER encodings + - JDK-8275082, JDK-8278008, CVE-2022-21476: Update XML Security for Java to 2.3.0 + - JDK-8275151, CVE-2022-21443: Improved Object Identification + - JDK-8277227: Better identification of OIDs + - JDK-8277233, CVE-2022-21449: Improve ECDSA signature support + - JDK-8277672, CVE-2022-21434: Better invocation handler handling + - JDK-8278356: Improve file creation + - JDK-8278449: Improve keychain support + - JDK-8278798: Improve supported intrinsic + - JDK-8278805: Enhance BMP image loading + - JDK-8278972, CVE-2022-21496: Improve URL supports + - JDK-8281388: Change wrapping of EncryptedPrivateKeyInfo +* Other changes + - JDK-8177814: jdk/editpad is not in jdk TEST.groups + - JDK-8186670: Implement _onSpinWait() intrinsic for AArch64 + - JDK-8190748: java/text/Format/DateFormat/DateFormatTest.java and NonGregorianFormatTest fail intermittently + - JDK-8225559: assertion error at TransTypes.visitApply + - JDK-8236505: Mark jdk/editpad/EditPadTest.java as @headful + - JDK-8239502: [TEST_BUG] Test javax/swing/text/FlowView/6318524/bug6318524.java never fails + - JDK-8244602: Add JTREG_REPEAT_COUNT to repeat execution of a test + - JDK-8247980: Exclusive execution of java/util/stream tests slows down tier1 + - JDK-8251216: Implement MD5 intrinsics on AArch64 + - JDK-8253197: vmTestbase/nsk/jvmti/StopThread/stopthrd007/TestDescription.java fails with "ERROR: DebuggeeSleepingThread: ThreadDeath lost" + - JDK-8262134: compiler/uncommontrap/TestDeoptOOM.java failed with "guarantee(false) failed: wrong number of expression stack elements during deopt" + - JDK-8263567: gtests don't terminate the VM safely + - JDK-8265150: AsyncGetCallTrace crashes on ResourceMark + - JDK-8266490: Extend the OSContainer API to support the pids controller of cgroups + - JDK-8269032: Stringdedup tests are failing if the ergonomically select GC does not support it + - JDK-8269037: jsig/Testjsig.java doesn't have to be restricted to linux only + - JDK-8269087: CheckSegmentedCodeCache test fails in an emulated-client VM + - JDK-8269175: [macosx-aarch64] wrong CPU speed in hs_err file + - JDK-8269206: A small typo in comment in test/lib/sun/hotspot/WhiteBox.java + - JDK-8269523: runtime/Safepoint/TestAbortOnVMOperationTimeout.java failed when expecting 'VM operation took too long' + - JDK-8269616: serviceability/dcmd/framework/VMVersionTest.java fails with Address already in use error + - JDK-8269849: vmTestbase/gc/gctests/PhantomReference/phantom002/TestDescription.java failed with "OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects" + - JDK-8270117: Broken jtreg link in "Building the JDK" page + - JDK-8270874: JFrame paint artifacts when dragged from standard monitor to HiDPI monitor + - JDK-8271056: C2: "assert(no_dead_loop) failed: dead loop detected" due to cmoving identity + - JDK-8271199: Mutual TLS handshake fails signing client certificate with custom sensitive PKCS11 key + - JDK-8271202: C1: assert(false) failed: live_in set of first block must be empty + - JDK-8271506: Add ResourceHashtable support for deleting selected entries + - JDK-8271721: Split gc/g1/TestMixedGCLiveThreshold into separate tests + - JDK-8272167: AbsPathsInImage.java should skip *.dSYM directories + - JDK-8272327: Shenandoah: Avoid enqueuing duplicate string candidates + - JDK-8272398: Update DockerTestUtils.buildJdkDockerImage() + - JDK-8272541: Incorrect overflow test in Toom-Cook branch of BigInteger multiplication + - JDK-8272553: several hotspot runtime/CommandLine tests don't check exit code + - JDK-8272600: (test) Use native "sleep" in Basic.java + - JDK-8272866: java.util.random package summary contains incorrect mixing function in table + - JDK-8272996: JNDI DNS provider fails to resolve SRV entries when IPV6 stack is enabled + - JDK-8273162: AbstractSplittableWithBrineGenerator does not create a random salt + - JDK-8273277: C2: Move conditional negation into rc_predicate + - JDK-8273341: Update Siphash to version 1.0 + - JDK-8273351: bad tag in jdk.random module-info.java + - JDK-8273366: [testbug] javax/swing/UIDefaults/6302464/bug6302464.java fails on macOS12 + - JDK-8273381: Assert in PtrQueueBufferAllocatorTest.stress_free_list_allocator_vm + - JDK-8273387: remove some unreferenced gtk-related functions + - JDK-8273433: Enable parallelism in vmTestbase_nsk_sysdict tests + - JDK-8273438: Enable parallelism in vmTestbase/metaspace/stressHierarchy tests + - JDK-8273526: Extend the OSContainer API pids controller with pids.current + - JDK-8273634: [TEST_BUG] Improve javax/swing/text/ParagraphView/6364882/bug6364882.java + - JDK-8273655: content-types.properties files are missing some common types + - JDK-8273682: Upgrade Jline to 3.20.0 + - JDK-8273704: DrawStringWithInfiniteXform.java failed : drawString with InfiniteXform transform takes long time + - JDK-8273895: compiler/ciReplay/TestVMNoCompLevel.java fails due to wrong data size with TieredStopAtLevel=2,3 + - JDK-8273933: [TESTBUG] Test must run without preallocated exceptions + - JDK-8273967: gtest os.dll_address_to_function_and_library_name_vm fails on macOS12 + - JDK-8273972: Multi-core choke point in CMM engine (LCMSTransform.doTransform) + - JDK-8274130: C2: MulNode::Ideal chained transformations may act on wrong nodes + - JDK-8274171: java/nio/file/Files/probeContentType/Basic.java failed on "Content type" mismatches + - JDK-8274465: Fix javax/swing/text/ParagraphView/6364882/bug6364882.java failures + - JDK-8274471: Add support for RSASSA-PSS in OCSP Response + - JDK-8274506: TestPids.java and TestPidsLimit.java fail with podman run as root + - JDK-8274524: SSLSocket.close() hangs if it is called during the ssl handshake + - JDK-8274562: (fs) UserDefinedFileAttributeView doesn't correctly determine if supported when using OverlayFS + - JDK-8274658: ISO 4217 Amendment 170 Update + - JDK-8274714: Incorrect verifier protected access error message + - JDK-8274750: java/io/File/GetXSpace.java failed: '/dev': 191488 != 190976 + - JDK-8274753: ZGC: SEGV in MetaspaceShared::link_shared_classes + - JDK-8274795: AArch64: avoid spilling and restoring r18 in macro assembler + - JDK-8274935: dumptime_table has stale entry + - JDK-8274944: AppCDS dump causes SEGV in VM thread while adjusting lambda proxy class info + - JDK-8275326: C2: assert(no_dead_loop) failed: dead loop detected + - JDK-8275330: C2: assert(n->is_Root() || n->is_Region() || n->is_Phi() || n->is_MachMerge() || def_block->dominates(block)) failed: uses must be dominated by definitions + - JDK-8275536: Add test to check that File::lastModified returns same time stamp as Files.getLastModifiedTime + - JDK-8275586: Zero: Simplify interpreter initialization + - JDK-8275608: runtime/Metaspace/elastic/TestMetaspaceAllocationMT2 too slow + - JDK-8275610: C2: Object field load floats above its null check resulting in a segfault + - JDK-8275643: C2's unaryOp vector intrinsic does not properly handle LongVector.neg + - JDK-8275645: [JVMCI] avoid unaligned volatile reads on AArch64 + - JDK-8275650: Problemlist java/io/File/createTempFile/SpecialTempFile.java for Windows 11 + - JDK-8275687: runtime/CommandLine/PrintTouchedMethods test shouldn't catch RuntimeException + - JDK-8275800: Redefinition leaks MethodData::_extra_data_lock + - JDK-8275847: Scheduling fails with "too many D-U pinch points" on small method + - JDK-8275874: [JVMCI] only support aligned reads in c2v_readFieldValue + - JDK-8276057: Update JMH devkit to 1.33 + - JDK-8276141: XPathFactory set/getProperty method + - JDK-8276177: nsk/jvmti/RedefineClasses/StressRedefineWithoutBytecodeCorruption failed with "assert(def_ik->is_being_redefined()) failed: should be being redefined to get here" + - JDK-8276314: [JVMCI] check alignment of call displacement during code installation + - JDK-8276623: JDK-8275650 accidentally pushed "out" file + - JDK-8276654: element-list order is non deterministic + - JDK-8276662: Scalability bottleneck in SymbolTable::lookup_common() + - JDK-8276764: Enable deterministic file content ordering for Jar and Jmod + - JDK-8276766: Enable jar and jmod to produce deterministic timestamped content + - JDK-8276841: Add support for Visual Studio 2022 + - JDK-8277069: [REDO] JDK-8276743 Make openjdk build Zip Archive generation "reproducible" + - JDK-8277137: Set OnSpinWaitInst/OnSpinWaitInstCount defaults to "isb"/1 for Arm Neoverse N1 + - JDK-8277180: Intrinsify recursive ObjectMonitor locking for C2 x64 and A64 + - JDK-8277299: STACK_OVERFLOW in Java_sun_awt_shell_Win32ShellFolder2_getIconBits + - JDK-8277328: jdk/jshell/CommandCompletionTest.java failures on Windows + - JDK-8277342: vmTestbase/nsk/stress/strace/strace004.java fails with SIGSEGV in InstanceKlass::jni_id_for + - JDK-8277383: VM.metaspace optionally show chunk freelist details + - JDK-8277385: Zero: Enable CompactStrings support + - JDK-8277441: CompileQueue::add fails with assert(_last->next() == __null) failed: not last + - JDK-8277447: Hotspot C1 compiler crashes on Kotlin suspend fun with loop + - JDK-8277449: compiler/vectorapi/TestLongVectorNeg.java fails with release VMs + - JDK-8277488: Add expiry exception for Digicert (geotrustglobalca) expiring in May 2022 + - JDK-8277497: Last column cell in the JTable row is read as empty cell + - JDK-8277503: compiler/onSpinWait/TestOnSpinWaitAArch64DefaultFlags.java failed with "OnSpinWaitInst with the expected value 'isb' not found." + - JDK-8277762: Allow configuration of HOTSPOT_BUILD_USER + - JDK-8277777: [Vector API] assert(r->is_XMMRegister()) failed: must be in x86_32.ad + - JDK-8277795: ldap connection timeout not honoured under contention + - JDK-8277846: Implement fast-path for ASCII-compatible CharsetEncoders on ppc64 + - JDK-8277919: OldObjectSample event causing bloat in the class constant pool in JFR recording + - JDK-8277992: Add fast jdk_svc subtests to jdk:tier3 + - JDK-8278016: Add compiler tests to tier{2,3} + - JDK-8278020: ~13% variation in Renaissance-Scrabble + - JDK-8278080: Add --with-cacerts-src='user cacerts folder' to enable deterministic cacerts generation + - JDK-8278099: two sun/security/pkcs11/Signature tests failed with AssertionError + - JDK-8278104: C1 should support the compiler directive 'BreakAtExecute' + - JDK-8278115: gc/stress/gclocker/TestGCLockerWithSerial.java has duplicate -Xmx + - JDK-8278116: runtime/modules/LoadUnloadModuleStress.java has duplicate -Xmx + - JDK-8278163: --with-cacerts-src variable resolved after GenerateCacerts recipe setup + - JDK-8278172: java/nio/channels/FileChannel/BlockDeviceSize.java should only run on Linux + - JDK-8278185: Custom JRE cannot find non-ASCII named module inside + - JDK-8278239: vmTestbase/nsk/jvmti/RedefineClasses/StressRedefine failed with EXCEPTION_ACCESS_VIOLATION at 0x000000000000000d + - JDK-8278241: Implement JVM SpinPause on linux-aarch64 + - JDK-8278309: [windows] use of uninitialized OSThread::_state + - JDK-8278344: sun/security/pkcs12/KeytoolOpensslInteropTest.java test fails because of different openssl output + - JDK-8278346: java/nio/file/Files/probeContentType/Basic.java fails on Linux SLES15 machine + - JDK-8278381: [GCC 11] Address::make_raw() does not initialize rspec + - JDK-8278384: Bytecodes::result_type() for arraylength returns T_VOID instead of T_INT + - JDK-8278389: SuspendibleThreadSet::_suspend_all should be volatile/atomic + - JDK-8278526: [macos] Screen reader reads SwingSet2 JTable row selection as null, dimmed row for last column + - JDK-8278604: SwingSet2 table demo does not have accessible description set for images + - JDK-8278627: Shenandoah: TestHeapDump test failed + - JDK-8278758: runtime/BootstrapMethod/BSMCalledTwice.java fails with release VMs after JDK-8262134 + - JDK-8278822: Bump update version for OpenJDK: jdk-17.0.3 + - JDK-8278824: Uneven work distribution when scanning heap roots in G1 + - JDK-8278871: [JVMCI] assert((uint)reason < 2* _trap_hist_limit) failed: oob + - JDK-8278951: containers/cgroup/PlainRead.java fails on Ubuntu 21.10 + - JDK-8278987: RunThese24H.java failed with EXCEPTION_ACCESS_VIOLATION in __write_sample_info__ + - JDK-8279011: JFR: JfrChunkWriter incorrectly handles int64_t chunk size as size_t + - JDK-8279076: C2: Bad AD file when matching SqrtF with UseSSE=0 + - JDK-8279124: VM does not handle SIGQUIT during initialization + - JDK-8279225: [arm32] C1 longs comparison operation destroys argument registers + - JDK-8279300: [arm32] SIGILL when running GetObjectSizeIntrinsicsTest + - JDK-8279379: GHA: Print tests that are in error + - JDK-8279385: [test] Adjust sun/security/pkcs12/KeytoolOpensslInteropTest.java after 8278344 + - JDK-8279412: [JVMCI] failed speculations list must outlive any nmethod that refers to it + - JDK-8279445: Update JMH devkit to 1.34 + - JDK-8279453: Disable tools/jar/ReproducibleJar.java on 32-bit platforms + - JDK-8279505: Update documentation for RETRY_COUNT and REPEAT_COUNT + - JDK-8279669: test/jdk/com/sun/jdi/TestScaffold.java uses wrong condition + - JDK-8279695: [TESTBUG] modify compiler/loopopts/TestSkeletonPredicateNegation.java to run on C1 also + - JDK-8279702: [macosx] ignore xcodebuild warnings on M1 + - JDK-8279833: Loop optimization issue in String.encodeUTF8_UTF16 + - JDK-8279924: [PPC64, s390] implement frame::is_interpreted_frame_valid checks + - JDK-8279998: PPC64 debug builds fail with "untested: RangeCheckStub: predicate_failed_trap_id" + - JDK-8280002: jmap -histo may leak stream + - JDK-8280155: [PPC64, s390] frame size checks are not yet correct + - JDK-8280373: Update Xalan serializer / SystemIDResolver to align with JDK-8270492 + - JDK-8280414: Memory leak in DefaultProxySelector + - JDK-8280526: x86_32 Math.sqrt performance regression with -XX:UseSSE={0,1} + - JDK-8281061: [s390] JFR runs into assertions while validating interpreter frames + - JDK-8281460: Let ObjectMonitor have its own NMT category + - JDK-8282219: jdk/java/lang/ProcessBuilder/Basic.java fails on AIX + - JDK-8282300: Throws NamingException instead of InvalidNameException after JDK-8278972 + - JDK-8282397: createTempFile method of java.io.File is failing when called with suffix of spaces character + - JDK-8282761: XPathFactoryImpl remove setProperty and getProperty methods + - JDK-8284548: Invalid XPath expression causes StringIndexOutOfBoundsException + - JDK-8284920: Incorrect Token type causes XPath expression to return empty result + +Notes on individual issues: +=========================== + +core-libs/java.io: + +JDK-8278356: Improve file creation +================================== +This release changes the Windows implementation of `java.io.File` so +that stricter validity checks are performed by default on file +paths. This includes disallowing colons (‘:’) in the path other than +immediately after a single drive letter. It also disallows paths which +represent NTFS Alternate Data Streams (ADS) such as +“filename:streamname”. To disable strict path checking in +`java.io.File`, the system property `jdk.io.File.enableADS` should be +set to `true` (case ignored). This might be preferable if, for +example, Windows special device paths such as `NUL:` are used. + +security-libs/java.security: + +JDK-8274791: Support for RSASSA-PSS in OCSP Response +==================================================== +An OCSP response signed with the RSASSA-PSS algorithm is now supported. + +New in release OpenJDK 17.0.2 (2022-01-18): +=========================================== +Live versions of these release notes can be found at: + * https://bit.ly/openjdk1702 + * https://builds.shipilev.net/backports-monitor/release-notes-17.0.2.txt + +* Security fixes + - JDK-8251329: (zipfs) Files.walkFileTree walks infinitely if zip has dir named "." inside + - JDK-8264934, CVE-2022-21248: Enhance cross VM serialization + - JDK-8268488: More valuable DerValues + - JDK-8268494: Better inlining of inlined interfaces + - JDK-8268512: More content for ContentInfo + - JDK-8268813, CVE-2022-21283: Better String matching + - JDK-8269151: Better construction of EncryptedPrivateKeyInfo + - JDK-8269944: Better HTTP transport redux + - JDK-8270386, CVE-2022-21291: Better verification of scan methods + - JDK-8270392, CVE-2022-21293: Improve String constructions + - JDK-8270416, CVE-2022-21294: Enhance construction of Identity maps + - JDK-8270492, CVE-2022-21282: Better resolution of URIs + - JDK-8270498, CVE-2022-21296: Improve SAX Parser configuration management + - JDK-8270646, CVE-2022-21299: Improved scanning of XML entities + - JDK-8270952, CVE-2022-21277: Improve TIFF file handling + - JDK-8271962: Better TrueType font loading + - JDK-8271968: Better canonical naming + - JDK-8271987: Manifest improved manifest entries + - JDK-8272014, CVE-2022-21305: Better array indexing + - JDK-8272026, CVE-2022-21340: Verify Jar Verification + - JDK-8272236, CVE-2022-21341: Improve serial forms for transport + - JDK-8272272: Enhance jcmd communication + - JDK-8272462: Enhance image handling + - JDK-8273290: Enhance sound handling + - JDK-8273756, CVE-2022-21360: Enhance BMP image support + - JDK-8273838, CVE-2022-21365: Enhanced BMP processing + - JDK-8274096, CVE-2022-21366: Improve decoding of image files +* Other changes + - JDK-4819544: SwingSet2 JTable Demo throws NullPointerException + - JDK-8137101: [TEST_BUG] javax/swing/plaf/basic/BasicHTML/4251579/bug4251579.java failure due to timing + - JDK-8140241: (fc) Data transfer from FileChannel to itself causes hang in case of overlap + - JDK-8174819: java/nio/file/WatchService/LotsOfEvents.java fails intermittently + - JDK-8190753: (zipfs): Accessing a large entry (> 2^31 bytes) leads to a negative initial size for ByteArrayOutputStream + - JDK-8214761: Bug in parallel Kahan summation implementation + - JDK-8223923: C2: Missing interference with mismatched unsafe accesses + - JDK-8233020: (fs) UnixFileSystemProvider should use StaticProperty.userDir(). + - JDK-8238649: Call new Win32 API SetThreadDescription in os::set_native_thread_name + - JDK-8244675: assert(IncrementalInline || (_late_inlines.length() == 0 && !has_mh_late_inlines())) + - JDK-8261236: C2: ClhsdbJstackXcompStress test fails when StressGCM is enabled + - JDK-8261579: AArch64: Support for weaker memory ordering in Atomic + - JDK-8262031: Create implementation for NSAccessibilityNavigableStaticText protocol + - JDK-8262095: NPE in Flow$FlowAnalyzer.visitApply: Cannot invoke getThrownTypes because tree.meth.type is null + - JDK-8263059: security/infra/java/security/cert/CertPathValidator/certification/ComodoCA.java fails due to revoked cert + - JDK-8263364: sun/net/www/http/KeepAliveStream/KeepAliveStreamCloseWithWrongContentLength.java wedged in getInputStream + - JDK-8263375: Support stack watermarks in Zero VM + - JDK-8263773: Reenable German localization for builds at Oracle + - JDK-8264286: Create implementation for NSAccessibilityColumn protocol peer + - JDK-8264287: Create implementation for NSAccessibilityComboBox protocol peer + - JDK-8264291: Create implementation for NSAccessibilityCell protocol peer + - JDK-8264292: Create implementation for NSAccessibilityList protocol peer + - JDK-8264293: Create implementation for NSAccessibilityMenu protocol peer + - JDK-8264294: Create implementation for NSAccessibilityMenuBar protocol peer + - JDK-8264295: Create implementation for NSAccessibilityMenuItem protocol peer + - JDK-8264296: Create implementation for NSAccessibilityPopUpButton protocol peer + - JDK-8264297: Create implementation for NSAccessibilityProgressIndicator protocol peer + - JDK-8264298: Create implementation for NSAccessibilityRow protocol peer + - JDK-8264303: Create implementation for NSAccessibilityTabGroup protocol peer + - JDK-8266239: Some duplicated javac command-line options have repeated effect + - JDK-8266510: Nimbus JTree default tree cell renderer does not use selected text color + - JDK-8266988: compiler/jvmci/compilerToVM/IsMatureTest.java fails with Unexpected isMature state for multiple times invoked method: expected false to equal true + - JDK-8267256: Extend minimal retry for loopback connections on Windows to PlainSocketImpl + - JDK-8267385: Create NSAccessibilityElement implementation for JavaComponentAccessibility + - JDK-8267387: Create implementation for NSAccessibilityOutline protocol + - JDK-8267388: Create implementation for NSAccessibilityTable protocol + - JDK-8268284: javax/swing/JComponent/7154030/bug7154030.java fails with "Exception: Failed to hide opaque button" + - JDK-8268294: Reusing HttpClient in a WebSocket.Listener hangs. + - JDK-8268361: Fix the infinite loop in next_line + - JDK-8268457: XML Transformer outputs Unicode supplementary character incorrectly to HTML + - JDK-8268464: Remove dependancy of TestHttpsServer, HttpTransaction, HttpCallback from open/test/jdk/sun/net/www/protocol/https/ tests + - JDK-8268626: Remove native pre-jdk9 support for jtreg failure handler + - JDK-8268860: Windows-Aarch64 build is failing in GitHub actions + - JDK-8268882: C2: assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc + - JDK-8268885: duplicate checkcast when destination type is not first type of intersection type + - JDK-8268893: jcmd to trim the glibc heap + - JDK-8268894: forged ASTs can provoke an AIOOBE at com.sun.tools.javac.jvm.ClassWriter::writePosition + - JDK-8268927: Windows: link error: unresolved external symbol "int __cdecl convert_to_unicode(char const *,wchar_t * *)" + - JDK-8269031: linux x86_64 check for binutils 2.25 or higher after 8265783 + - JDK-8269113: Javac throws when compiling switch (null) + - JDK-8269216: Useless initialization in com/sun/crypto/provider/PBES2Parameters.java + - JDK-8269269: [macos11] SystemIconTest fails with ClassCastException + - JDK-8269280: (bf) Replace StringBuffer in *Buffer.toString() + - JDK-8269481: SctpMultiChannel never releases own file descriptor + - JDK-8269637: javax/swing/JFileChooser/FileSystemView/SystemIconTest.java fails on windows + - JDK-8269656: The test test/langtools/tools/javac/versions/Versions.java has duplicate test cycles + - JDK-8269687: pauth_aarch64.hpp include name is incorrect + - JDK-8269850: Most JDK releases report macOS version 12 as 10.16 instead of 12.0 + - JDK-8269924: Shenandoah: Introduce weak/strong marking asserts + - JDK-8269951: [macos] Focus not painted in JButton when setBorderPainted(false) is invoked + - JDK-8270110: Shenandoah: Add test for JDK-8269661 + - JDK-8270116: Expand ButtonGroupLayoutTraversalTest.java to run in all LaFs, including Aqua on macOS + - JDK-8270171: Shenandoah: Cleanup TestStringDedup and TestStringDedupStress tests + - JDK-8270290: NTLM authentication fails if HEAD request is used + - JDK-8270317: Large Allocation in CipherSuite + - JDK-8270320: JDK-8270110 committed invalid copyright headers + - JDK-8270517: Add Zero support for LoongArch + - JDK-8270533: AArch64: size_fits_all_mem_uses should return false if its output is a CAS + - JDK-8270886: Crash in PhaseIdealLoop::verify_strip_mined_scheduling + - JDK-8270893: IndexOutOfBoundsException while reading large TIFF file + - JDK-8270901: Typo PHASE_CPP in CompilerPhaseType + - JDK-8270946: X509CertImpl.getFingerprint should not return the empty String + - JDK-8271071: accessibility of a table on macOS lacks cell navigation + - JDK-8271121: ZGC: stack overflow (segv) when -Xlog:gc+start=debug + - JDK-8271142: package help is not displayed for missing X11/extensions/Xrandr.h + - JDK-8271170: Add unit test for what jpackage app launcher puts in the environment + - JDK-8271215: Fix data races in G1PeriodicGCTask + - JDK-8271254: javac generates unreachable code when using empty semicolon statement + - JDK-8271287: jdk/jshell/CommandCompletionTest.java fails with "lists don't have the same size expected" + - JDK-8271308: (fc) FileChannel.transferTo() transfers no more than Integer.MAX_VALUE bytes in one call + - JDK-8271315: Redo: Nimbus JTree renderer properties persist across L&F changes + - JDK-8271323: [TESTBUG] serviceability/sa/ClhsdbCDSCore.java fails with -XX:TieredStopAtLevel=1 + - JDK-8271340: Crash PhaseIdealLoop::clone_outer_loop + - JDK-8271341: Opcode() != Op_If && Opcode() != Op_RangeCheck) || outcnt() == 2 assert failure with Test7179138_1.java + - JDK-8271459: C2: Missing NegativeArraySizeException when creating StringBuilder with negative capacity + - JDK-8271463: Updating RE Configs for Upcoming CPU Release 17.0.2 on master branch for jdk17u-cpu and jdk17u-cpu-open repos. + - JDK-8271490: [ppc] [s390]: Crash in JavaThread::pd_get_top_frame_for_profiling + - JDK-8271560: sun/security/ssl/DHKeyExchange/LegacyDHEKeyExchange.java still fails due to "An established connection was aborted by the software in your host machine" + - JDK-8271567: AArch64: AES Galois CounterMode (GCM) interleaved implementation using vector instructions + - JDK-8271600: C2: CheckCastPP which should closely follow Allocate is sunk of a loop + - JDK-8271605: Update JMH devkit to 1.32 + - JDK-8271718: Crash when during color transformation the color profile is replaced + - JDK-8271722: [TESTBUG] gc/g1/TestMixedGCLiveThreshold.java can fail if G1 Full GC uses >1 workers + - JDK-8271855: [TESTBUG] Wrong weakCompareAndSet assumption in UnsafeIntrinsicsTest + - JDK-8271862: C2 intrinsic for Reference.refersTo() is often not used + - JDK-8271868: Warn user when using mac-sign option with unsigned app-image. + - JDK-8271895: UnProblemList javax/swing/JComponent/7154030/bug7154030.java in JDK18 + - JDK-8271954: C2: assert(false) failed: Bad graph detected in build_loop_late + - JDK-8272047: java/nio/channels/FileChannel/Transfer2GPlus.java failed with Unexpected transfer size: 2147418112 + - JDK-8272095: ProblemList java/nio/channels/FileChannel/Transfer2GPlus.java on linux-aarch64 + - JDK-8272114: Unused _last_state in osThread_windows + - JDK-8272170: Missing memory barrier when checking active state for regions + - JDK-8272305: several hotspot runtime/modules don't check exit codes + - JDK-8272318: Improve performance of HeapDumpAllTest + - JDK-8272328: java.library.path is not set properly by Windows jpackage app launcher + - JDK-8272335: runtime/cds/appcds/MoveJDKTest.java doesn't check exit codes + - JDK-8272342: [TEST_BUG] java/awt/print/PrinterJob/PageDialogMarginTest.java catches all exceptions + - JDK-8272345: macos doesn't check `os::set_boot_path()` result + - JDK-8272369: java/io/File/GetXSpace.java failed with "RuntimeException: java.nio.file.NoSuchFileException: /run/user/0" + - JDK-8272391: Undeleted debug information + - JDK-8272413: Incorrect num of element count calculation for vector cast + - JDK-8272473: Parsing epoch seconds at a DST transition with a non-UTC parser is wrong + - JDK-8272562: C2: assert(false) failed: Bad graph detected in build_loop_late + - JDK-8272570: C2: crash in PhaseCFG::global_code_motion + - JDK-8272574: C2: assert(false) failed: Bad graph detected in build_loop_late + - JDK-8272639: jpackaged applications using microphone on mac + - JDK-8272703: StressSeed should be set via FLAG_SET_ERGO + - JDK-8272720: Fix the implementation of loop unrolling heuristic with LoopPercentProfileLimit + - JDK-8272783: Epsilon: Refactor tests to improve performance + - JDK-8272836: Limit run time for java/lang/invoke/LFCaching tests + - JDK-8272838: Move CriticalJNI tests out of tier1 + - JDK-8272846: Move some runtime/Metaspace/elastic/ tests out of tier1 + - JDK-8272850: Drop zapping values in the Zap* option descriptions + - JDK-8272854: split runtime/CommandLine/PrintTouchedMethods.java test + - JDK-8272856: DoubleFlagWithIntegerValue uses G1GC-only flag + - JDK-8272859: Javadoc external links should only have feature version number in URL + - JDK-8272914: Create hotspot:tier2 and hotspot:tier3 test groups + - JDK-8272970: Parallelize runtime/InvocationTests/ + - JDK-8272973: Incorrect compile command used by TestIllegalArrayCopyBeforeInfiniteLoop + - JDK-8273021: C2: Improve Add and Xor ideal optimizations + - JDK-8273026: Slow LoginContext.login() on multi threading application + - JDK-8273135: java/awt/color/ICC_ColorSpace/MTTransformReplacedProfile.java crashes in liblcms.dylib with NULLSeek+0x7 + - JDK-8273165: GraphKit::combine_exception_states fails with "matching stack sizes" assert + - JDK-8273176: handle latest VS2019 in abstract_vm_version + - JDK-8273229: Update OS detection code to recognize Windows Server 2022 + - JDK-8273234: extended 'for' with expression of type tvar causes the compiler to crash + - JDK-8273235: tools/launcher/HelpFlagsTest.java Fails on Windows 32bit + - JDK-8273278: Support XSLT on GraalVM Native Image--deterministic bytecode generation in XSLT + - JDK-8273308: PatternMatchTest.java fails on CI + - JDK-8273314: Add tier4 test groups + - JDK-8273315: Parallelize and increase timeouts for java/foreign/TestMatrix.java test + - JDK-8273318: Some containers/docker/TestJFREvents.java configs are running out of memory + - JDK-8273333: Zero should warn about unimplemented -XX:+LogTouchedMethods + - JDK-8273335: compiler/blackhole tests should not run with interpreter-only VMs + - JDK-8273342: Null pointer dereference in classFileParser.cpp:2817 + - JDK-8273359: CI: ciInstanceKlass::get_canonical_holder() doesn't respect instance size + - JDK-8273361: InfoOptsTest is failing in tier1 + - JDK-8273373: Zero: Cannot invoke JVM in primordial threads on Zero + - JDK-8273375: Remove redundant 'new String' calls after concatenation in java.desktop + - JDK-8273376: Zero: Disable vtable/itableStub gtests + - JDK-8273378: Shenandoah: Remove the remaining uses of os::is_MP + - JDK-8273408: java.lang.AssertionError: typeSig ERROR on generated class property of record + - JDK-8273416: C2: assert(false) failed: bad AD file after JDK-8252372 with UseSSE={0,1} + - JDK-8273440: Zero: Disable runtime/Unsafe/InternalErrorTest.java + - JDK-8273450: Fix the copyright header of SVML files + - JDK-8273451: Remove unreachable return in mutexLocker::wait + - JDK-8273483: Zero: Clear pending JNI exception check in native method handler + - JDK-8273486: Zero: Handle DiagnoseSyncOnValueBasedClasses VM option + - JDK-8273487: Zero: Handle "zero" variant in runtime tests + - JDK-8273489: Zero: Handle UseHeavyMonitors on all monitorenter paths + - JDK-8273498: compiler/c2/Test7179138_1.java timed out + - JDK-8273505: runtime/cds/appcds/loaderConstraints/DynamicLoaderConstraintsTest.java#default-cl crashed with SIGSEGV in MetaspaceShared::link_shared_classes + - JDK-8273514: java/util/DoubleStreamSums/CompensatedSums.java failure + - JDK-8273575: memory leak in appendBootClassPath(), paths must be deallocated + - JDK-8273592: Backout JDK-8271868 + - JDK-8273593: [REDO] Warn user when using mac-sign option with unsigned app-image. + - JDK-8273595: tools/jpackage tests do not work on apt-based Linux distros like Debian + - JDK-8273606: Zero: SPARC64 build fails with si_band type mismatch + - JDK-8273614: Shenandoah: intermittent timeout with ConcurrentGCBreakpoint tests + - JDK-8273638: javax/swing/JTable/4235420/bug4235420.java fails in GTK L&F + - JDK-8273646: Add openssl from path variable also in to Default System Openssl Path in OpensslArtifactFetcher + - JDK-8273678: TableAccessibility and TableRowAccessibility miss autorelease + - JDK-8273695: Safepoint deadlock on VMOperation_lock + - JDK-8273790: Potential cyclic dependencies between Gregorian and CalendarSystem + - JDK-8273806: compiler/cpuflags/TestSSE4Disabled.java should test for CPU feature explicitly + - JDK-8273807: Zero: Drop incorrect test block from compiler/startup/NumCompilerThreadsCheck.java + - JDK-8273808: Cleanup AddFontsToX11FontPath + - JDK-8273826: Correct Manifest file name and NPE checks + - JDK-8273887: [macos] java/awt/color/ICC_ColorSpace/MTTransformReplacedProfile.java timed out + - JDK-8273894: ConcurrentModificationException raised every time ReferralsCache drops referral + - JDK-8273902: Memory leak in OopStorage due to bug in OopHandle::release() + - JDK-8273924: ArrayIndexOutOfBoundsException thrown in java.util.JapaneseImperialCalendar.add() + - JDK-8273935: (zipfs) Files.getFileAttributeView() throws UOE instead of returning null when view not supported + - JDK-8273958: gtest/MetaspaceGtests executes unnecessary tests in debug builds + - JDK-8273961: jdk/nio/zipfs/ZipFSTester.java fails if file path contains '+' character + - JDK-8273965: some testlibrary_tests/ir_framework tests fail when c1 disabled + - JDK-8273968: JCK javax_xml tests fail in CI + - JDK-8274056: JavaAccessibilityUtilities leaks JNI objects + - JDK-8274074: SIGFPE with C2 compiled code with -XX:+StressGCM + - JDK-8274083: Update testing docs to mention tiered testing + - JDK-8274087: Windows DLL path not set correctly. + - JDK-8274145: C2: condition incorrectly made redundant with dominating main loop exit condition + - JDK-8274205: Handle KDC_ERR_SVC_UNAVAILABLE error code from KDC + - JDK-8274215: Remove globalsignr2ca root from 17.0.2 + - JDK-8274242: Implement fast-path for ASCII-compatible CharsetEncoders on x86 + - JDK-8274265: Suspicious string concatenation in logTestUtils.inline.hpp + - JDK-8274293: Build failure on macOS with Xcode 13.0 as vfork is deprecated + - JDK-8274325: C4819 warning at vm_version_x86.cpp on Windows after JDK-8234160 + - JDK-8274326: [macos] Ensure initialisation of sun/lwawt/macosx/CAccessibility in JavaComponentAccessibility.m + - JDK-8274329: Fix non-portable HotSpot code in MethodMatcher::parse_method_pattern + - JDK-8274338: com/sun/jdi/RedefineCrossEvent.java failed "assert(m != __null) failed: NULL mirror" + - JDK-8274347: Passing a *nested* switch expression as a parameter causes an NPE during compile + - JDK-8274349: ForkJoinPool.commonPool() does not work with 1 CPU + - JDK-8274381: missing CAccessibility definitions in JNI code + - JDK-8274383: JNI call of getAccessibleSelection on a wrong thread + - JDK-8274401: C2: GraphKit::load_array_element bypasses Access API + - JDK-8274406: RunThese30M.java failed "assert(!LCA_orig->dominates(pred_block) || early->dominates(pred_block)) failed: early is high enough" + - JDK-8274407: (tz) Update Timezone Data to 2021c + - JDK-8274435: EXCEPTION_ACCESS_VIOLATION in BFSClosure::closure_impl + - JDK-8274467: TestZoneInfo310.java fails with tzdata2021b + - JDK-8274468: TimeZoneTest.java fails with tzdata2021b + - JDK-8274501: c2i entry barriers read int as long on AArch64 + - JDK-8274521: jdk/jfr/event/gc/detailed/TestGCLockerEvent.java fails when other GC is selected + - JDK-8274522: java/lang/management/ManagementFactory/MXBeanException.java test fails with Shenandoah + - JDK-8274523: java/lang/management/MemoryMXBean/MemoryTest.java test should handle Shenandoah + - JDK-8274550: c2i entry barriers read int as long on PPC + - JDK-8274560: JFR: Add test for OldObjectSample event when using Shenandoah + - JDK-8274606: Fix jaxp/javax/xml/jaxp/unittest/transform/SurrogateTest.java test + - JDK-8274642: jdk/jshell/CommandCompletionTest.java fails with NoSuchElementException after JDK-8271287 + - JDK-8274716: JDWP Spec: the description for the Dispose command confuses suspend with resume. + - JDK-8274736: Concurrent read/close of SSLSockets causes SSLSessions to be invalidated unnecessarily + - JDK-8274770: [PPC64] resolve_jobject needs a generic implementation to support load barriers + - JDK-8274773: [TESTBUG] UnsafeIntrinsicsTest intermittently fails on weak memory model platform + - JDK-8274779: HttpURLConnection: HttpClient and HttpsClient incorrectly check request method when set to POST + - JDK-8274840: Update OS detection code to recognize Windows 11 + - JDK-8274848: LambdaMetaFactory::metafactory on REF_invokeSpecial impl method has incorrect behavior + - JDK-8274851: [ppc64] Port zgc to linux on ppc64le + - JDK-8274942: AssertionError at jdk.compiler/com.sun.tools.javac.util.Assert.error(Assert.java:155) + - JDK-8275008: gtest build failure due to stringop-overflow warning with gcc11 + - JDK-8275049: [ZGC] missing null check in ZNMethod::log_register + - JDK-8275051: Shenandoah: Correct ordering of requested gc cause and gc request flag + - JDK-8275071: [macos] A11y cursor gets stuck when combobox is closed + - JDK-8275104: IR framework does not handle client VM builds correctly + - JDK-8275110: Correct RE Configs for CPU Release 17.0.2 on master branch for jdk17u-cpu and jdk17u-cpu-open repos. + - JDK-8275131: Exceptions after a touchpad gesture on macOS + - JDK-8275141: recover corrupted line endings for the version-numbers.conf + - JDK-8275145: file.encoding system property has an incorrect value on Windows + - JDK-8275226: Shenandoah: Relax memory constraint for worker claiming tasks/ranges + - JDK-8275302: unexpected compiler error: cast, intersection types and sealed + - JDK-8275426: PretouchTask num_chunks calculation can overflow + - JDK-8275604: Zero: Reformat opclabels_data + - JDK-8275666: serviceability/jvmti/GetObjectSizeClass.java shouldn't have vm.flagless + - JDK-8275703: System.loadLibrary fails on Big Sur for libraries hidden from filesystem + - JDK-8275720: CommonComponentAccessibility.createWithParent isWrapped causes mem leak + - JDK-8275766: (tz) Update Timezone Data to 2021e + - JDK-8275809: crash in [CommonComponentAccessibility getCAccessible:withEnv:] + - JDK-8275811: Incorrect instance to dispose + - JDK-8275819: [TableRowAccessibility accessibilityChildren] method is ineffective + - JDK-8275849: TestZoneInfo310.java fails with tzdata2021e + - JDK-8275863: Use encodeASCII for ASCII-compatible DoubleByte encodings + - JDK-8275872: Sync J2DBench run and analyze Makefile targets with build.xml + - JDK-8276025: Hotspot's libsvml.so may conflict with user dependency + - JDK-8276066: Reset LoopPercentProfileLimit for x86 due to suboptimal performance + - JDK-8276076: Updating RE Configs for BUILD REQUEST 17.0.2+3 + - JDK-8276105: C2: Conv(D|F)2(I|L)Nodes::Ideal should handle rounding correctly + - JDK-8276112: Inconsistent scalar replacement debug info at safepoints + - JDK-8276122: Change openjdk project in jcheck to jdk-updates + - JDK-8276130: Fix Github Actions of JDK17u to account for update version scheme + - JDK-8276139: TestJpsHostName.java not reliable, better to expand HostIdentifierCreate.java test + - JDK-8276157: C2: Compiler stack overflow during escape analysis on Linux x86_32 + - JDK-8276201: Shenandoah: Race results degenerated GC to enter wrong entry point + - JDK-8276205: Shenandoah: CodeCache_lock should always be held for initializing code cache iteration + - JDK-8276306: jdk/jshell/CustomInputToolBuilder.java fails intermittently on storage acquisition + - JDK-8276536: Update TimeZoneNames files to follow the changes made by JDK-8275766 + - JDK-8276550: Use SHA256 hash in build.tools.depend.Depend + - JDK-8276572: Fake libsyslookup.so library causes tooling issues + - JDK-8276774: Cookie stored in CookieHandler not sent if user headers contain cookie + - JDK-8276801: gc/stress/CriticalNativeStress.java fails intermittently with Shenandoah + - JDK-8276805: java/awt/print/PrinterJob/CheckPrivilege.java fails due to disabled SecurityManager + - JDK-8276845: (fs) java/nio/file/spi/SetDefaultProvider.java fails on x86_32 + - JDK-8276846: JDK-8273416 is incomplete for UseSSE=1 + - JDK-8276854: Windows GHA builds fail due to broken Cygwin + - JDK-8276864: Update boot JDKs to 17.0.1 in GHA + - JDK-8276905: Use appropriate macosx_version_minimum value while compiling metal shaders + - JDK-8276927: [ppc64] Port shenandoahgc to linux on ppc64le + - JDK-8277029: JMM GetDiagnosticXXXInfo APIs should verify output array sizes + - JDK-8277093: Vector should throw ClassNotFoundException for a missing class of an element + - JDK-8277159: Fix java/nio/file/FileStore/Basic.java test by ignoring /run/user/* mount points + - JDK-8277195: missing CAccessibility definition in [CommonComponentAccessibility accessibilityHitTest] + - JDK-8277212: GC accidentally cleans valid megamorphic vtable inline caches + - JDK-8277224: sun.security.pkcs.PKCS9Attributes.toString() throws NPE + - JDK-8277529: SIGSEGV in C2 CompilerThread Node::rematerialize() compiling Packet::readUnsignedTrint + - JDK-8277981: String Deduplication table is never cleaned up due to bad dead_factor_for_cleanup + +Notes on individual issues: +=========================== + +core-libs/java.io:serialization: + +JDK-8277157: Vector should throw ClassNotFoundException for a missing class of an element +========================================================================================= +`java.util.Vector` is updated to correctly report +`ClassNotFoundException that occurs during deserialization using +`java.io.ObjectInputStream.GetField.get(name, object)` when the class +of an element of the Vector is not found. Without this fix, a +`StreamCorruptedException` is thrown that does not provide information +about the missing class. + +security-libs/java.security: + +JDK-8272535: Removed Google's GlobalSign Root Certificate +========================================================= +The following root certificate from Google has been removed from the +`cacerts` keystore: + +Alias Name: globalsignr2ca [jdk] +Distinguished Name: CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R2 + +core-libs/java.io: + +JDK-8275343: file.encoding System Property Has an Incorrect Value on Windows +============================================================================ +The initialization of the `file.encoding` system property on non macOS +platforms has been reverted to align with the behavior on or before +JDK 11. This has been an issue especially on Windows where the system +and user's locales are not the same. + +hotspot/gc: + +JDK-8277533: ZGC: Fixed long Process Non-Strong References times +================================================================ +A bug has been fixed that could cause long "Concurrent Process +Non-Strong References" times with ZGC. The bug blocked the GC from +making significant progress, and caused both latency and throughput +issues for the Java application. + +The long times could be seen in the GC logs when running with `-Xlog:gc*` e.g. + +[17606.140s][info][gc,phases ] GC(719) Concurrent Process Non-Strong References 25781.928ms + +core-libs/java.time: + +JDK-8274857: Update Timezone Data to 2021c +=========================================== +IANA Time Zone Database, on which JDK's Date/Time libraries are based, +has been updated to version 2021c +(https://mm.icann.org/pipermail/tz-announce/2021-October/000067.html). Note +that with this update, some of the time zone rules prior to the year +1970 have been modified according to the changes which were introduced +with 2021b. For more detail, refer to the announcement of 2021b +(https://mm.icann.org/pipermail/tz-announce/2021-September/000066.html) + +New in release OpenJDK 17.0.1 (2021-10-19): +=========================================== +Live versions of these release notes can be found at: + * https://builds.shipilev.net/backports-monitor/release-notes-17.0.1.txt + +* Security fixes + - JDK-8263314: Enhance XML Dsig modes + - JDK-8265167, CVE-2021-35556: Richer Text Editors + - JDK-8265574: Improve handling of sheets + - JDK-8265580, CVE-2021-35559: Enhanced style for RTF kit + - JDK-8265776: Improve Stream handling for SSL + - JDK-8266097, CVE-2021-35561: Better hashing support + - JDK-8266103: Better specified spec values + - JDK-8266109: More Resilient Classloading + - JDK-8266115: More Manifest Jar Loading + - JDK-8266137, CVE-2021-35564: Improve Keystore integrity + - JDK-8266689, CVE-2021-35567: More Constrained Delegation + - JDK-8267086: ArrayIndexOutOfBoundsException in java.security.KeyFactory.generatePublic + - JDK-8267712: Better LDAP reference processing + - JDK-8267729, CVE-2021-35578: Improve TLS client handshaking + - JDK-8267735, CVE-2021-35586: Better BMP support + - JDK-8268193: Improve requests of certificates + - JDK-8268199: Correct certificate requests + - JDK-8268205: Enhance DTLS client handshake + - JDK-8268500: Better specified ParameterSpecs + - JDK-8268506: More Manifest Digests + - JDK-8269618, CVE-2021-35603: Better session identification + - JDK-8269624: Enhance method selection support + - JDK-8270398: Enhance canonicalization + - JDK-8270404: Better canonicalization +* Other changes + - JDK-8225082: Remove IdenTrust certificate that is expiring in September 2021 + - JDK-8243543: jtreg test security/infra/java/security/cert/CertPathValidator/certification/BuypassCA.java fails + - JDK-8248899: security/infra/java/security/cert/CertPathValidator/certification/QuoVadisCA.java fails, Certificate has been revoked + - JDK-8261088: Repeatable annotations without @Target cannot have containers that target module declarations + - JDK-8262731: [macOS] Exception from "Printable.print" is swallowed during "PrinterJob.print" + - JDK-8263531: Remove unused buffer int + - JDK-8266182: Automate manual steps listed in the test jdk/sun/security/pkcs12/ParamsTest.java + - JDK-8267625: AARCH64: typo in LIR_Assembler::emit_profile_type + - JDK-8267666: Add option to jcmd GC.heap_dump to use existing file + - JDK-8268019: C2: assert(no_dead_loop) failed: dead loop detected + - JDK-8268261: C2: assert(n != __null) failed: Bad immediate dominator info. + - JDK-8268427: Improve AlgorithmConstraints:checkAlgorithm performance + - JDK-8268963: [IR Framework] Some default regexes matching on PrintOptoAssembly in IRNode.java do not work on all platforms + - JDK-8269297: Bump version numbers for JDK 17.0.1 + - JDK-8269478: Shenandoah: gc/shenandoah/mxbeans tests should be more resilient + - JDK-8269574: C2: Avoid redundant uncommon traps in GraphKit::builtin_throw() for JVMTI exception events + - JDK-8269763: The JEditorPane is blank after JDK-8265167 + - JDK-8269851: OperatingSystemMXBean getProcessCpuLoad reports incorrect process cpu usage in containers + - JDK-8269882: stack-use-after-scope in NewObjectA + - JDK-8269897: Shenandoah: Resolve UNKNOWN access strength, where possible + - JDK-8269934: RunThese24H.java failed with EXCEPTION_ACCESS_VIOLATION in java_lang_Thread::get_thread_status + - JDK-8269993: [Test]: java/net/httpclient/DigestEchoClientSSL.java contains redundant @run tags + - JDK-8270094: Shenandoah: Provide human-readable labels for test configurations + - JDK-8270096: Shenandoah: Optimize gc/shenandoah/TestRefprocSanity.java for interpreter mode + - JDK-8270098: ZGC: ZBarrierSetC2::clone_at_expansion fails with "Guard against surprises" assert + - JDK-8270137: Kerberos Credential Retrieval from Cache not Working in Cross-Realm Setup + - JDK-8270280: security/infra/java/security/cert/CertPathValidator/certification/LetsEncryptCA.java OCSP response error + - JDK-8270344: Session resumption errors + - JDK-8271203: C2: assert(iff->Opcode() == Op_If || iff->Opcode() == Op_CountedLoopEnd || iff->Opcode() == Op_RangeCheck) failed: Check this code when new subtype is added + - JDK-8271276: C2: Wrong JVM state used for receiver null check + - JDK-8271335: Updating RE Configs for BUILD REQUEST 17.0.1+4 + - JDK-8271589: fatal error with variable shift count integer rotate operation. + - JDK-8271723: Unproblemlist runtime/InvocationTests/invokevirtualTests.java + - JDK-8271730: Client authentication using RSASSA-PSS fails after correct certificate requests + - JDK-8271925: ZGC: Arraycopy stub passes invalid oop to load barrier + - JDK-8272124: Cgroup v1 initialization causes NullPointerException when cgroup path contains colon + - JDK-8272131: PhaseMacroExpand::generate_slow_arraycopy crash when clone null CallProjections.fallthrough_ioproj + - JDK-8272326: java/util/Random/RandomTestMoments.java had two Gaussian fails + - JDK-8272332: --with-harfbuzz=system doesn't add -lharfbuzz after JDK-8255790 + - JDK-8272472: StackGuardPages test doesn't build with glibc 2.34 + - JDK-8272581: sun/security/pkcs11/Provider/MultipleLogins.sh fails after JDK-8266182 + - JDK-8272602: [macos] not all KEY_PRESSED events sent when control modifier is used + - JDK-8272700: [macos] Build failure with Xcode 13.0 after JDK-8264848 + - JDK-8272708: [Test]: Cleanup: test/jdk/security/infra/java/security/cert/CertPathValidator/certification/BuypassCA.java no longer needs ocspEnabled + - JDK-8272806: [macOS] "Apple AWT Internal Exception" when input method is changed + - JDK-8273358: macOS Monterey does not have the font Times needed by Serif + +Notes on individual issues: +=========================== + +security-libs/java.security: + +JDK-8271434: Removed IdenTrust Root Certificate +=============================================== +The following root certificate from IdenTrust has been removed from +the `cacerts` keystore: + +Alias Name: identrustdstx3 [jdk] +Distinguished Name: CN=DST Root CA X3, O=Digital Signature Trust Co. + +New in release OpenJDK 17.0.0 (2021-09-14): +=========================================== +The full list of changes in the interim releases from 11u to 17u can be found at: + * https://builds.shipilev.net/backports-monitor/release-notes-12.txt + * https://builds.shipilev.net/backports-monitor/release-notes-13.txt + * https://builds.shipilev.net/backports-monitor/release-notes-14.txt + * https://builds.shipilev.net/backports-monitor/release-notes-15.txt + * https://builds.shipilev.net/backports-monitor/release-notes-16.txt + * https://builds.shipilev.net/backports-monitor/release-notes-17.txt + +Major changes are listed below. Some changes may have been backported +to earlier releases following their first appearance in OpenJDK 12 +through to 17. + +NEW FEATURES +============ + +Language Features +================= + +Switch Expressions +================== +https://openjdk.java.net/jeps/325 +https://openjdk.java.net/jeps/354 +https://openjdk.java.net/jeps/361 + +Extend the `switch` statement so that it can be used as either a +statement or an expression, and that both forms can use either a +"traditional" or "simplified" scoping and control flow behavior. Both +forms can use either traditional `case ... :` labels (with fall +through) or new `case ... ->` labels (with no fall through), with a +further new statement for yielding a value from a `switch` +expression. These changes will simplify everyday coding, and also +prepare the way for the use of pattern matching in `switch`. + +This was a preview feature (http://openjdk.java.net/jeps/12) in +OpenJDK 12 & 13 and became final in OpenJDK 14. + +Text Blocks +=========== +https://openjdk.java.net/jeps/355 +https://openjdk.java.net/jeps/368 +https://openjdk.java.net/jeps/378 + +Add text blocks to the Java language. A text block is a multi-line +string literal that avoids the need for most escape sequences, +automatically formats the string in a predictable way, and gives the +developer control over format when desired. + +This was a preview feature (http://openjdk.java.net/jeps/12) in +OpenJDK 13 & 14 and became final in OpenJDK 15. + +Pattern Matching for instanceof +=============================== +https://openjdk.java.net/jeps/305 +https://openjdk.java.net/jeps/375 +https://openjdk.java.net/jeps/394 +http://cr.openjdk.java.net/~briangoetz/amber/pattern-match.html + +Enhance the Java programming language with pattern matching for the +`instanceof` operator. Pattern matching allows common logic in a +program, namely the conditional extraction of components from objects, +to be expressed more concisely and safely. + +This was a preview feature (http://openjdk.java.net/jeps/12) in +OpenJDK 14 & 15 and became final in OpenJDK 16. + +Records +======= +https://openjdk.java.net/jeps/359 +https://openjdk.java.net/jeps/384 +https://openjdk.java.net/jeps/395 + +Enhance the Java programming language with records. Records provide a +compact syntax for declaring classes which are transparent holders for +shallowly immutable data. + +This was a preview feature (http://openjdk.java.net/jeps/12) in +OpenJDK 14 & 15 and became final in OpenJDK 16. + +Sealed Classes +============== +https://openjdk.java.net/jeps/360 +https://openjdk.java.net/jeps/397 +https://openjdk.java.net/jeps/409 +https://cr.openjdk.java.net/~briangoetz/amber/datum.html + +Enhance the Java programming language with sealed classes and +interfaces. Sealed classes and interfaces restrict which other classes +or interfaces may extend or implement them. + +This was a preview feature (http://openjdk.java.net/jeps/12) in +OpenJDK 15 & 16 and became final in OpenJDK 17. + +Restore Always-Strict Floating-Point Semantics +============================================== +https://openjdk.java.net/jeps/306 + +Make floating-point operations consistently strict, rather than have +both strict floating-point semantics (`strictfp`) and subtly different +default floating-point semantics. This will restore the original +floating-point semantics to the language and VM, matching the +semantics before the introduction of strict and default floating-point +modes in Java SE 1.2. + +Pattern Matching for switch +=========================== +https://openjdk.java.net/jeps/406 + +Enhance the Java programming language with pattern matching for +`switch` expressions and statements, along with extensions to the +language of patterns. Extending pattern matching to `switch` allows an +expression to be tested against a number of patterns, each with a +specific action, so that complex data-oriented queries can be +expressed concisely and safely. + +This is a preview feature (http://openjdk.java.net/jeps/12) in OpenJDK +17. + +Library Features +================ + +JVM Constants API +================= +https://openjdk.java.net/jeps/334 + +Introduce an API to model nominal descriptions of key class-file and +run-time artifacts, in particular constants that are loadable from the +constant pool. + +Reimplement the Legacy Socket API +================================= +https://openjdk.java.net/jeps/353 + +Replace the underlying implementation used by the `java.net.Socket` +and `java.net.ServerSocket` APIs with a simpler and more modern +implementation that is easy to maintain and debug. The new +implementation will be easy to adapt to work with user-mode threads, +a.k.a. fibers, currently being explored in Project Loom +(https://openjdk.java.net/projects/loom). + +JFR Event Streaming +=================== +https://openjdk.java.net/jeps/349 + +Expose JDK Flight Recorder data for continuous monitoring. + +Non-Volatile Mapped Byte Buffers +================================ +https://openjdk.java.net/jeps/352 + +Add new JDK-specific file mapping modes so that the `FileChannel` API +can be used to create `MappedByteBuffer` instances that refer to +non-volatile memory. + +Helpful NullPointerExceptions +============================= +https://openjdk.java.net/jeps/358 + +Improve the usability of `NullPointerException`s generated by the JVM +by describing precisely which variable was `null`. + +Foreign-Memory Access API +========================= +https://openjdk.java.net/jeps/370 +https://openjdk.java.net/jeps/383 +https://openjdk.java.net/jeps/393 + +Introduce an API to allow Java programs to safely and efficiently +access foreign memory outside of the Java heap. + +This was a incubation feature (https://openjdk.java.net/jeps/11) in +OpenJDK 14, 15 & 16, now superseded by the Foreign Function & Memory +API in OpenJDK 17 (see below). + +Edwards-Curve Digital Signature Algorithm (EdDSA) +================================================= +https://openjdk.java.net/jeps/339 + +Implement cryptographic signatures using the Edwards-Curve Digital +Signature Algorithm (EdDSA) as described by RFC 8032 +(https://tools.ietf.org/html/rfc8032). + +Hidden Classes +============== +https://openjdk.java.net/jeps/371 + +Introduce hidden classes, which are classes that cannot be used +directly by the bytecode of other classes. Hidden classes are intended +for use by frameworks that generate classes at run time and use them +indirectly, via reflection. A hidden class may be defined as a member +of an access control nest (https://openjdk.java.net/jeps/181), and may +be unloaded independently of other classes. + +Reimplement the Legacy DatagramSocket API +========================================= +https://openjdk.java.net/jeps/373 + +Replace the underlying implementations of the +`java.net.DatagramSocket` and `java.net.MulticastSocket` APIs with +simpler and more modern implementations that are easy to maintain and +debug. The new implementations will be easy to adapt to work with +virtual threads, currently being explored in Project Loom +(https://openjdk.java.net/projects/loom). This is a follow-on to JEP +353 (see above), which already reimplemented the legacy Socket API. + +Vector API +========== +https://openjdk.java.net/jeps/338 +https://openjdk.java.net/jeps/414 + +Provide an initial iteration of an incubator module, +`jdk.incubator.vector`, to express vector computations that reliably +compile at runtime to optimal vector hardware instructions on +supported CPU architectures and thus achieve superior performance to +equivalent scalar computations. + +This is an incubation feature (https://openjdk.java.net/jeps/11) +introduced in OpenJDK 16. + +Unix-Domain Socket Channels +=========================== +https://openjdk.java.net/jeps/380 + +Add Unix-domain (`AF_UNIX`) socket support to the socket channel and +server-socket channel APIs in the `java.nio.channels` package. Extend +the inherited channel mechanism to support Unix-domain socket channels +and server socket channels. + +Foreign Linker API (Incubator) +============================== +https://openjdk.java.net/jeps/389 + +Introduce an API that offers statically-typed, pure-Java access to +native code. This API, together with the Foreign-Memory API (see +above), will considerably simplify the otherwise error-prone process +of binding to a native library. + +This was an incubation feature (https://openjdk.java.net/jeps/11) +introduced in OpenJDK 16, now superseded by the Foreign Function & +Memory API in OpenJDK 17 (see below). + +Strongly Encapsulate JDK Internals by Default +============================================= +https://openjdk.java.net/jeps/396 +https://openjdk.java.net/jeps/403 + +Strongly encapsulate all internal elements of the JDK by default, +except for critical internal APIs such as `sun.misc.Unsafe`. It will +no longer be possible to relax the strong encapsulation of internal +elements via a single command-line option, as was possible in OpenJDK +9 through 16. + +Enhanced Pseudo-Random Number Generators +======================================== +https://openjdk.java.net/jeps/356 + +Provide new interface types and implementations for pseudo-random +number generators (PRNGs), including jumpable PRNGs and an additional +class of splittable PRNG algorithms (LXM). + +Foreign Function & Memory API +============================= +https://openjdk.java.net/jeps/412 + +Introduce an API by which Java programs can interoperate with code and +data outside of the Java runtime. By efficiently invoking foreign +functions (i.e., code outside the JVM), and by safely accessing +foreign memory (i.e., memory not managed by the JVM), the API enables +Java programs to call native libraries and process native data without +the brittleness and danger of JNI. + +This API is an incubation feature (https://openjdk.java.net/jeps/11) +introduced in OpenJDK 17, and is an evolution of the Foreign Memory +Access API (OpenJDK 14 through 16) and Foreign Linker API (OpenJDK +16) (see above). + +Context-Specific Deserialization Filters +======================================== +https://openjdk.java.net/jeps/415 + +Allow applications to configure context-specific and +dynamically-selected deserialization filters via a JVM-wide filter +factory that is invoked to select a filter for each individual +deserialization operation. + +Tools +===== + +Packaging Tool +============== +https://openjdk.java.net/jeps/343 +https://openjdk.java.net/jeps/392 + +Provide the `jpackage` tool, for packaging self-contained Java +applications. + +JVM Features +============ + +Shenandoah: A Low-Pause-Time Garbage Collector +============================================== +https://openjdk.java.net/jeps/189 +https://openjdk.java.net/jeps/379 + +Add a new garbage collection (GC) algorithm named Shenandoah which +reduces GC pause times by doing evacuation work concurrently with the +running Java threads. Pause times with Shenandoah are independent of +heap size, meaning you will have the same consistent pause times +whether your heap is 200 MB or 200 GB. + +Shenandoah has been provided in Red Hat builds of OpenJDK 8 since +8u131 in April 2017 and in all 11u builds. + +Upstream, it was introduced in OpenJDK 12 as an experimental feature +and became a production feature in OpenJDK 15. It was backported to +OpenJDK 11 with the 11.0.9 release in October 2020. + +Abortable Mixed Collections for G1 +================================== +https://openjdk.java.net/jeps/344 + +Make G1 mixed collections abortable if they might exceed the pause +target. + +Promptly Return Unused Committed Memory from G1 +=============================================== +https://openjdk.java.net/jeps/346 + +Enhance the G1 garbage collector to automatically return Java heap +memory to the operating system when idle. + +Dynamic CDS Archives +==================== +https://openjdk.java.net/jeps/310 +https://openjdk.java.net/jeps/350 + +Extend application class-data sharing to allow the dynamic archiving +of classes at the end of Java application execution. The archived +classes will include all loaded application classes and library +classes that are not present in the default, base-layer CDS archive. + +ZGC: Uncommit Unused Memory (Experimental) +========================================== +https://openjdk.java.net/jeps/351 + +Enhance ZGC to return unused heap memory to the operating system. + +NUMA-Aware Memory Allocation for G1 +=================================== +https://openjdk.java.net/jeps/345 + +Improve G1 performance on large machines by implementing NUMA-aware +memory allocation. + +ZGC on macOS (Experimental) +=========================== +https://openjdk.java.net/jeps/364 + +Port the ZGC garbage collector to macOS. + +ZGC on Windows (Experimental) +============================= +https://openjdk.java.net/jeps/365 + +Port the ZGC garbage collector to Windows. + +ZGC: A Scalable Low-Latency Garbage Collector (Production) +========================================================== +https://openjdk.java.net/jeps/377 + +Change the Z Garbage Collector from an experimental feature into a +product feature. + +ZGC: Concurrent Thread-Stack Processing +======================================= +https://openjdk.java.net/jeps/376 + +Move ZGC thread-stack processing from safepoints to a concurrent +phase. + +Elastic Metaspace +================= +https://openjdk.java.net/jeps/387 + +Return unused HotSpot class-metadata (i.e., metaspace) memory to the +operating system more promptly, reduce metaspace footprint, and +simplify the metaspace code in order to reduce maintenance costs. + +Ports +===== + +Alpine Linux Port +================= +https://openjdk.java.net/jeps/386 + +Port the JDK to Alpine Linux, and to other Linux distributions that +use musl as their primary C library, on both the x64 and AArch64 +architectures, + +Windows/AArch64 Port +==================== +https://openjdk.java.net/jeps/388 + +Port the JDK to Windows/AArch64. + +New macOS Rendering Pipeline +============================ +https://openjdk.java.net/jeps/382 + +Implement a Java 2D internal rendering pipeline for macOS using the +Apple Metal API as alternative to the existing pipeline, which uses +the deprecated Apple OpenGL API. + +macOS/AArch64 Port +================== +https://openjdk.java.net/jeps/391 + +Port the JDK to macOS/AArch64. + +DEPRECATIONS +============ + +Deprecate the ParallelScavenge + SerialOld GC Combination +========================================================= +https://openjdk.java.net/jeps/366 + +Deprecate the combination of the Parallel Scavenge and Serial Old +garbage collection algorithms. + +Deprecate and Disable Biased Locking +==================================== +https://openjdk.java.net/jeps/374 + +Disable biased locking by default, and deprecate all related +command-line options. + +Warnings for Value-Based Classes +================================ +https://openjdk.java.net/jeps/390 + +Designate the primitive wrapper classes as value-based and deprecate +their constructors for removal, prompting new deprecation +warnings. Provide warnings about improper attempts to synchronize on +instances of any value-based classes in the Java Platform. + +Deprecate the Applet API for Removal +==================================== +https://openjdk.java.net/jeps/398 + +Deprecate the Applet API for removal. It is essentially irrelevant +since all web-browser vendors have either removed support for Java +browser plug-ins or announced plans to do so. + +Deprecate the Security Manager for Removal +========================================== +https://openjdk.java.net/jeps/411 + +Deprecate the Security Manager for removal in a future release. The +Security Manager dates from Java 1.0. It has not been the primary +means of securing client-side Java code for many years, and it has +rarely been used to secure server-side code. To move Java forward, we +intend to deprecate the Security Manager for removal in concert with +the legacy Applet API (see above). . + +REMOVALS +======== + +Remove the Concurrent Mark Sweep (CMS) Garbage Collector +======================================================== +https://openjdk.java.net/jeps/363 + +Remove the Concurrent Mark Sweep (CMS) garbage collector. + +Remove the Pack200 Tools and API +================================ +https://openjdk.java.net/jeps/336 +https://openjdk.java.net/jeps/367 + +Remove the `pack200` and `unpack200` tools, and the `Pack200` API in +the `java.util.jar` package. These tools and API were deprecated for +removal in OpenJDK 11 with the express intent to remove them in a +future release. + +Remove the Nashorn JavaScript Engine +==================================== +https://openjdk.java.net/jeps/372 + +Remove the Nashorn JavaScript script engine and APIs, and the `jjs` +tool. The engine, the APIs, and the tool were deprecated for removal +in OpenJDK 11 with the express intent to remove them in a future +release. + +Remove the Solaris and SPARC Ports +================================== +https://openjdk.java.net/jeps/362 +https://openjdk.java.net/jeps/381 + +Remove the source code and build support for the Solaris/SPARC, +Solaris/x64, and Linux/SPARC ports. These ports were deprecated for +removal in OpenJDK 14 (JEP 362) and removed in OpenJDK 15 (JEP 381). + +Remove RMI Activation +===================== +https://openjdk.java.net/jeps/385 +https://openjdk.java.net/jeps/407 +https://docs.oracle.com/en/java/javase/14/docs/specs/rmi/activation.html + +Remove the Remote Method Invocation (RMI) Activation mechanism, while +preserving the rest of RMI. RMI Activation is an obsolete part of RMI +that has been optional since OpenJDK 8 and was deprecated in OpenJDK +15. + +Remove the Experimental AOT and JIT Compiler +============================================ +https://openjdk.java.net/jeps/410 + +Remove the experimental Java-based ahead-of-time (AOT) and +just-in-time (JIT) compiler. This compiler has seen little use since +its introduction and the effort required to maintain it is +significant. Retain the experimental Java-level JVM compiler +interface (JVMCI) so that developers can continue to use +externally-built versions of the compiler for JIT compilation. diff --git a/java-17-openjdk.spec b/java-17-openjdk.spec index 55e7b8a..5715acc 100644 --- a/java-17-openjdk.spec +++ b/java-17-openjdk.spec @@ -1335,6 +1335,7 @@ Source18: TestTranslations.java # Include portable spec and instructions on how to rebuild Source19: README.md Source20: java-%{featurever}-openjdk-portable.specfile +Source21: NEWS # Setup variables to reference correct sources %global releasezip %{_jvmdir}/%{name}-%{version}-%{prelease}.portable.unstripped.jdk.%{_arch}.tar.xz @@ -2518,6 +2519,7 @@ cjc.mainProgram(args) %changelog * Wed Feb 11 2026 Andrew Hughes - 1:17.0.18.0.8-2 - Add test to ensure blocked.certs is valid (OPENJDK-4362) +- Restore NEWS file so portable can be rebuilt * Wed Feb 11 2026 Thomas Fitzsimmons - 1:17.0.18.0.8-2 - Set rpmrelease to 2