java-17-openjdk/NEWS
Andrew Hughes d8a58568cd Restore NEWS file so portable can be rebuilt
- Restore NEWS file so portable can be rebuilt
2026-02-11 11:51:18 -05:00

7062 lines
454 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 Release<type>ArrayElements 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<String> 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
<PID> VM.info`, where `<PID>` 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 </html> 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 <ThreadType> 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 <iomanip>
- 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 "<local4>" 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 <your_server_alias> -keystore <your_keystore_filename>
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: <s> 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 <b>, <i>, <u>
- 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 <span> lost when mixed with <u> or <s>
- 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 <your_server_alias> -keystore <your_keystore_filename>
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:<sometag>" 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 "<!-- safepoint while printing -->" 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 "<!-- safepoint while printing -->" 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<jlong>::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.