RELEASE NOTES FOR: 15 ==================================================================================================== Notes generated: Fri Jan 01 07:27:12 CET 2021 JIRA Query: project = JDK AND (status in (Closed, Resolved)) AND (resolution not in ("Won't Fix", Duplicate, "Cannot Reproduce", "Not an Issue", Withdrawn)) AND (labels not in (release-note, testbug, openjdk-na, testbug) OR labels is EMPTY) AND (summary !~ 'testbug') AND (summary !~ 'problemlist') AND (summary !~ 'problem list') AND (summary !~ 'release note') AND (issuetype != CSR) AND fixVersion = 15 Acquiring pages (2306 total): ............................................... done Loading issues (2306 total): ............................................... done Resolving issues (2306 total): .............................................. done Resolving parents (2306 total): .............................................. done Resolving backports (2306 total): .............................................. done JIRA Query: project = JDK AND issuetype = JEP AND fixVersion = 15 ORDER BY summary ASC Acquiring pages (14 total): . done Loading issues (14 total): . done Resolving issues (14 total): done Resolving parents (14 total): done Filtered 197 issues carried over, 641 pushes left. Hint: Prefix bug IDs with https://bugs.openjdk.java.net/browse/ to reach the relevant JIRA entry. JAVA ENHANCEMENT PROPOSALS (JEP): JEP 339: Edwards-Curve Digital Signature Algorithm (EdDSA) Implement cryptographic signatures using the Edwards-Curve Digital Signature Algorithm (EdDSA) as described by [RFC 8032](https://tools.ietf.org/html/rfc8032). JEP 360: Sealed Classes (Preview) Enhance the Java programming language with _[sealed classes and interfaces](https://cr.openjdk.java.net/~briangoetz/amber/datum.html)_. Sealed classes and interfaces restrict which other classes or interfaces may extend or implement them. JEP 371: Hidden Classes 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. JEP 372: Remove the Nashorn JavaScript Engine Remove the Nashorn JavaScript script engine and APIs, and the `jjs` tool. The engine, the APIs, and the tool were [deprecated for removal in Java 11](http://openjdk.java.net/jeps/335) with the express intent to remove them in a future release. JEP 373: Reimplement the Legacy DatagramSocket API 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][1], which already reimplemented the legacy Socket API. JEP 374: Disable and Deprecate Biased Locking Disable biased locking by default, and deprecate all related command-line options. JEP 375: Pattern Matching for instanceof (Second Preview) Enhance the Java programming language with _pattern matching_ for the `instanceof` operator. [Pattern matching](https://cr.openjdk.java.net/~briangoetz/amber/pattern-match.html) allows common logic in a program, namely the conditional extraction of components from objects, to be expressed more concisely and safely. This is a [preview language feature](https://openjdk.java.net/jeps/12) in JDK 15. JEP 377: ZGC: A Scalable Low-Latency Garbage Collector (Production) Change the Z Garbage Collector from an experimental feature into a product feature. JEP 378: Text Blocks 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 the format when desired. JEP 379: Shenandoah: A Low-Pause-Time Garbage Collector (Production) Change the Shenandoah garbage collector from an experimental feature into a product feature. JEP 381: Remove the Solaris and SPARC Ports Remove the source code and build support for the Solaris/SPARC, Solaris/x64, and Linux/SPARC ports. These ports were [deprecated for removal in JDK 14][jep362] with the express intent to remove them in a future release. JEP 383: Foreign-Memory Access API (Second Incubator) Introduce an API to allow Java programs to safely and efficiently access foreign memory outside of the Java heap. JEP 384: Records (Second Preview) Enhance the Java programming language with [records][records], which are classes that act as transparent carriers for immutable data. Records can be thought of as _nominal tuples_. JEP 385: Deprecate RMI Activation for Removal Deprecate the [RMI Activation](https://docs.oracle.com/en/java/javase/14/docs/specs/rmi/activation.html) mechanism for future removal. RMI Activation is an obsolete part of RMI that has been optional since Java 8. No other part of RMI will be deprecated. RELEASE NOTES, BY COMPONENT: client-libs: JDK-8252738: Windows GDI API's memory restrictions It has been found that some Windows GDI functions don't support all types of Java heap memory allocation schemes. This problem can cause repaint issues and printing bugs. Affected JVM flags: -XX:+UseLargePages, -XX:+UseNUMAInterleaving, and -XX:+UseZGC. The problem can be worked around by turning off the listed flags. See: https://support.microsoft.com/en-us/help/4567569/gdi-apis-may-fail-when-large-pages-or-vad-spanning-is-used JDK-8252939: Windows GDI API's memory restrictions It has been found that some Windows GDI functions don't support all types of Java heap memory allocation schemes. This problem can cause repaint issues and printing bugs. Affected JVM flags: -XX:+UseLargePages and -XX:+UseNUMAInterleaving. The problem can be worked around by turning off the listed flags. See: https://support.microsoft.com/en-us/help/4567569/gdi-apis-may-fail-when-large-pages-or-vad-spanning-is-used JDK-8252735: Workaround for Windows GDI API's memory restrictions It has been found that some Windows GDI functions don't support all types of Java heap memory allocation schemes. This problem can cause repaint issues and printing bugs. It has been worked around by allocating temporary buffers off heap. See: https://support.microsoft.com/en-us/help/4567569/gdi-apis-may-fail-when-large-pages-or-vad-spanning-is-used core-libs/java.nio.charsets: JDK-8240196: Modified the MS950 charset Encoder's Conversion Table In this release, some of the one-way byte-to-char mappings have been aligned with the preferred mappings provided by the [Unicode Consortium](https://unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit950.txt). core-libs/java.util:i18n: JDK-8238914: Localized Time Zone Name Inconsistency Between English and Other Locales English time zone names provided by the CLDR locale provider are now correctly synthesized following the CLDR spec, rather than substituted from the COMPAT provider. For example, SHORT style names are no longer synthesized abbreviations of LONG style names, but instead produce GMT offset formats. core-libs/jdk.nashorn: JDK-8236933: JEP 372: Remove the Nashorn JavaScript Engine Summary ------- Remove the Nashorn JavaScript script engine and APIs, and the `jjs` tool. The engine, the APIs, and the tool were [deprecated for removal in Java 11](http://openjdk.java.net/jeps/335) with the express intent to remove them in a future release. Motivation ---------- The Nashorn JavaScript engine was first incorporated into JDK 8 via [JEP 174](http://openjdk.java.net/jeps/174) as a replacement for the Rhino scripting engine. When it was released, it was a complete implementation of the ECMAScript-262 5.1 standard. With the rapid pace at which ECMAScript language constructs, along with APIs, are adapted and modified, we have found Nashorn challenging to maintain. Non-Goals --------- This removal does not affect, in any way, the `javax.script` API. Description ----------- Two [JDK modules](http://openjdk.java.net/jeps/200#Design-principles) will be permanently removed: - `jdk.scripting.nashorn` -- contains the `jdk.nashorn.api.scripting` and `jdk.nashorn.api.tree` packages. - `jdk.scripting.nashorn.shell` -- contains the `jjs` tool. Risks and Assumptions --------------------- We assume that developers who rely on Nashorn have had enough notice of its proposed removal to make alternative arrangements. The deprecation-for-removal of Nashorn in JDK 11 was confirmed in June 2018, causing the proposed removal to be flagged at every use of the `jdk.nashorn.*` API and the `jjs` tool in JDK 11, 12, and 13. During this period, no set of credible developers expressed a clear desire to maintain Nashorn in JDK 14 and beyond. core-svc/tools: JDK-8250554: New Option Added to jcmd for Writing a gzipped Heap Dump A new integer option `gz` has been added to the `GC.heap_dump` diagnostic command. If it is specified, it will enable the gzip compression of the written heap dump. The supplied value is the compression level. It can range from 1 (fastest) to 9 (slowest, but best compression). The recommended level is 1. hotspot/runtime: JDK-8247371: Enable ShowCodeDetailsInExceptionMessages by default The default of the flag ShowCodeDetailsInExceptionMessages was changed to 'true'. The helpful NullPointerException messages of [JEP 358](http://openjdk.java.net/jeps/358) are now printed by default. The messages contain snippets of the code where the NullPointerException was raised. App deployers should double check the output of their web applications and similar usage scenarios. The NullPointerException message could be included in application error messages or be displayed by other means in the app. This could give remote attackers valuable hints about a potential vulnerable state of the software components being used. An example message is 'Cannot read field "c" because "a.b" is null'. The attacker knows that field b of a contains null which might be unintended and offer an opportunity for an attack. For more details of what the message can contain see the above mentioned [JEP 358](http://openjdk.java.net/jeps/358). security-libs/java.security: JDK-8244167: Removal of Comodo Root CA Certificate The following expired Comodo root CA certificate has been removed from the `cacerts` keystore: ``` + alias name "addtrustclass1ca [jdk]" Distinguished Name: CN=AddTrust Class 1 CA Root, OU=AddTrust TTP Network, O=AddTrust AB, C=SE ``` JDK-8244166: Removal of DocuSign Root CA Certificate The following expired DocuSign root CA certificate has been removed from the `cacerts` keystore: ``` + alias name "keynectisrootca [jdk]" Distinguished Name: CN=KEYNECTIS ROOT CA, OU=ROOT, O=KEYNECTIS, C=FR ``` JDK-8244286: Tools Warn If Weak Algorithms Are Used The `keytool` and `jarsigner` tools have been updated to warn users when weak cryptographic algorithms are used in keys, certificates, and signed JARs before they are disabled. The weak algorithms are set in the `jdk.security.legacyAlgorithms` security property in the `java.security` configuration file. In this release, the tools issue warnings for the SHA-1 hash algorithm and 1024-bit RSA/DSA keys. security-libs/javax.crypto:pkcs11: JDK-8240191: SunPKCS11 Initialization With NSS When External FIPS Modules Are in Security Modules Database The SunPKCS11 security provider can now be initialized with NSS when FIPS-enabled external modules are configured in the Security Modules Database (NSSDB). Before this change, when such a library was configured for NSS in non-FIPS mode, the SunPKCS11 provider would throw a RuntimeException with the message "FIPS flag set for non-internal module". This change allows the JDK to work properly with recent NSS releases in GNU/Linux operating systems when the system-wide FIPS policy is turned on. security-libs/javax.net.ssl: JDK-8245077: Default SSLEngine Should Create in Server Role In JDK 11 and later, `javax.net.ssl.SSLEngine` by default used client mode when handshaking. As a result, the set of default enabled protocols may differ to what is expected. `SSLEngine` would usually be used in server mode. From this JDK release onwards, `SSLEngine` will default to server mode. The `javax.net.ssl.SSLEngine.setUseClientMode​(boolean mode)` method may be used to configure the mode. JDK-8242147: New System Properties to Configure the TLS Signature Schemes Two new system properties have been added to customize the TLS signature schemes in JDK. `jdk.tls.client.SignatureSchemes` has been added for the TLS client side, and `jdk.tls.server.SignatureSchemes` has been added for the server side. Each system property contains a comma-separated list of supported signature scheme names specifying the signature schemes that could be used for the TLS connections. The names are described in the "Signature Schemes" section of the *Java Security Standard Algorithm Names Specification*. JDK-8244460: Support for certificate_authorities Extension The "certificate_authorities" extension is an optional extension introduced in TLS 1.3. It is used to indicate the certificate authorities (CAs) that an endpoint supports and should be used by the receiving endpoint to guide certificate selection. With this JDK release, the "certificate_authorities" extension is supported for TLS 1.3 in both the client and the server sides. This extension is always present for client certificate selection, while it is optional for server certificate selection. Applications can enable this extension for server certificate selection by setting the `jdk.tls.client.enableCAExtension` system property to `true`. The default value of the property is `false`. Note that if the client trusts more CAs than the size limit of the extension (less than 2^16 bytes), the extension is not enabled. Also, some server implementations do not allow handshake messages to exceed 2^14 bytes. Consequently, there may be interoperability issues when `jdk.tls.client.enableCAExtension` is set to `true` and the client trusts more CAs than the server implementation limit. security-libs/javax.security: JDK-8242059: Support for canonicalize in krb5.conf The 'canonicalize' flag in the [krb5.conf file][1] is now supported by the JDK Kerberos implementation. When set to *true*, [RFC 6806][2] name canonicalization is requested by clients in TGT requests to KDC services (AS protocol). Otherwise, and by default, it is not requested. The new default behavior is different from JDK 14 and previous releases where name canonicalization was always requested by clients in TGT requests to KDC services (provided that support for [RFC 6806][2] was not explicitly disabled with the *sun.security.krb5.disableReferrals* system or security properties). [1]: https://web.mit.edu/kerberos/krb5-devel/doc/admin/conf_files/krb5_conf.html [2]: https://tools.ietf.org/html/rfc6806 security-libs/org.ietf.jgss:krb5: JDK-8254596: Support cross-realm MSSFU The support for the Kerberos MSSFU extensions [1] is now extended to cross-realm environments. By leveraging on the Kerberos cross-realm referrals enhancement, introduced in the context of JDK-8215032, the 'S4U2Self' and 'S4U2Proxy' extensions may be used to impersonate user and service principals located on different realms. [1] - https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-sfu/3bff5864-8135-400e-bdd9-33b552051d94 tools/javadoc(tool): JDK-8238760: Standard Doclet Index Files Compression The Standard Doclet no longer generates pre-compressed index files. Decisions about compression are now left to the underlying means of delivery (for example, application layer protocols such as HTTP). ALL FIXED ISSUES, BY COMPONENT AND PRIORITY: client-libs: (P2) JDK-8240654: Windows GDI functions can fail and cause severe UI application repaint issues (P3) JDK-8235638: NPE in LWWindowPeer.getOnscreenGraphics() client-libs/2d: (P2) JDK-8244818: [macos] Java2D Queue Flusher crash while moving application window to external monitor (P3) JDK-8244621: [macos10.15] Garbled FX printing plus CoreText warnings on Catalina when building with Xcode 11 (P3) JDK-8220150: [macos] macos10.14 Mojave returns anti-aliased glyphs instead of aliased B&W glyphs (P3) JDK-8238942: Rendering artifacts with LCD text and fractional metrics (P3) JDK-8224109: Text spaced incorrectly by drawString under rotation with fractional metrics (P4) JDK-8236996: Incorrect Roboto font rendering on Windows with subpixel antialiasing (P4) JDK-8235904: Infinite loop when rendering huge lines (P4) JDK-8223935: PIT: java/awt/font/WindowsIndicFonts.java fails on windows10 (P4) JDK-8239091: Reversed arguments in call to strstr in freetype "debug" code. (P4) JDK-8196181: sun/java2d/GdiRendering/InsetClipping.java fails client-libs/java.awt: (P2) JDK-8242174: [macos] The NestedModelessDialogTest test make the macOS unstable (P2) JDK-8242498: Invalid "sun.awt.TimedWindowEvent" object leads to JVM crash (P3) JDK-7185258: [macosx] Deadlock in SunToolKit.realSync() (P3) JDK-8230926: [macosx] Two apostrophes are entered instead of one with "U.S. International - PC" layout (P3) JDK-8221741: ClassCastException can happen when fontconfig.properties is used (P3) JDK-8238575: DragSourceEvent.getLocation() returns wrong value on HiDPI screens (Windows) (P3) JDK-8176359: Frame#setMaximizedbounds not working properly in multi screen environments (P3) JDK-8221823: Requested JDialog width is ignored (P3) JDK-8231564: setMaximizedBounds is broken with large display scale and multiple monitors (P3) JDK-8225126: Test SetBoundsPaintTest.html failed on Windows when desktop is scaled (P3) JDK-8243925: Toolkit#getScreenInsets() returns wrong value on HiDPI screens (Windows) (P4) JDK-8226806: [macOS 10.14] Methods of Java Robot should be called from appropriate thread (P4) JDK-8241087: Build failure with VS 2019 (16.5.0) due to C2039 and C2873 (P4) JDK-8240518: Incorrect JNU_ReleaseStringPlatformChars in Windows Print (P4) JDK-8196019: java/awt/Window/Grab/GrabTest.java fails on Windows (P4) JDK-8235739: Rare NPE at WComponentPeer.getGraphics() (P4) JDK-8223108: Test java/awt/EventQueue/NonComponentSourcePost.java is unstable (P4) JDK-8233573: Toolkit.getScreenInsets(GraphicsConfiguration) may throw ClassCastException (P4) JDK-8239819: XToolkit: Misread of screen information memory client-libs/javax.accessibility: (P2) JDK-8249278: Revert JDK-8226253 which breaks the spec of AccessibleState.SHOWING for JList (P3) JDK-8226253: JAWS reports wrong number of radio buttons when buttons are hidden client-libs/javax.imageio: (P3) JDK-8238842: AIOOBE in GIFImageReader.initializeStringTable (P3) JDK-6532025: GIF reader throws misleading exception with truncated images client-libs/javax.sound: (P4) JDK-8238738: AudioSystem.getMixerInfo() takes about 30 sec to report a gone audio device client-libs/javax.swing: (P2) JDK-8249251: [dark_mode ubuntu 20.04] The selected menu is not highlighted in GTKLookAndFeel (P3) JDK-8224475: JTextPane does not show images in HTML rendering (P3) JDK-8040630: Popup menus and tooltips flicker with previous popup contents when first shown (P4) JDK-8152332: [macosx] JFileChooser cannot be serialized on Mac OS X (P4) JDK-8240202: A few client tests leave mouse buttons pressed (P4) JDK-8240633: Memory leaks in the implementations of FileChooserUI (P4) JDK-8240690: Race condition between EDT and BasicDirectoryModel.FilesLoader.run0() core-libs: (P3) JDK-8248011: Improve javadoc of Foreign Memory Access API (P3) JDK-8247696: Incorrect tail computation for large segments in AbstractMemorySegmentImpl::mismatch (P4) JDK-8243539: Copyright info (Year) should be updated for fix of 8241638 (P4) JDK-8238380: java.base/unix/native/libjava/childproc.c "multiple definition" link errors with GCC10 (P4) JDK-8241144: Javadoc is not generated for new module jdk.nio.mapmode (P4) JDK-8249205: Remove unnecessary trademark symbols (P4) JDK-8240725: Some functions might not work with CJK character core-libs/java.io: (P3) JDK-8247896: Invalid (@throw) tags in 2 java.io classes (P4) JDK-8249700: java/io/File/GetXSpace.java should be added to exclude list, and not @ignore-d core-libs/java.io:serialization: (P2) JDK-8248233: Avoid superfluous Class::isRecord invocations during deserialization (P2) JDK-8247532: Records deserialization is slow (P3) JDK-8247789: Remove use of reflection from test/jdk/java/io/Serializable/records/StreamRefTest.java core-libs/java.lang: (P2) JDK-8240704: ProcessBuilder/checkHandles/CheckHandles.java failed "AssertionError: Handle use increased by more than 10 percent." (P3) JDK-8246098: API for Class::permittedSubclasses should clarify if returned elements are ordered or not (P3) JDK-8247899: HTML errors and warnings in threadPrimitiveDeprecation.html (P3) JDK-8230744: Several classes throw OutOfMemoryError without message (P3) JDK-8247444: Trust final fields in records (P3) JDK-8217475: Unexpected StackOverflowError in "process reaper" thread (P3) JDK-8239893: Windows handle Leak when starting processes using ProcessBuilder (P4) JDK-8239365: ProcessBuilder test modifications for AIX execution (P4) JDK-8232846: ProcessHandle.Info command with non-English shows question marks core-libs/java.lang.module: (P4) JDK-8241770: Module xxxAnnotation() methods throw NCDFE if module-info.class found as resource in unnamed module core-libs/java.lang:class_loading: (P4) JDK-8247785: Small clarification of the javadoc about builtin class loaders core-libs/java.net: (P3) JDK-8248703: Clarify the behavior of java.net.NetworkInterface::equals (P3) JDK-8244933: DatagramSocket.connect does not specify that it may cause datagrams in the socket receive buffer to be discarded (P3) JDK-8241138: http.nonProxyHosts=* causes StringIndexOutOfBoundsException in DefaultProxySelector (P3) JDK-8183369: RFC unconformity of HttpURLConnection with proxy (P3) JDK-8244853: The static build of libextnet is missing the JNI_OnLoad_extnet function (P4) JDK-8238386: (sctp) jdk.sctp/unix/native/libsctp/SctpNet.c "multiple definition" link errors with GCC10 (P4) JDK-8243488: Add tests for set/get SendBufferSize and getReceiveBufferSize in DatagramSocket (P4) JDK-8238579: HttpsURLConnection drops the timeout and hangs forever in read (P4) JDK-8238270: java.net HTTP/2 client does not decrease stream count when receives 204 response (P4) JDK-8236859: WebSocket over authenticating proxy fails with NPE core-libs/java.nio: (P2) JDK-8250770: Net.java translateToSocketException does not handle IOException (P3) JDK-8247880: bad HTML(href==...) in table (P3) JDK-8247959: doclint errors in NIO code (P3) JDK-8208281: java/nio/channels/AsynchronousSocketChannel/Basic.java timed out (P3) JDK-8236804: java/nio/channels/FileChannel/MapWithSecurityManager.java should be run in othervm mode (P4) JDK-8249543: (bf) Force DirectBufferAllocTest to run with -ExplicitGCInvokesConcurrent (P4) JDK-8241568: (fs) UserPrincipalLookupService.lookupXXX failure with IOE "Operation not permitted" (P4) JDK-7143743: (zipfs) Potential memory leak with zip provider (P4) JDK-8229888: (zipfs) Updating an existing zip file does not preserve original permissions core-libs/java.nio.charsets: (P3) JDK-8232161: Align some one-way conversion in MS950 charset with Windows (P3) JDK-8235834: IBM-943 charset encoder needs updating (P3) JDK-8242541: Small charset issues (ISO8859-16, x-eucJP-Open, x-IBM834 and x-IBM949C) (P4) JDK-8241311: Move some charset mapping tests from closed to open (P4) JDK-8239965: XMLEncoder/Test4625418.java fails due to "Error: Cp943 - can't read properly" core-libs/java.time: (P3) JDK-8243541: (tz) Upgrade time-zone data to tzdata2020a core-libs/java.util: (P2) JDK-8249258: java/util/StringJoiner/StringJoinerTest.java failed due to OOM core-libs/java.util.jar: (P3) JDK-8234466: Class loading deadlock involving X509Factory#commitEvent() (P3) JDK-8239351: Give more meaningful InternalError messages in Deflater.c (P4) JDK-8211974: move test/jdk/lib/testlibrary/java/util/jar/*.java to top-level library or a local library (P4) JDK-8237508: Simplify JarFile.isInitializing (P4) JDK-8249097: test/lib/jdk/test/lib/util/JarBuilder.java has a bad copyright (P4) JDK-8246129: ZIP entries created for DOS epoch include local timezone metadata core-libs/java.util:collections: (P4) JDK-8243655: Map.replace javadoc code snippet typo core-libs/java.util:i18n: (P3) JDK-8242283: Can't start JVM when java home path includes non-ASCII character (P3) JDK-8236548: Localized time zone name inconsistency between English and other locales (P4) JDK-8234347: "Turkey" meta time zone does not generate composed localized names (P4) JDK-8246721: java/util/Locale/LocaleProvidersRun.java failed on Windows platforms. core-libs/javax.naming: (P3) JDK-8223260: NamingManager should cache InitialContextFactory (P4) JDK-8241130: com.sun.jndi.ldap.EventSupport.removeDeadNotifier: java.lang.NullPointerException (P4) JDK-8062947: Fix exception message to correctly represent LDAP connection failure core-libs/javax.sql: (P2) JDK-8235961: Default javax.sql.rowset.spi.SyncResolver impl returned by SyncProviderException throws unspecified NPE, UOE core-libs/jdk.nashorn: (P2) JDK-8247956: remove scripts under bin/nashorn and doc/nashorn/source core-svc/debugger: (P2) JDK-8244703: "platform encoding not initialized" exceptions with debugger, JNI (P3) JDK-8247784: Bad link causes invalid documentation (P3) JDK-8247958: minor HTML errors in com.sun.jdi (P4) JDK-8239856: [ntintel] asserts about copying unaligned array element (P4) JDK-8227269: Slow class loading when running with JDWP (P4) JDK-8239055: Wrong implementation of VMState.hasListener (P4) JDK-8241750: x86_32 build failure after JDK-8227269 core-svc/java.lang.instrument: (P4) JDK-8234968: check calloc rv in libinstrument InvocationAdapter core-svc/java.lang.management: (P4) JDK-8248061: bad reference in @throws in HotSpotDiagnosticMXBean (P4) JDK-8242430: Correct links in javadoc of OperatingSystemMXBean (P4) JDK-8242480: Negative value may be returned by getFreeSwapSpaceSize() in the docker core-svc/javax.management: (P3) JDK-8242239: [Graal] javax/management/generified/GenericTest.java fails: FAILED: queryMBeans sets same (P3) JDK-8247894: Invalid @see in java.management core-svc/tools: (P3) JDK-8238710: LingeredApp doesn't log stdout/stderr if exits with non-zero code (P4) JDK-8237354: Add option to jcmd to write a gzipped heap dump (P4) JDK-8240711: TestJstatdPort.java failed due to "ExportException: Port already in use:" globalization/translation: (P2) JDK-8238377: JDK 14 L10n resource file update - msg drop 20 (P3) JDK-8249086: JDK 15 L10n resource file update - msg drop 10 hotspot/compiler: (P1) JDK-8248597: [Graal] api/java_security/SignatureSpi/DelegationTests.html fails with Method "javasoft.sqe.tests.api.java.security.SignatureSpi.JCKSignatureSpi.clear" doesn't exist. (P2) JDK-8248822: 8 vm/classfmt/atr_ann/atr_rtm_annot007/atr_rtm_annot00709 tests fail w/ AOT (P2) JDK-8247832: [Graal] Many Javafuzzer tests failures with Graal, due to unexpected results, after last update JDK-8243380 (P2) JDK-8248598: [Graal] Several testcases from applications/jcstress/acqrel.java fails with forbidden state (P2) JDK-8245047: [PPC64] C2: ReverseBytes + Load always match to unordered Load (acquire semantics missing) (P2) JDK-8231118: ARM32: Math tests failures (P2) JDK-8250609: C2 crash in IfNode::fold_compares (P2) JDK-8237859: C2: Crash when loads float above range check (P2) JDK-8242895: failed: sanity at src/hotspot/share/opto/escape.cpp:2361 (P2) JDK-8240576: JVM crashes after transformation in C2 IdealLoopTree::merge_many_backedges (P2) JDK-8244407: JVM crashes after transformation in C2 IdealLoopTree::split_fall_in (P2) JDK-8249880: JVMCI calling register_nmethod without CodeCache lock (P2) JDK-8240227: Loop predicates should be copied to unswitched loops (P2) JDK-8241900: Loop unswitching may cause dependence on null check to be lost (P2) JDK-8241556: Memory leak if -XX:CompileCommand is set (P2) JDK-8246027: Minimal fastdebug build broken after JDK-8245801 (P2) JDK-8247502: PhaseStringOpts crashes while optimising effectively dead code (P2) JDK-8229495: SIGILL in C2 generated OSR compilation (P2) JDK-8243670: Unexpected test result caused by C2 MergeMemNode::Ideal (P3) JDK-8245714: "Bad graph detected in build_loop_late" when loads are pinned on loop limit check uncommon branch (P3) JDK-8247200: [aarch64] assert((unsigned)fpargs < 32) (P3) JDK-8247350: [aarch64] assert(false) failed: wrong size of mach node (P3) JDK-8246051: [aarch64] SIGBUS by unaligned Unsafe compare_and_swap (P3) JDK-8241802: [Graal] compiler/loopopts/TestLogSum.java timed out (P3) JDK-8247246: [JVMCI] `ResolvedJavaType.getDeclaredMethod()` can throw NoClassDefFoundError. (P3) JDK-8240831: [JVMCI] Export missing vmStructs entries used by JVMCI compilers (P3) JDK-8247992: [JVMCI] HotSpotNmethod.executeVarargs can try execute a zombie nmethod (P3) JDK-8240976: [JVMCI] MethodProfileWidth flag is broken (P3) JDK-8240795: [REDO] 8238384 CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found" (P3) JDK-8244164: AArch64: jaotc generates incorrect code for compressed OOPs with non-zero heap base (P3) JDK-8248845: AArch64: stack corruption after spilling vector register (P3) JDK-8230402: Allocation of compile task fails with assert: "Leaking compilation tasks?" (P3) JDK-8237086: assert(is_MachReturn()) running CTW with fix for JDK-8231291 (P3) JDK-8240905: assert(mem == (Node*)1 || mem == mem2) failed: multiple Memories being matched at once? (P3) JDK-8247763: assert(outer->outcnt() == 2) failed: 'only phis' failure in LoopNode::verify_strip_mined() (P3) JDK-8239083: C1 assert(known_holder == NULL || (known_holder->is_instance_klass() && (!known_holder->is_interface() || ((ciInstanceKlass*)known_holder)->has_nonstatic_concrete_methods())), "should be non-static concrete method"); (P3) JDK-8245051: c1 is broken if it is compiled by gcc without -fno-lifetime-dse (P3) JDK-8236179: C1 register allocation failure with T_ADDRESS (P3) JDK-8237950: C2 compilation fails with "Live Node limit exceeded limit" during ConvI2L::Ideal optimization (P3) JDK-8234605: C2 failed "assert(C->live_nodes() - live_at_begin <= 2 * _nodes_required) failed: Bad node estimate: actual = 208 >> request = 101" (P3) JDK-8239142: C2's UseUniqueSubclasses optimization is broken for array accesses (P3) JDK-8236181: C2: Remove useless step_over_gc_barrier() in int->bool conversion (P3) JDK-8244660: Code cache sweeper heuristics is broken (P3) JDK-8238356: CodeHeap::blob_count() overestimates the number of blobs (P3) JDK-8248410: Correct Fix for 8236647: java/lang/invoke/CallSiteTest.java failed with InvocationTargetException in Graal mode (P3) JDK-8244719: CTW: C2 compilation fails with "assert(!VerifyHashTableKeys || _hash_lock == 0) failed: remove node from hash table before modifying it" (P3) JDK-8244724: CTW: C2 compilation fails with "Live Node limit exceeded limit" (P3) JDK-8237945: CTW: C2 compilation fails with assert(just_allocated_object(alloc_ctl) == ptr) failed: most recent allo (P3) JDK-8244278: Excessive code cache flushes and sweeps (P3) JDK-8248570: Incorrect copyright header in TestUnsafeUnalignedSwap.java (P3) JDK-8236647: java/lang/invoke/CallSiteTest.java failed with InvocationTargetException in Graal mode (P3) JDK-8239852: java/util/concurrent tests fail with -XX:+VerifyGraphEdges: assert(!VerifyGraphEdges) failed: verification should have failed (P3) JDK-8239477: jdk/jfr/jcmd/TestJcmdStartStopDefault.java fails -XX:+VerifyOops with "verify_oop: rsi: broken oop" (P3) JDK-8237045: JVM uses excessive memory with -XX:+EnableJVMCI -XX:JVMCICounterSize=2147483648 (P3) JDK-8245128: Kitchensink fails with: assert(destination == (address)-1 || destination == entry) failed: b) MT-unsafe modification of inline cache (P3) JDK-8240676: Meet not symmetric failure when running lucene on jdk8 (P3) JDK-8242108: Performance regression after fix for JDK-8229496 (P3) JDK-8238765: PhaseCFG::schedule_pinned_nodes cannot handle precedence edges from unmatched CFG nodes correctly (P3) JDK-8237007: Shenandoah: assert(_base == Tuple) failure during C2 compilation (P3) JDK-8241675: Shenandoah: assert(n->outcnt() > 0) at shenandoahSupport.cpp:2858 with java/util/Collections/FindSubList.java (P3) JDK-8236759: ShouldNotReachHere in PhaseIdealLoop::verify_strip_mined_scheduling (P3) JDK-8237375: SimpleThresholdPolicy misses CounterDecay timestamp initialization (P3) JDK-8236709: struct SwitchRange in HS violates C++ One Definition Rule (P3) JDK-8238438: SuperWord::co_locate_pack picks memory state of first instead of last load (P3) JDK-8246453: TestClone crashes with "all collected exceptions must come from the same place" (P3) JDK-8235332: TestInstanceCloneAsLoadsStores.java fails with -XX:+StressGCM (P3) JDK-8247798: Update man pages for inline flags (P3) JDK-8246381: VM crashes with "Current BasicObjectLock* below than low_mark" (P4) JDK-8241232: -XX:+BootstrapJVMCI is not compatible with TieredStopAtLevel < CompLevel_full_optimization (P4) JDK-8227647: [Graal] Test8009761.java fails due to "RuntimeException: static java.lang.Object compiler.uncommontrap.Test8009761.m3(boolean,boolean) not compiled" (P4) JDK-8241458: [JVMCI] add mark value to expose CodeOffsets::Frame_Complete (P4) JDK-8240610: [JVMCI] Export VMVersion::_has_intel_jcc_erratum to JVMCI compiler (P4) JDK-8238758: [JVMCI] fix JVMCI jtreg events tests to work with GraalVM (P4) JDK-8238190: [JVMCI] Fix single implementor speculation for diamond shapes. (P4) JDK-8236285: [JVMCI] improve TranslatedException traces (P4) JDK-8242357: [JVMCI] Incorrect use of JVMCI_CHECK_ on return statement (P4) JDK-8231756: [JVMCI] need support for deoptimizing virtual byte arrays encoding non-byte primitives (P4) JDK-8239456: [win][x86] vtable stub generation: assert failure (code size estimate) (P4) JDK-8239931: [win][x86] vtable stub generation: assert failure (code size estimate) follow-up (P4) JDK-8241911: AArch64: Fix a potential issue about register allocation effect rule in reduce_add2I (P4) JDK-8230591: AArch64: Missing intrinsics for Math.ceil, floor, rint (P4) JDK-8237524: AArch64: String.compareTo() may return incorrect result (P4) JDK-8238756: C2: assert(((n) == __null || !VerifyIterativeGVN || !((n)->is_dead()))) failed: can not use dead node (P4) JDK-8238811: C2: assert(i >= req() || i == 0 || is_Region() || is_Phi()) with -XX:+VerifyGraphEdges (P4) JDK-8249019: clean up FileInstaller $test.src $cwd in vmTestbase_vm_compiler tests (P4) JDK-8249018: clean up FileInstaller $test.src $cwd in vmTestbase_vm_mlvm tests (P4) JDK-8248265: compiler/ciReplay tests fail with AOT compiled java.base (P4) JDK-8243619: compiler/codecache/CheckSegmentedCodeCache.java test misses -version (P4) JDK-8243617: compiler/onSpinWait/TestOnSpinWaitC1.java test uses wrong class (P4) JDK-8238366: CTW runner closes standard output on exit (P4) JDK-8238385: CTW: C2 (Shenandoah) compilation fails with "Range check dependent CastII node was not removed" (P4) JDK-8244721: CTW: C2 (Shenandoah) compilation fails with "unexpected infinite loop graph shape" (P4) JDK-8238153: CTW: C2 (Shenandoah) compilation fails with "Unknown node in get_load_addr: CreateEx" (P4) JDK-8237951: CTW: C2 compilation fails with "malformed control flow" (P4) JDK-8244819: hsdis does not compile with binutils 2.34+ (P4) JDK-8240220: IdealLoopTree::dump_head predicate printing is broken (P4) JDK-8022574: remove HaltNode code after uncommon trap calls (P4) JDK-8240070: Shenandoah: remove obsolete ShenandoahCommonGCStateLoads (P4) JDK-8245801: StressRecompilation triggers assert "redundunt OSR recompilation detected. memory leak in CodeCache!" (P4) JDK-8246153: TestEliminateArrayCopy fails with -XX:+StressReflectiveCode (P4) JDK-8241234: Unify monitor enter/exit runtime entries. (P4) JDK-8249622: use 8249621 to ignore 8 jvmci tests (P4) JDK-8240223: Use consistent predicate order in and with PhaseIdealLoop::find_predicate (P4) JDK-8249000: vm.gc.X should take selected JIT into account (P4) JDK-8241319: WB_GetCodeBlob doesn't have ResourceMark (P5) JDK-8191930: [Graal] emits unparseable XML into compile log hotspot/gc: (P1) JDK-8248048: ZGC: AArch64: SIGILL in load barrier register spilling (P1) JDK-8248388: ZGC: Load barrier incorrectly elided in jdk/java/text/Format/DateFormat/SDFTCKZoneNamesTest.java (P2) JDK-8237632: Shenandoah: accept NULL fwdptr to cooperate with JVMTI and JFR (P2) JDK-8237837: Shenandoah: assert(mem == __null) failed: only one safepoint (P2) JDK-8237821: Shenandoah: build broken after JDK-8237637 (Remove dubious type conversions from oop) (P2) JDK-8238851: Shenandoah: C1: Resolve into registers of correct type (P2) JDK-8244663: Shenandoah: C2 assertion fails in Matcher::collect_null_checks (P2) JDK-8248725: Shenandoah: Claim verifier thread roots for parallel processing (P2) JDK-8247670: Shenandoah: deadlock during class unloading OOME (P2) JDK-8241081: Shenandoah: Do not modify update-watermark concurrently (P2) JDK-8236815: Shenandoah: Fix weak roots in final Traversal GC phase (P2) JDK-8247560: Shenandoah: heap iteration holds root locks all the time (P2) JDK-8250588: Shenandoah: LRB needs to save/restore fp registers for runtime call (P2) JDK-8237780: Shenandoah: More reliable nmethod verification (P2) JDK-8247310: Shenandoah: pacer should not affect interrupt status (P2) JDK-8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata (P2) JDK-8247474: Shenandoah: Windows build warning after JDK-8247310 (P3) JDK-8231779: crash HeapWord*ParallelScavengeHeap::failed_mem_allocate (P3) JDK-8247824: CTW: C2 (Shenandoah) compilation fails with SEGV in SBC2Support::pin_and_expand (P3) JDK-8240589: OtherRegionsTable::_num_occupied not updated correctly (P3) JDK-8241765: Shenandoah: AARCH64 need to save/restore call clobbered registers before calling keepalive barrier (P3) JDK-8236681: Shenandoah: Disable concurrent class unloading flag if no class unloading for the GC cycle (P3) JDK-8244821: Shenandoah: disarmed_value is initialized at wrong place (P3) JDK-8234974: Shenandoah: Do concurrent roots even when no evacuation is necessary (P3) JDK-8242107: Shenandoah: Fix aarch64 build after JDK-8242082 (P3) JDK-8249560: Shenandoah: Fix racy GC request handling (P3) JDK-8244551: Shenandoah: Fix racy update of update_watermark (P3) JDK-8246162: Shenandoah: full GC does not mark code roots when class unloading is off (P3) JDK-8235842: Shenandoah: Implement native LRB for narrow oop (P3) JDK-8247358: Shenandoah: reconsider free budget slice for marking (P3) JDK-8236732: Shenandoah: Stricter placement for oom-evac scopes (P3) JDK-8241603: ZGC: java/lang/management/MemoryMXBean/MemoryTestZGC.sh crashes on macOS (P4) JDK-8242029: AArch64: skip G1 array copy pre-barrier if marking not active (P4) JDK-8249037: clean up FileInstaller $test.src $cwd in vmTestbase_vm_g1classunloading tests (P4) JDK-8249038: clean up FileInstaller $test.src $cwd in vmTestbase_vm_gc tests (P4) JDK-8243326: Cleanup use of volatile in taskqueue code (P4) JDK-8225216: gc/logging/TestMetaSpaceLog.java doesn't work for Shenandoah (P4) JDK-8249681: gc/stress/TestJNIBlockFullGC/TestJNIBlockFullGC.java fails w/ UnsatisfiedLinkError (P4) JDK-8237217: Incorrect G1StringDedupEntry type used in StringDedupTable destructor (P4) JDK-8249787: Make TestGCLocker more resilient with concurrent GCs (P4) JDK-8246272: Make use of GCLogPrecious for G1, Parallel and Serial (P4) JDK-8220503: Move definition of ShenandoahTerminatorTerminator::should_exit_termination() to .cpp file (P4) JDK-8247201: Print potential pointer value of readable stack memory in hs_err file (P4) JDK-8226797: serviceability/tmtools/jstat/GcCapacityTest.java fails with Exception: java.lang.RuntimeException: OGCMN > OGCMX (min generation capacity > max generation capacity) (P4) JDK-8242273: Shenandoah: accept either SATB or IU barriers, but not both (P4) JDK-8239904: Shenandoah: accumulated penalties should not be over 100% of capacity (P4) JDK-8242041: Shenandoah: adaptive heuristics should account evac reserve in free target (P4) JDK-8241845: Shenandoah: align ShenandoahHeapRegions to cache lines (P4) JDK-8245757: Shenandoah: AlwaysPreTouch should not disable heap resizing or uncommits (P4) JDK-8238574: Shenandoah: Assertion failure due to missing null check (P4) JDK-8241435: Shenandoah: avoid disabling pacing with "aggressive" (P4) JDK-8243478: Shenandoah: avoid implicit worker_id = 0 (P4) JDK-8240917: Shenandoah: Avoid scanning thread code roots twice in all root scanner (P4) JDK-8240872: Shenandoah: Avoid updating new regions from start of evacuation (P4) JDK-8244739: Shenandoah: break superclass dependency on ShenandoahNormalMode (P4) JDK-8244200: Shenandoah: build breakages after JDK-8241743 (P4) JDK-8244180: Shenandoah: carry Phase to ShWorkerTimingsTracker explicitly (P4) JDK-8245880: Shenandoah: check class unloading flag early in concurrent code root scan (P4) JDK-8248799: Shenandoah: Claim threads token in constructor of ShenandoahRootVerifier (P4) JDK-8240948: Shenandoah: cleanup not-forwarded-objects paths after JDK-8240868 (P4) JDK-8243578: Shenandoah: Cleanup ShenandoahStringDedup::parallel_oops_do() (P4) JDK-8237570: Shenandoah: cleanup uses of allocation/free threshold in static heuristics (P4) JDK-8242641: Shenandoah: clear live data and update TAMS optimistically (P4) JDK-8242101: Shenandoah: coalesce and parallelise heap region walks during the pauses (P4) JDK-8245812: Shenandoah: compute root phase parallelism (P4) JDK-8239081: Shenandoah: Consolidate C1 LRB and native barriers (P4) JDK-8243395: Shenandoah: demote guarantee in ShenandoahPhaseTimings::record_workers_end (P4) JDK-8241139: Shenandoah: distribute mark-compact work exactly to minimize fragmentation (P4) JDK-8239868: Shenandoah: ditch C2 node limit adjustments (P4) JDK-8240534: Shenandoah: ditch debug safepoint timeout adjustment (P4) JDK-8241841: Shenandoah: ditch one of allocation type counters in ShenandoahHeapRegion (P4) JDK-8243301: Shenandoah: ditch ShenandoahAllowMixedAllocs (P4) JDK-8245754: Shenandoah: ditch ShenandoahAlwaysPreTouch (P4) JDK-8243463: Shenandoah: ditch total_pause counters (P4) JDK-8243465: Shenandoah: ditch unused pause_other, conc_other counters (P4) JDK-8241093: Shenandoah: editorial changes in flag descriptions (P4) JDK-8242217: Shenandoah: Enable GC mode to be diagnostic/experimental and have a name (P4) JDK-8241984: Shenandoah: enhance GCTimer and JFR support (P4) JDK-8244420: Shenandoah: Ensure _disarmed_value offset < 128 (P4) JDK-8243238: Shenandoah: explicit GC request should wait for a complete GC cycle (P4) JDK-8241700: Shenandoah: Fold ShenandoahKeepAliveBarrier flag into ShenandoahSATBBarrier (P4) JDK-8241351: Shenandoah: fragmentation metrics overhaul (P4) JDK-8244730: Shenandoah: gc/shenandoah/options/TestHeuristicsUnlock.java should only verify the heuristics (P4) JDK-8244326: Shenandoah: global statistics should not accept bogus samples (P4) JDK-8237223: Shenandoah: important flags should not be ergonomic for concurrent class unloading (P4) JDK-8242212: Shenandoah: initialize ShenandoahHeuristics::_region_data eagerly (P4) JDK-8242301: Shenandoah: Inline LRB runtime call (P4) JDK-8241748: Shenandoah: inline MarkingContext TAMS methods (P4) JDK-8242229: Shenandoah: inline ShenandoahHeapRegion liveness-related methods (P4) JDK-8241842: Shenandoah: inline ShenandoahHeapRegion::region_number (P4) JDK-8245726: Shenandoah: lift/cleanup ShenandoahHeuristics names and properties (P4) JDK-8246097: Shenandoah: limit parallelism in CLDG root handling (P4) JDK-8243487: Shenandoah: make _num_phases illegal phase type (P4) JDK-8241668: Shenandoah: make ShenandoahHeapRegion not derive from ContiguousSpace (P4) JDK-8242353: Shenandoah: micro-optimize region liveness handling (P4) JDK-8239354: Shenandoah: minor enhancements to traversal GC (P4) JDK-8237543: Shenandoah: More asserts around code roots (P4) JDK-8236851: Shenandoah: More details in Traversal GC event messages (P4) JDK-8244732: Shenandoah: move heuristics code to gc/shenandoah/heuristics (P4) JDK-8244737: Shenandoah: move mode code to gc/shenandoah/mode (P4) JDK-8244328: Shenandoah: move ShenandoahThreadLocalData::_disarmed_value initialization (P4) JDK-8246591: Shenandoah: move string dedup roots scanning to concurrent phase (P4) JDK-8242054: Shenandoah: New incremental-update mode (P4) JDK-8243291: Shenandoah: no need to retire TLABs at Init Update Refs (P4) JDK-8241838: Shenandoah: no need to trash cset during final mark (P4) JDK-8241926: Shenandoah: only print heap changes for operations that directly affect it (P4) JDK-8240076: Shenandoah: pacer should cover reset and preclean phases (P4) JDK-8240511: Shenandoah: parallel safepoint workers count should be ParallelGCThreads (P4) JDK-8244226: Shenandoah: per-cycle statistics contain worker data from previous cycles (P4) JDK-8242089: Shenandoah: per-worker stats should be summed up, not averaged (P4) JDK-8242040: Shenandoah: print allocation failure type (P4) JDK-8239786: Shenandoah: print per-cycle statistics (P4) JDK-8243495: Shenandoah: print root statistics for concurrent weak/strong root phases (P4) JDK-8243464: Shenandoah: print statistic counters in time order (P4) JDK-8237586: Shenandoah: provide option to disable periodic GC (P4) JDK-8243460: Shenandoah: purge init_update_refs_prepare counter (P4) JDK-8242082: Shenandoah: Purge Traversal mode (P4) JDK-8245814: Shenandoah: reconsider format specifiers for stats (P4) JDK-8241743: Shenandoah: refactor and inline ShenandoahHeap::heap() (P4) JDK-8241673: Shenandoah: refactor anti-false-sharing padding (P4) JDK-8240671: Shenandoah: refactor ShenandoahPhaseTimings (P4) JDK-8240749: Shenandoah: refactor ShenandoahUtils (P4) JDK-8245461: Shenandoah: refine mode name()-s (P4) JDK-8245463: Shenandoah: refine ShenandoahPhaseTimings constructor arguments (P4) JDK-8241534: Shenandoah: region status should include update watermark (P4) JDK-8242267: Shenandoah: regions space needs to be aligned by os::vm_allocation_granularity() (P4) JDK-8240868: Shenandoah: remove CM-with-UR piggybacking cycles (P4) JDK-8245825: Shenandoah: Remove diagnostic flag ShenandoahConcurrentScanCodeRoots (P4) JDK-8240750: Shenandoah: remove leftover files and mentions of ShenandoahAllocTracker (P4) JDK-8244729: Shenandoah: remove resolve paths from SBSA::generate_shenandoah_lrb (P4) JDK-8243307: Shenandoah: remove ShCollectionSet::live_data (P4) JDK-8240215: Shenandoah: remove ShenandoahAllocationTrace (P4) JDK-8240217: Shenandoah: remove ShenandoahEvacAssist (P4) JDK-8241740: Shenandoah: remove ShenandoahHeapRegion::_heap (P4) JDK-8241692: Shenandoah: remove ShenandoahHeapRegion::_reserved (P4) JDK-8242114: Shenandoah: remove ShenandoahHeapRegion::reset_alloc_metadata_to_shared (P4) JDK-8242375: Shenandoah: Remove ShenandoahHeuristic::record_gc_start/end methods (P4) JDK-8242213: Shenandoah: remove ShenandoahHeuristics::_bytes_in_cset (P4) JDK-8242211: Shenandoah: remove ShenandoahHeuristics::RegionData::_seqnum_last_alloc (P4) JDK-8240216: Shenandoah: remove ShenandoahTerminationTrace (P4) JDK-8240915: Shenandoah: Remove unused fields in init mark tasks (P4) JDK-8242228: Shenandoah: remove unused ShenandoahCollectionSet methods (P4) JDK-8246342: Shenandoah: remove unused ShenandoahIsMarkedNextClosure (P4) JDK-8243573: Shenandoah: rename GCParPhases and related code (P4) JDK-8241844: Shenandoah: rename ShenandoahHeapRegion::region_number (P4) JDK-8242075: Shenandoah: rename ShenandoahHeapRegionSize flag (P4) JDK-8244740: Shenandoah: rename ShenandoahNormalMode to ShenandoahSATBMode (P4) JDK-8240315: Shenandoah: Rename ShLBN::get_barrier_strength() (P4) JDK-8230853: Shenandoah: replace leftover assert(is_in(...)) with rich asserts (P4) JDK-8242625: Shenandoah: restore heap logging for Degenerated/Full cycles (P4) JDK-8242638: Shenandoah: restore heap logging for uncommit (P4) JDK-8242400: Shenandoah: Restore logging to pre-jdk8241984 format (P4) JDK-8241062: Shenandoah: rich asserts trigger "empty statement" inspection (P4) JDK-8243494: Shenandoah: set counters once per cycle (P4) JDK-8240873: Shenandoah: Short-cut arraycopy barriers (P4) JDK-8241142: Shenandoah: should not use parallel reference processing with single GC thread (P4) JDK-8242130: Shenandoah: Simplify arraycopy-barrier dispatching (P4) JDK-8241985: Shenandoah: simplify collectable garbage logging (P4) JDK-8241983: Shenandoah: simplify FreeSet logging (P4) JDK-8241520: Shenandoah: simplify region sequence numbers handling (P4) JDK-8242083: Shenandoah: split "Prepare Evacuation" tracking into cset/freeset counters (P4) JDK-8243008: Shenandoah: TestVolatilesShenandoah test failed on aarch64 (P4) JDK-8242227: Shenandoah: transit regions to cset state when adding to collection set (P4) JDK-8242042: Shenandoah: tune down ShenandoahGarbageThreshold (P4) JDK-8241583: Shenandoah: turn heap lock asserts into macros (P4) JDK-8240069: Shenandoah: turn more flags diagnostic (P4) JDK-8242316: Shenandoah: Turn NULL-check into assert in SATB slow-path entry (P4) JDK-8242365: Shenandoah: use uint16_t instead of jushort for liveness cache (P4) JDK-8246100: Shenandoah: walk roots in more efficient order (P4) JDK-8243848: Shenandoah: Windows build fails after JDK-8239786 (P4) JDK-8246434: Threads::print_on_error assumes that the heap has been set up (P4) JDK-8237182: Update copyright header for shenandoah and epsilon files (P4) JDK-8247214: ZGC: ZUncommit initialization should use precious logging hotspot/jfr: (P2) JDK-8249713: JFR: java.base events have incomplete stacktraces (P2) JDK-8247530: JfrCheckpointManager failed "assert(!SafepointSynchronize::is_at_safepoint()) failed: invariant" (P2) JDK-8247967: SparkExamples24H.java SIGSEGV in various places (P3) JDK-8238959: Add missing classpath exception to FileAcess and ConstantLookup (P3) JDK-8241718: assert ((klass)->trace_id()) & ((JfrTraceIdEpoch::method_and_class_in_use_this_epoch_bits()))) != 0 in ObjectSampleCheckpoint::add_to_leakp_set (P3) JDK-8219904: ClassCastException when calling FlightRecorderMXBean#getRecordings() (P3) JDK-8237488: jdk/jfr/event/compiler/TestCompilerCompile.java failed due to "RuntimeException: No thread in event" (P3) JDK-8245113: JFR Recorder Thread to run in thread state "_thread_in_native" (P3) JDK-8247247: JFR tests fail due to JDK-8235521 missing doPrivileged block (P3) JDK-8241803: JFR TestThreadStartEndEvents.java failed due to "RuntimeException: Wrong thread id" (P3) JDK-8237499: JFR: Include stack trace in the ThreadStart event (P3) JDK-8247269: JFR: Reduce allocation when using AnnotationElement (P3) JDK-8247320: JFR: Reduce logging overhead (P3) JDK-8239024: Kitchensink24HStress.java failed due to timeout (P3) JDK-8248485: Poor scalability in JfrCheckpointManager when using many threads after JDK-8242008 (P3) JDK-8239497: SEGV in EdgeUtils::field_name_symbol(Edge const&) (P3) JDK-8248475: Suppress unconditional warning "JFR will be disabled during CDS dumping" (P3) JDK-8248794: Transition JFR Periodic Task Thread to "_thread_in_native" before invoking performance counters (P4) JDK-8244777: ClassLoaderStats VM Op uses constant hash value (P4) JDK-8210977: jdk/jfr/event/oldobject/TestThreadLocalLeak.java fails to find ThreadLocalObject (P4) JDK-8240360: NativeLibraryEvent has wrong library name on Linux (P4) JDK-8243489: Thread CPU Load event may contain wrong data for CPU time under certain conditions hotspot/jvmti: (P2) JDK-8247248: JVM TI Monitor queries might create JNI locals in another thread when using handshakes. (P3) JDK-8222005: ClassRedefinition crashes with: guarantee(false) failed: OLD and/or OBSOLETE method(s) found (P3) JDK-8245126: Kitchensink fails with: assert(!method->is_old()) failed: Should not be installing old methods hotspot/runtime: (P2) JDK-8231612: 100% cpu on arm32 in Service Thread (P2) JDK-8247388: Minimal build broken after JDK-8240245 (undefined reference to `MetaspaceShared::_use_optimized_module_handling') (P2) JDK-8241296: Segfault in JNIHandleBlock::oops_do() (P2) JDK-8247377: Zero and Minimal VMs are broken after JDK-8198698 ('SystemDictionaryShared' has not been declared) (P3) JDK-8248219: aarch64: missing memory barrier in fast_storefield and fast_accessfield (P3) JDK-8239787: AArch64: String.indexOf may incorrectly handle empty strings. (P3) JDK-8248112: array index out of bound in FileMapInfo::check_paths (P3) JDK-8240197: Cannot start JVM when $JAVA_HOME includes CJK characters (P3) JDK-8240529: CheckUnhandledOops breaks NULL check in Modules::define_module (P3) JDK-8233014: Enable ShowCodeDetailsInExceptionMessages by default (P3) JDK-8240824: enhance print_full_memory_info on Linux by THP related information (P3) JDK-8238676: jni crashes on accessing it from process exit hook (P3) JDK-8246676: monitor list lock operations need more fencing (P3) JDK-8247280: more fencing needed in async deflation for non-TSO machines (P3) JDK-8248476: No helpful NullPointerException message after calling fillInStackTrace. (P3) JDK-8234691: Potential double-free in ParallelSPCleanupTask constructor (P3) JDK-8198698: Support Lambda proxy classes in dynamic CDS archive (P3) JDK-8247252: TestCombinedCompressedFlags.java failed src/hotspot/share/services/virtualMemoryTracker.cpp:388 Error: ShouldNotReachHere() (P3) JDK-8240603: Windows 32bit compile error after 8238676 (P4) JDK-8238284: [macos] Zero VM build fails due to an obvious typo (P4) JDK-8237512: AArch64: aarch64TestHook leaks a BufferBlob (P4) JDK-8241660: Add virtualization information output to hs_err file on macOS (P4) JDK-8244196: adjust output in os_linux (P4) JDK-8246382: assert in MetaspaceShared::map_archives (P4) JDK-8247522: assert(is_aligned(class_space_rs.base(), class_space_alignment)) failed: Sanity (P4) JDK-8240245: Avoid calling is_shared_class_visible() in SystemDictionary::load_shared_class() (P4) JDK-8249032: clean up FileInstaller $test.src $cwd in vmTestbase_nsk_sysdict tests (P4) JDK-8249029: clean up FileInstaller $test.src $cwd in vmTestbase_vm_defmeth tests (P4) JDK-8249033: clean up FileInstaller $test.src $cwd in vmTestbase_vm_metaspace tests (P4) JDK-8246926: Clean up newlines and whitespaces in hs_err files (P4) JDK-8241586: compiler/cpuflags/TestAESIntrinsicsOnUnsupportedConfig.java fails on aarch64 (P4) JDK-8241948: enhance list of environment variables printed in hs_err file (P4) JDK-8243389: enhance os::pd_print_cpu_info on linux (P4) JDK-8242626: enhance posix print_rlimit_info (P4) JDK-8235671: enhance print_rlimit_info in os_posix (P4) JDK-8247236: fieldDescriptor::print_on_for prints extra newline after NULL (P4) JDK-8239000: handle ContendedPaddingWidth in vm_version_ppc (P4) JDK-8244340: Handshake processing thread lacks yielding (P4) JDK-8240295: hs_err elapsed time in seconds is not accurate enough (P4) JDK-8246648: issue with OperatingSystemImpl getFreeSwapSpaceSize in docker after 8242480 (P4) JDK-8247220: Make OopHandle constructor explicit (P4) JDK-8239886: Minimal VM build fails after JDK-8237499 (P4) JDK-8243535: NMT may show wrong numbers for CDS and CCS (P4) JDK-8235908: omit ThreadPriorityPolicy warning when value is set from image (P4) JDK-8237819: s390x - remove unused pd_zero_to_words_large (P4) JDK-8244142: some hotspot/runtime tests don't check exit code of forked JVM (P4) JDK-8239915: Zero VM crashes when handling dynamic constant hotspot/svc: (P4) JDK-8249039: clean up FileInstaller $test.src $cwd in vmTestbase_nsk_aod tests (P4) JDK-8249040: clean up FileInstaller $test.src $cwd in vmTestbase_nsk_jdb tests (P4) JDK-8249035: clean up FileInstaller $test.src $cwd in vmTestbase_nsk_jdwp tests (P4) JDK-8249034: clean up FileInstaller $test.src $cwd in vmTestbase_nsk_jvmti tests (P4) JDK-8249028: clean up FileInstaller $test.src $cwd in vmTestbase_nsk_monitoring tests hotspot/svc-agent: (P3) JDK-8204994: SA might fail to attach to process with "Windbg Error: WaitForEvent failed" (P3) JDK-7107012: sun.jvm.hostspot.code.CompressedReadStream readDouble() conversion to long mishandled (P4) JDK-8235846: Improve WindbgDebuggerLocal implementation (P4) JDK-8239462: jdk.hotspot.agent misses some ReleaseStringUTFChars calls in case of early returns (P4) JDK-8239224: libproc_impl.c previous_thr may be used uninitialized warning (P4) JDK-8230731: SA tests fail with "Windbg Error: ReadVirtual failed" (P4) JDK-8214797: TestJmapCoreMetaspace.java timed out hotspot/test: (P2) JDK-8247716: JVM_RegisterWhiteBoxMethods checks wrong classloader (P4) JDK-8249036: clean up FileInstaller $test.src $cwd in vmTestbase_nsk_stress tests (P4) JDK-8250688: missed open parenthesis for GTEST_FRAMEWORK_SRC var in Main.gmk (P4) JDK-8247725: move two tests for whitebox from test/hotspot/jtreg/sanity to test/lib-test infrastructure: (P3) JDK-8238534: Deep sign macOS bundles before bundle archive is being created (P4) JDK-8246387: switch to jtreg 5.1 infrastructure/build: (P2) JDK-8246094: [macos] Sound Recording and playback is not working (P2) JDK-8249255: Build fails if source code in cygwin home dir (P2) JDK-8244951: Missing entitlements for hardened runtime (P2) JDK-8240777: Update all nroff manpages for JDK 15 release (P3) JDK-8243059: Build fails when --with-vendor-name contains a comma (P3) JDK-8247936: Fix typos in man pages (P3) JDK-8237192: Generate stripped/public pdbs on Windows for jdk images (P3) JDK-8238225: Issues reported after replacing symlink at Contents/MacOS/libjli.dylib with binary (P3) JDK-8236469: macOS devkit needs 64-bit SetFile for Catalina (P3) JDK-8237879: make 4.3 breaks build (P3) JDK-8241996: on linux set full relro in the linker flags (P3) JDK-8231572: Use -lobjc instead of -fobjc-link-runtime in libosxsecurity (P4) JDK-8236921: Add build target to produce a JDK image suitable for a Graal/SVM build (P4) JDK-8201349: build broken when configured with --with-zlib=bundled on gcc 7.3 (P4) JDK-8248135: Build microbenchmarks with --enable-preview (P4) JDK-8245832: JDK build make-static-libs should build all JDK libraries (P4) JDK-8245168: jlink should not be treated as a "small" tool (P4) JDK-8240972: macOS codesign fail on macOS 10.13.5 or older (P4) JDK-8212986: Make Visual Studio compiler check less strict (P4) JDK-8236488: Support for configure option --with-native-debug-symbols=internal is impossible on Windows (P4) JDK-8250216: The README need not mention retrieving source code other-libs/other: (P4) JDK-8247274: (test) HexPrinter cleanup (P4) JDK-8247521: (test) jdk/test/lib/hexdump/HexPrinterTest.java fails on windows (P4) JDK-8211977: move testlibrary tests into one place (P4) JDK-8183040: update jdk/test/lib/Platform.java to use NIO file API security-libs/java.security: (P2) JDK-8244087: 2020-04-24 public suffix list update v ff6fcea (P2) JDK-8248505: Unexpected NoSuchAlgorithmException when using secure random impl from BCFIPS provider (P3) JDK-8242556: Cannot load RSASSA-PSS public key with non-null params from byte array (P3) JDK-8246613: Choose the default SecureRandom algo based on registration ordering (P3) JDK-8242184: Default signature algorithm for an RSASSA-PSS key (P3) JDK-8246806: Incorrect copyright header in KeyAgreementTest.java, GroupName.java (P3) JDK-8245679: KeyStore cannot probe PKCS12 keystore if BouncyCastle is the top security provider (P3) JDK-8238452: Keytool generates wrong expiration date if validity is set to 2050/01/01 (P3) JDK-8225069: Remove Comodo root certificate that is expiring in May 2020 (P3) JDK-8225068: Remove DocuSign root certificate that is expiring in May 2020 (P3) JDK-8238448: RSASSA-PSS signature verification fail when using certain odd key sizes (P3) JDK-8237888: security/infra/java/security/cert/CertPathValidator/certification/LuxTrustCA.java fails when checking validity interval (P3) JDK-8172404: Tools should warn if weak algorithms are used before restricting them (P4) JDK-8225130: Add exception for expiring Comodo roots to VerifyCACerts test (P4) JDK-8237962: give better error output for invalid OCSP response intervals in CertPathValidator checks (P4) JDK-8245151: jarsigner should not raise duplicate warnings on verification (P4) JDK-8238388: libj2gss/NativeFunc.o "multiple definition" link errors with GCC10 security-libs/javax.crypto: (P2) JDK-8246077: Cloneable test in HmacCore seems questionable (P3) JDK-8238502: sunmscapi.dll causing EXCEPTION_ACCESS_VIOLATION (P4) JDK-8216012: Infinite loop in RSA KeyPairGenerator security-libs/javax.crypto:pkcs11: (P2) JDK-8238898: Missing hash characters for header on license file (P3) JDK-8239457: call ReleaseStringUTFChars before early returns in Java_sun_security_pkcs11_wrapper_PKCS11_connect (P3) JDK-8236512: PKCS11 Connection closed after Cipher.doFinal and NoPadding (P4) JDK-8238555: Allow initialization of SunPKCS11 with NSS when there are external FIPS modules in the NSSDB security-libs/javax.net.ssl: (P2) JDK-8237474: Default SSLEngine should create in server role (P2) JDK-8236039: JSSE Client does not accept status_request extension in CertificateRequest messages for TLS 1.3 (P2) JDK-8239798: SSLSocket closes socket both socket endpoints on a SocketTimeoutException (P3) JDK-8242294: JSSE Client does not throw SSLException when an alert occurs during handshaking (P3) JDK-8215711: Missing key_share extension for (EC)DHE key exchange should alert missing_extension (P3) JDK-8242141: New System Properties to configure the TLS signature schemes (P3) JDK-8243029: Rewrite javax/net/ssl/compatibility/Compatibility.java with a flexible interop test framework (P3) JDK-8236464: SO_LINGER option is ignored by SSLSocket in JDK 11 (P3) JDK-8240871: SSLEngine handshake status immediately after the handshake can be NOT_HANDSHAKING rather than FINISHED with TLSv1.3 (P3) JDK-8246031: SSLSocket.getSession() doesn't close connection for timeout/ interrupts (P3) JDK-8243549: sun/security/ssl/CipherSuite/NamedGroupsWithCipherSuite.java failed with Unsupported signature algorithm: DSA (P3) JDK-8206925: Support the certificate_authorities extension (P4) JDK-8242929: The values of jdk.tls.namedGroups should not be case-sensitive security-libs/javax.security: (P3) JDK-8242335: Additional Tests for RSASSA-PSS (P3) JDK-8239385: Support the 'canonicalize' setting (krb5.conf) in the Kerberos client security-libs/javax.smartcardio: (P3) JDK-8163251: Hard coded loop limit prevents reading of smart card data greater than 8k (P4) JDK-8244151: Update MUSCLE PC/SC-Lite headers to the latest release 1.8.26 security-libs/javax.xml.crypto: (P3) JDK-8247964: All log0() in com/sun/org/slf4j/internal/Logger.java should be private (P3) JDK-8247907: XMLDsig logging does not work security-libs/jdk.security: (P4) JDK-8241888: Mirror jdk.security.allowNonCaAnchor system property with a security one security-libs/org.ietf.jgss:krb5: (P3) JDK-8246193: Possible NPE in ENC-PA-REP search in AS-REQ (P4) JDK-8005819: Support cross-realm MSSFU specification/language: (P4) JDK-8247628: Records: Specify permitted accessibility of canonical constructor of a private record class tools: (P1) JDK-8251276: JDK-8248299 breaks JDK 15 validate-headers build tools/javac: (P2) JDK-8246704: --release => "unknown enum constant PreviewFeature$Feature.TEXT_BLOCKS" (P2) JDK-8246257: Annotated record's vararg type component started to be uncompilable with JDK15b24 (P2) JDK-8247932: JShell crashes when typing text block (P2) JDK-8238735: NPE compiling lambda expression within conditional expression (P3) JDK-8241907: Error when cross compiling with JDK 13, release flag and JFR package (P3) JDK-8235564: javac crashes while compiling incorrect method invocation with member reference (P3) JDK-8242529: javac defines type annotations incorrectly for record members (constructor and property accessor) (P3) JDK-8242214: NullPointerException in JDK 14 javac compiling a method reference (P3) JDK-8247849: permits clause of sealed interfaces should not allow parameterized types (P3) JDK-8245842: provide tests for binary compatibility assertions for sealed classes (P3) JDK-8247334: Trees.getScope crashes for annotated local records (P3) JDK-8244763: Update --release 8 symbol information after JSR 337 MR3 (P4) JDK-8248299: two jdeps files miss copyright header tools/javadoc(tool): (P2) JDK-8236539: Relative link tags in record javadoc don't resolve (P2) JDK-8245981: Upgrade to jQuery 3.5.1 (P3) JDK-8242607: -Xdoclint doesn't report missing/unexpected comments (P3) JDK-8177280: @see {@link} syntax should allow generic types (P3) JDK-8164408: Add module support for @see, @link and @linkplain javadoc tags. (P3) JDK-8247788: DocCommentParser should not reject standalone '>' (P3) JDK-8247382: doclint errors (missing comments) in jdk.compiler and jdk.javadoc (P3) JDK-8247235: doclint should permit "self-closing" tags for void elements in HTML5 (P3) JDK-8247955: doclint: don't complain about summary/caption when role=presentation (P3) JDK-8247815: doclint: recategorize "no description for ..." as MISSING, not SYNTAX (P3) JDK-8236935: Improve UX of the search control (P3) JDK-8245696: javadoc crashes when a doc-files directory contains a '#' file (P3) JDK-8240169: javadoc fails to link to docs with non-matching modularity (P3) JDK-8198705: Javadoc search needs a fix to handle duplicate package names in different modules (P3) JDK-8246078: Javadoc Search specification link from Javadoc Help page points to JDK 13 spec (P3) JDK-8243533: Only one of several deprecated overloaded methods listed in the Deprecated list (P3) JDK-8247780: Refine the Help page for API Documentation (P3) JDK-8237909: Remove zipped index files feature (P3) JDK-8248409: some jdk/javadoc/doclet tests fail (JDK 15) (P3) JDK-8241969: Type annotation is not shown for wildcard type in Javadoc (P3) JDK-8236700: Upgrading JSZip from v3.1.5 to v3.2.2 (P4) JDK-8239378: Add Classpath Exception to license in source file. (P4) JDK-8236823: Ensure that API documentation uses minified libraries (P4) JDK-8247913: Javadoc doc-comment-spec contains unintentional HTML char reference (P4) JDK-8247577: Stamp the Javadoc Search Specification with the JDK version tools/jconsole: (P3) JDK-8236873: Worker has a deadlock bug tools/jlink: (P3) JDK-8241602: jlink does not produce reproducible jimage files (P4) JDK-8242846: Bring back test/jdk/tools/jlink/plugins/OrderResourcesPluginTest.java tools/jpackage: (P2) JDK-8246792: Mac signing tests failed (unsealed contents present in the bundle root) (P3) JDK-8247422: --runtime-image on Mac should work for runtime root (P3) JDK-8248501: [macos] App created with jpackage on Mac fails with error -10810 (P3) JDK-8248059: [macos] EmptyFolderPackageTest.java failed "hdiutil: create failed - No child processes" (P3) JDK-8231283: Add support to jpackage to create install Linux packages in /usr hierarchy (P3) JDK-8246244: BasicShortcutHintTest shortcut can not be found (P3) JDK-8247424: jpackage BasicTest.java failed two sub-tests (P3) JDK-8248254: jpackage fails if app module is in external runtime (P3) JDK-8248427: jpackage jtreg BasicTest.testTemp() test fails on Windows (P3) JDK-8247229: jpackage tests failed due to "semop(1): encountered an error: Invalid argument" (P3) JDK-8246212: JPKG001-012: application icon is missing in Control Panel Add/Remove (P3) JDK-8246042: Non-ASCII characters are not handled correctly in the native launcher (P3) JDK-8247418: Only validate the certificates trust if using the default key user name. (P3) JDK-8236125: Windows (MSVC 2013) build fails in jpackage: Need to include strsafe.h after tchar.h (P3) JDK-8248264: WinUpgradeUUIDTest application is missing in downgrade scenario (P4) JDK-8245788: EmptyFolderPackageTest fails on Windows 10 (P4) JDK-8233215: jpackage doesn't allow enough flexibility for file type binding (P4) JDK-8247353: jtreg tests minor issues clean up (P4) JDK-8235833: PosixPlatform.cpp should not include sysctl.h tools/jshell: (P3) JDK-8199646: JShell tests: jdk/jshell/FailOverDirectExecutionControlTest.java failed with java.lang.UnsupportedOperationException (P3) JDK-8249367: JShell uses 100% of one core all the time (P3) JDK-8247438: JShell: When FailOverExecutionControlProvider fails the proximal cause is not shown (P3) JDK-8237743: test/langtools/jdk/jshell/FailOverExecutionControlTest.java fails No ExecutionControlProvider with name 'nonExistent' and parameter keys: [] (P3) JDK-8241598: Upgrade JLine to 3.14.0 (P3) JDK-8242030: Wrong package declarations in jline classes after JDK-8241598 tools/launcher: (P3) JDK-8240629: argfiles parsing broken for argfiles with comment cross 4096 bytes chunk (P4) JDK-8241445: Fix copyrights after JDK-8240629 change (P4) JDK-8243453: java --describe-module failed with non-ASCII module name under non-UTF8 environment (P4) JDK-8241638: launcher time metrics always report 1 on Linux when _JAVA_LAUNCHER_DEBUG set xml: (P4) JDK-8248060: small HTML issues in java.xml package-info.java files xml/jaxp: (P3) JDK-8248348: Regression caused by the update to BCEL 6.0 (P4) JDK-8242470: Update Xerces to Version 2.12.1