RELEASE NOTES FOR: 13 ==================================================================================================== Notes generated: Fri Jan 01 06:53:30 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 = 13 Acquiring pages (2210 total): ............................................. done Loading issues (2210 total): ............................................. done Resolving issues (2210 total): ............................................ done Resolving parents (2210 total): ............................................ done Resolving backports (2210 total): ............................................ done JIRA Query: project = JDK AND issuetype = JEP AND fixVersion = 13 ORDER BY summary ASC Acquiring pages (5 total): . done Loading issues (5 total): . done Resolving issues (5 total): done Resolving parents (5 total): done Filtered 192 issues carried over, 870 pushes left. Hint: Prefix bug IDs with https://bugs.openjdk.java.net/browse/ to reach the relevant JIRA entry. JAVA ENHANCEMENT PROPOSALS (JEP): JEP 350: Dynamic CDS Archives Extend [application class-data sharing](https://openjdk.java.net/jeps/310) 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. JEP 351: ZGC: Uncommit Unused Memory (Experimental) Enhance ZGC to return unused heap memory to the operating system. JEP 353: Reimplement the Legacy Socket API 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). JEP 354: Switch Expressions (Second Preview) Extend `switch` so it can be used as either a statement or an expression, and so that 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 prepare the way for the use of [pattern matching (JEP 305)](https://openjdk.java.net/jeps/305) in `switch`. This is a [preview language feature](http://openjdk.java.net/jeps/12) in JDK 13. JEP 355: Text Blocks (Preview) 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 is a [preview language feature](http://openjdk.java.net/jeps/12) in JDK 13. RELEASE NOTES, BY COMPONENT: client-libs/javax.swing: JDK-8219012: GTK+ 3.20 and Later Unsupported by Swing Due to incompatible changes in the GTK+ 3 library versions 3.20 and later, the Swing GTK Look and Feel does not render some UI components when using this library. Therefore Linux installations with versions of GTK+ 3.20 and above are not supported for use by the Swing GTK Look And Feel in this release. Affected applications on such configurations should specify the system property `-Djdk.gtk.version=2.2` to request GTK2+ based rendering instead. JDK-8219012: GTK+ 3.20 and Later Unsupported by Swing Due to incompatible changes in the GTK+ 3 library versions 3.20 and later, the Swing GTK Look and Feel does not render some UI components when using this library. Therefore Linux installations with versions of GTK+ 3.20 and above are not supported for use by the Swing GTK Look And Feel in this release. Affected applications on such configurations should specify the system property `-Djdk.gtk.version=2.2` to request GTK2+ based rendering instead. JDK-8219012: GTK+ 3.20 and Later Unsupported by Swing Due to incompatible changes in the GTK+ 3 library versions 3.20 and later, the Swing GTK Look and Feel does not render some UI components when using this library. Therefore Linux installations with versions of GTK+ 3.20 and above are not supported for use by the Swing GTK Look And Feel in this release. Affected applications on such configurations should specify the system property `-Djdk.gtk.version=2.2` to request GTK2+ based rendering instead. JDK-8219012: GTK+ 3.20 and Later Unsupported by Swing Due to incompatible changes in the GTK+ 3 library versions 3.20 and later, the Swing GTK Look and Feel does not render some UI components when using this library. Therefore Linux installations with versions of GTK+ 3.20 and above are not supported for use by the Swing GTK Look And Feel in this release. Affected applications on such configurations should specify the system property `-Djdk.gtk.version=2.2` to request GTK2+ based rendering instead. JDK-8219071: GTK+ 3.20 and Later Unsupported by Swing Due to incompatible changes in the GTK+ 3 library versions 3.20 and later, the Swing GTK Look and Feel does not render some UI components when using this library. Therefore Linux installations with versions of GTK+ 3.20 and above are not supported for use by the Swing GTK Look And Feel in this release. Affected applications on such configurations should specify the system property -Djdk.gtk.version=2.2 to request GTK2+ based rendering instead. JDK-8219072: GTK+ 3.20 and Later Unsupported by Swing Due to incompatible changes in the GTK+ 3 library versions 3.20 and later, the Swing GTK Look and Feel does not render some UI components when using this library. Therefore Linux installations with versions of GTK+ 3.20 and above are not supported for use by the Swing GTK Look And Feel in this release. JDK-8219012: GTK+ 3.20 and Later Unsupported by Swing Due to incompatible changes in the GTK+ 3 library versions 3.20 and later, the Swing GTK Look and Feel does not render some UI components when using this library. Therefore Linux installations with versions of GTK+ 3.20 and above are not supported for use by the Swing GTK Look And Feel in this release. Affected applications on such configurations should specify the system property `-Djdk.gtk.version=2.2` to request GTK2+ based rendering instead. core-libs/java.lang: JDK-8218924: Default Process launch mechanism on Linux now uses posix_spawn `Runtime.exec()` and `ProcessBuilder`, on Linux now use `posix_spawn(3)` to spawn child processes. This increases reliability and performance in low-memory situations. JDK-8228689: Removal of Runtime Trace Methods The obsolete methods `traceInstructions(boolean)` and `traceMethodCalls(boolean)` have been removed from the `java.lang.Runtime` class. These methods have been non-functional for many releases, and their intended functions are provided by the Java Virtual Machine Tool Interface (JVMTI). core-libs/java.net: JDK-8226643: Change to Default Implementation of SocketImpl Methods supportedOptions, getOption, and setOption The default implementation of the `supportedOptions()`, `getOption(SocketOption)` and `setOption(SocketOption, T)` methods, defined by `java.net.SocketImpl` and `java.net.DatagramSocketImpl`, have changed in this release. The default implementation of the `supportedOptions()` method has been changed to return an empty set. The default implementations of the `getOption(SocketOption)` and `setOption(SocketOption, T)` methods have been changed to throw `UnsupportedOperationException`. Developers extending `java.net.SocketImpl` or `java.net.DatagramSocketImpl` to create their own socket or datagram socket implementations need to override these methods to support the socket options that the custom socket implementation supports. JDK-8223354: JEP 353: Reimplement the Legacy Socket API The underlying implementation for the `java.net.Socket` and `java.net.ServerSocket` APIs has been replaced in this release. JEP 353 provides all the details on this change. Every effort has been made to ensure that the new implementation is compatible with the old implementation but it is possible that there is existing code that depends on unspecified behavior in corner cases where the old and new implementations behave differently. The JDK continues to include the old implementation (known as "PlainSocketImpl" or the "plain" implementation) to allow such code continue to run. The old implementation is selected by running with the system property "`jdk.net.usePlainSockteImpl`" set, or set to the value "`true`", i.e. run with `-Djdk.net.usePlainSocketImpl` or `-Djdk.net.usePlainSocketImpl=true`. The property can also be configured in the JDK network configuration file, located in `${java.home}/conf/net.properties`. The old implementation, and the system property to select the old implementation, will be removed in a future release. core-libs/java.rmi: JDK-8225318: Deprecated rmic Tool for Removal The _rmic_ tool has been deprecated and may be removed from a future release. The _rmic_ tool was used to create static stubs that support the Java Remote Method Protocol (JRMP) used by the Java Remote Method Invocation (RMI) facility. Statically generated stubs are obsolete and were replaced by dynamically generated stubs in Java SE 5.0. Dynamically generated stubs no longer require pregeneration using a tool such as _rmic_, and they are functionally equivalent to statically generated stubs. RMI applications should be migrated to use dynamically generated RMI stubs by changing the way remote objects are exported. See the class documentation for `java.rmi.server.UnicastRemoteObject` for further details. core-libs/java.time: JDK-8225062: DateTimeFormatter now throws DateTimeParseException on Invalid HOUR_OF_AMPM The parsing behavior of `DateTimeFormatter` with `HOUR_OF_AMPM` has changed. It now correctly throws a `DateTimeParseException` with an out-of-bounds input values, such as `12`. core-libs/java.util: JDK-8226735: Properties Files Containing Malformed Unicode Was Sometimes Misparsed An `IllegalArgumentException` is always thrown now when loading a properties file with malformed unicode sequences. Previously, a malformed unicode sequence appearing at the end of a line was parsed using the contents of the preceding line, which in rare cases meant it could be parsed as a valid (but likely incorrect) sequence. core-libs/java.util.logging: JDK-8219540: NullPointerException in java.util.logging.Handler#isLoggable The default implementation of `java.util.logging.Handler.isLoggable` has been updated to match its specification and to return `false` if the `record` parameter is `null`. The implementation of `java.util.logging.MemoryHandler.isLoggable` and `java.util.logging.MemoryHandler.publish` will no longer throw `NullPointerException` if the `record` parameter is `null`, which conforms to their specification. core-libs/java.util:i18n: JDK-8218762: New Japanese Era Name: Reiwa An instance representing the new Reiwa era has been added to this update. Unlike other eras, there is no public field for this era. It can be obtained by calling `JapaneseEra.of(3)` or `JapaneseEra.valueOf("Reiwa")`. JDK 13 and later will have a new public field to represent this era. The placeholder name, "`NewEra`", for the Japanese era that started from May 1st, 2019 has been replaced with the new official name. Applications that relied on the placeholder name (see JDK-8202088) to obtain the new era singleton (`JapaneseEra.valueOf("NewEra")`) will no longer work. hotspot/gc: JDK-8222487: Added -XX:SoftMaxHeapSize Flag The manageable command-line flag `-XX:SoftMaxHeapSize=` has been added. Currently, it only has an effect when the Z garbage collector is enabled (`-XX:+UseZGC`). When set, the GC will strive to not grow the heap beyond the specified size, unless the GC decides it's necessary to do so to avoid OutOfMemoryError. The soft max heap size is not allowed to be set to a value greater than the maximum heap size (`-Xmx`). When not set on the command line, it defaults to a value equal to the maximum heap size. Being `manageable`, its value can be adjusted at runtime. For example, its value can be adjusted by using `jcmd VM.set_flag SoftMaxHeapSize ` or through the HotSpot MXBean. Setting this flag can be useful in a number of situations, such as: * In environments where resource usage is a concern, you might want to keep the heap footprint down while also retaining the capability to deal with a temporary increase in heap space requirement. * When using a concurrent GC (such as ZGC), you might want to play it safe and increase the confidence level that you will not run into an allocation stall because of an unforeseen increase in allocation rate. Setting a soft max heap size encourages the GC to maintain a smaller heap, which means the GC will collect garbage more aggressively than it otherwise would, making it more resilient to a sudden increase in the application allocation rate. JDK-8226477: Epsilon GC Caused Excess Metaspace Resizing Safepoints In this release, Epsilon has been changed to accept GC requests and resize the metaspace to reduce the number of safepoints that are taken. Before this release, the Epsilon GC was intended to provide minimal runtime overhead by not doing GC and by ignoring all incoming GC requests. However, when a metadata-heavy workload (for example, a workload having lots of classes) needed to resize the metaspace, it relied on the GC to resize the metadata at a GC safepoint. Shared GC code would enter the safepoint to call into GC for it. However, because Epsilon ignored the GC request, the safepoint would be generated, but it would not resize the metaspace. This would cause another safepoint to be generated soon afterwards without ever resizing the metaspace. JDK-8225343: Improve Ergonomics for Sparse PRT Entry Size This enhancement changes the ergonomics for sizing the lowest level (most quickly to access, but taking most space per element) remembered set memory storage in G1 called Sparse PRTs. The number of entries now grow exponentially with region size instead of linearly. This means that G1 uses 4/8/16/32/62/128 entries per Sparse PRT if configured for 1/2/4/8/16/32 MB regions respectively instead of 4/8/12/16/20/24 entries. With this change, G1 uses significantly less memory for remembered sets for applications requiring a significant amount of remembered sets. This may also result in decreased garbage collection pause times in these cases. The ergonomically determined values may be overridden using the `-XX:G1RSetSparseRegionEntries` option as before. JDK-8226901: Improve the Behavior of MaxRAM Settings and UseCompressedOops The behavior of several GC Heap selection flags have been changed to better meet the expectation of users. Prior to this change, if the heap size selection resulting from the use of these flags exceeded the maximum reachable address when `UseCompressedOops` is enabled, the heap size would be truncated to be within the `CompressedOops` range. Also, the percentage or fractional calculation performed was based on the value of `MaxRAM` and not the amount of physical memory available in the system. The following are the options impacted by this change: - `-XX:MaxRAMPercentage` - `-XX:MaxRAMFraction` - `-XX:MinRAMPercentage` - `-XX:MinRAMFraction` - `-XX:InitialRAMPercentage` - `-XX:InitialRAMFraction` - `-XX:MaxRAM` The new behavior calculates the percentage or fraction based on the host's available memory unless the user also specifies `-XX:MaxRAM`. In addition, `UseCompressedOops` is automatically disabled if the heap size resulting from the use of any of these options, including `-XX:MaxRAM`, is greater than can be addressed in `CompressedOops` mode, unless the `-XX:+UseCompressedOops` option is specified to override this behavior. Note: This change only impacts 64-bit platforms. JDK-8225523: Shenandoah Support for Solaris x86_64 Shenandoah is designed to be OS agnostic. However, minor differences in accepted language features in OS-specific tool chains can prevent it from being buildable on some operating systems. This release includes a change that enables Shenandoah builds with Solaris Studio, the default tool chain for the Solaris operating system. Testing shows that, after this change is applied, Shenandoah is fully operational on Solaris 11. JDK-8226483: Shenandoah Accepts Arbitrarily Low Initial Heap Size The Shenandoah implementation has been improved to allow arbitrarily low initial heap size. Before this change, Shenandoah needed at least 10 regions to cover `-Xms`. With large heaps and/or larger regions, those 10 regions could use a significant amount of space. This requirement is relaxed now, and Shenandoah can run with the lowest `-Xms` that the shared JVM code can accept. JDK-8225524: Shenandoah Changes -Xms to Mean "minimum heap size" Before the changes in this release, `-Xms` was treated as setting the "initial heap size." This enabled the Shenandoah heap sizing policy to uncommit unused heap that was below that setting. With this release, `-Xms` is treated as providing the "minimum heap size." This change prevents Shenandoah from uncommitting unused heap that is below the `-Xms` setting. `-Xms` can now be used to fine-tune footprint vs. allocation overhead tradeoffs. JDK-8226482: Shenandoah Logs Report Proper Committed Heap Size In previous releases, Shenandoah reported the max heap size as the current heap size. This reporting error resulted from changing the heap sizing scheme to per-region commit/uncommit. In this release, Shenandoah reports the proper amount of committed memory that is taken by the current heap. The changes in this release also eliminate redundant logging lines that print reserved/committed/used memory sizes. This change makes Shenandoah GC logging more consistent with other GCs. Users are advised to check their GC log parsing scripts. See JDK-8222185. JDK-8225531: Shenandoah x86_32 support Shenandoah now experimentally supports x86_32 in fully concurrent mode. This allows memory footprint improvements in VM-heavy workloads, when most of the memory taken by JVM are VM-native structures. This also serves as the proof Shenandoah is implementable on 32-bit platforms. JDK-8225530: Shenandoah eliminated separate forwarding pointer slot Shenandoah uses an extra word per object to store the forwarding pointer of an object in support of concurrent evacuation. With the arrival of load reference barriers, it is possible to store the forwarding pointer in the then-unused memory of old copy of an object instead, for example use the old copy mark-word and encode the forwarding pointer there. This allows to eliminate the extra forwarding pointer word, and thus reduces memory footprint to that of regular GC. JDK-8226476: Shenandoah reduces the default number of GC threads In previous releases, Shenandoah GC defaulted to the large number of concurrent and parallel GC threads to do the work. In many cases, this lead to taking a significant CPU toll when GC was running. In worst case, the system can be saturated with the GC work alone. In this release, the default number of concurrent and parallel Shenandoah GC threads is trimmed down to 1/4 and 1/2 of CPU threads, respectively. Users are advised to check if their installations benefit from these new defaults, or adjust `-XX:ConcGCThreads=#` or `-XX:ParallelGCThreads=#` if needed. security-libs/java.security: JDK-8221983: New keytool -showinfo -tls Command for Displaying TLS Configuration Information A new `keytool -showinfo -tls` command has been added that displays TLS configuration information. JDK-8223161: Removal of T-Systems Deutsche Telekom Root CA 2 Certificate The T-Systems Deutsche Telekom Root CA 2 certificate has expired and was removed from the `cacerts` keystore: + alias name "deutschetelekomrootca2 [jdk]" Distinguished Name: CN=Deutsche Telekom Root CA 2, OU=T-TeleSec Trust Center, O=Deutsche Telekom AG, C=DE JDK-8223976: Removal of Two Comodo Root CA Certificates Two Comodo root CA certificates have expired and were removed from the `cacerts` keystore: + alias name "utnuserfirstclientauthemailca [jdk]" Distinguished Name: CN=UTN-USERFirst-Client Authentication and Email, OU=http://www.usertrust.com, O=The USERTRUST Network, L=Salt Lake City, ST=UT, C=US + alias name "utnuserfirsthardwareca [jdk]" Distinguished Name: CN=UTN-USERFirst-Hardware, OU=http://www.usertrust.com, O=The USERTRUST Network, L=Salt Lake City, ST=UT, C=US JDK-8224004: Removal of Two DocuSign Root CA Certificates Two DocuSign root CA certificates have expired and were removed from the `cacerts` keystore: + alias name "certplusclass2primaryca [jdk]" Distinguished Name: CN=Class 2 Primary CA, O=Certplus, C=FR + alias name "certplusclass3pprimaryca [jdk]" Distinguished Name: CN=Class 3P Primary CA, O=Certplus, C=FR security-libs/javax.crypto: JDK-8220791: Use SunJCE Mac in SecretKeyFactory PBKDF2 Implementation The SunJCE implementation of the PBKDF2 SecretKeyFactory will now exclusively use the SunJCE Mac service for the underlying pseudorandom function (PRF). This fixes an issue where 3rd party JCE providers in rare cases could cause the SunJCE PBKDF2 SecretKeyFactory's underlying pseudorandom function (PRF) to fail on `Mac.init()`. security-libs/javax.crypto:pkcs11: JDK-8215018: Memory Growth Issue in SunPKCS11 Fixed A memory growth issue in the SunPKCS11 cryptographic provider that affects the NSS back-end has been fixed. A system property, `sun.security.pkcs11.disableKeyExtraction` has been introduced to disable the fix. A "`true`" value disables the fix, while a "`false`" value (default) keeps it enabled. When enabled, PKCS#11 attributes of the NSS native keys are copied to Java byte buffers after key creation. Once used, NSS keys are destroyed and native heap space is freed up. If NSS keys are required again, they are recreated with the previously saved attributes. Further information and implementation details can be found in the CSR: JDK-8213430 JDK-8221441: SunPKCS11 Provider Upgraded with Support for PKCS#11 v2.40 The SunPKCS11 provider has been updated with support for PKCS#11 v2.40. This version adds support for more algorithms such as the AES/GCM/NoPadding cipher, DSA signatures using SHA-2 family of message digests, and RSASSA-PSS signatures when the corresponding PKCS11 mechanisms are supported by the underlying PKCS11 library. security-libs/javax.net.ssl: JDK-8227105: Session Resumption without Server-Side State in JSSE The feature allows for the server-side of JSSE to operate stateless. As described in RFC 5077[1] for TLS 1.2 and below, and RFC 8446[2] for TLS 1.3, the TLS server sends internal session information in the form of an encrypted session ticket to a client that supports stateless. That session ticket is presented to the server during the TLS handshake to resume the session. This should improve the performance and memory usage of the TLS server under large workloads as the session cache will seldom be used. With less session information cached, some session information may not be available. This feature is not enabled by default and can be turned on by setting two properties. Note that invalidated stateless TLS sessions could be resumed in the current implementation. The behavior is not guaranteed to be the same in future releases and updates (see bugid JDK-8229148) Note that in the current implementation, the return value of `SSLSession.getID()` is not persistent across resumption for TLS 1.3 and stateless TLS 1.2 connections. This could be an issue if applications rely on the session identifier values. This may change to be consistent a future release (See bugid JDK-8229149) Two new System properties are added in support of this feature: `jdk.tls.client.enableSessionTicketExtension` is used on the client side to toggle the Session Ticket Extension on the ClientHello message for TLS 1.2. Property value: "`true`" sends the extension, "`false`" does not (default). `jdk.tls.server.enableSessionTicketExtension` enables a server to use stateless session tickets if the client supports it. Clients that do not support stateless session tickets will use the cache. Property value: "`true`" enables stateless, "`false`" does not (default). [1]: https://tools.ietf.org/html/rfc5077 [2]: https://tools.ietf.org/html/rfc8446 JDK-8225764: Support for X25519 and X448 in TLS The named elliptic curve groups `x25519` and `x448` are now available for JSSE key agreement in TLS versions 1.0 to 1.3, with `x25519` being the most preferred of the default enabled named groups. The default ordered list is now: ``` x25519, secp256r1, secp384r1, secp521r1, x448, sect283k1, sect283r1, sect409k1, sect409r1, sect571k1, sect571r1, secp256k1, ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, ffdhe8192 ``` The default list can be overridden using the system property *`jdk.tls.namedGroups`*. security-libs/javax.security: JDK-8227564: Allow SASL Mechanisms to Be Restricted A security property named `jdk.sasl.disabledMechanisms` has been added that can be used to disable SASL mechanisms. Any disabled mechanism will be ignored if it is specified in the `mechanisms` argument of `Sasl.createSaslClient` or the `mechanism` argument of `Sasl.createSaslServer`. The default value for this security property is empty, which means that no mechanisms are disabled out-of-the-box. security-libs/javax.xml.crypto: JDK-8224943: [xmldsig] Added KeyValue::EC_TYPE The `ECKeyValue` type as described in the [W3C Recommendation for XML-Signature Syntax and Processing](https://www.w3.org/TR/xmldsig-core/#sec-ECKeyValue) is now supported. A new `EC_TYPE` constant has been added to the `javax.xml.crypto.dsig.keyinfo.KeyValue` interface. Please note that only the `NamedCurve` domain parameter type is currently supported, and the `ECParameters` explicit curve parameter type is not supported. JDK-8225051: New String Constants for Canonical XML 1.1 URIs New String constants named `INCLUSIVE_11` and `INCLUSIVE_11_WITH_COMMENTS` have been added to the `javax.xml.crypto.dsig.CanonicalizationMethod` API. These represent the URIs for the Canonical XML 1.1 and Canonical XML 1.1 with Comments algorithms for XML Signature. JDK-8230839: Updated XML Signature Implementation to Apache Santuario 2.1.3 The XML Signature implementation in the `java.xml.crypto` module has been updated to version 2.1.3 of Apache Santuario. New features include: * Added support for embedding elliptic curve public keys in the KeyValue element security-libs/org.ietf.jgss: JDK-8214079: Added a Default Native GSS-API Library on Windows A native GSS-API library has been added to JDK on the Windows platform. The library is client-side only and uses the default credentials. It will be loaded when the `sun.security.jgss.native` system property is set to "true". A user can still load a third-party native GSS-API library by setting the system property `sun.security.jgss.lib` to its path. security-libs/org.ietf.jgss:krb5: JDK-8225387: Support for Kerberos Cross-Realm Referrals (RFC 6806) The Kerberos client has been enhanced with the support of principal name canonicalization and cross-realm referrals, as defined by the RFC 6806 protocol extension. As a result of this new feature, the Kerberos client can take advantage of more dynamic environment configurations and does not necessarily need to know (in advance) how to reach the realm of a target principal (user or service). Support is enabled by default and 5 is the maximum number of referral hops allowed. To turn it off, set the `sun.security.krb5.disableReferrals` security or system property to false. To configure a custom maximum number of referral hops, set the `sun.security.krb5.maxReferrals` security or system property to any positive value. See further information in JDK-8223172. tools/javap: JDK-8225811: javap Checksum Uses SHA-256 javap includes a checksum of the contents of the class file in verbose output. The checksum is now calculated with the SHA-256 algorithm, instead of the older MD5 algorithm. tools/jlink: JDK-8226948: A jrt URI Can Only Encode Paths to Files in /modules Tree A `jrt` URL is a hierarchical URI with the syntax `jrt:/[$MODULE[/$PATH]]`. When using the `jrt` file system, a `java.net.URI` object can be created with the `java.nio.file.Path::toUri` method to encode a normalized path to a file in the `/modules` tree. A `jrt` URL cannot encode a path to a file in the `/packages` tree. The `jrt` file system provider has been changed in this release so that `toUri` fails with `IOError` when it is not possible to encode the file path as a `jrt` URI. This change might impact tools that assume a URI can be created to locate files in the `/packages` tree. Tools with paths to files in `/packages` can use the `toRealPath()` method to obtain the real path (in `/modules`) before attempting to convert the file path to a URI. ALL FIXED ISSUES, BY COMPONENT AND PRIORITY: client-libs: (P2) JDK-8214579: JFrame does not paint content in XVFB / X11vnc environment (P2) JDK-8210782: Upgrade HarfBuzz to the latest 2.3.1 (P2) JDK-8217676: Upgrade libpng to 1.6.37 (P3) JDK-8225368: broken links in java.desktop files (P3) JDK-8214252: Expanded & Collapsed nodes of a JTree look the same on GTK3 (P4) JDK-8224876: javax/swing/JWindow/ShapedAndTranslucentWindows/ShapedPerPixelTranslucentGradient.java fails on linux-x64 client-libs/2d: (P2) JDK-8222362: Upgrade to Freetype 2.10.0 (P3) JDK-8212202: [Windows] Exception if no printers are installed. (P3) JDK-8208179: Devanagari not shown with logical fonts on Windows after removal of Lucida Sans from JDK (P3) JDK-8217731: Font rendering and glyph spacing changed from jdk-8 to jdk-11 (P3) JDK-8223045: GraphicsEnvironment does not detect resolution changes in multiscreen systems (P3) JDK-8224825: java/awt/Color/AlphaColorTest.java fails in linux-x64 system (P3) JDK-8217707: JNICALL declaration breaks Splash screen functions (P3) JDK-8221412: lookupPrintServices() does not always update the list of Windows remote printers (P3) JDK-8221411: NullPointerException in RasterPrinterJob without PrinterResolution (P4) JDK-6933331: (d3d/ogl) java.lang.IllegalStateException: Buffers have not been created (P4) JDK-8220231: Cache HarfBuzz face object for same font's text layout calls (P4) JDK-8215130: Fix errors in LittleCMS 2.9 reported by GCC 8 (P4) JDK-8218854: FontMetrics.getMaxAdvance may be less than the maximum FontMetrics.charWidth (P4) JDK-8222917: GraphicsEnvironment for Unix still have an unused dependency on Solaris (P4) JDK-8225007: java/awt/print/PrinterJob/LandscapeStackOverflow.java may hang (P4) JDK-8219901: Noto fonts for East Asian countries cannot belong to CompositeFont (P4) JDK-8224778: test/jdk/demo/jfc/J2Ddemo/J2DdemoTest.java cannot find J2Ddemo.jar client-libs/java.awt: (P2) JDK-8227919: 8213232 causes crashes on solaris sparc64 (P2) JDK-8214046: [macosx] Undecorated Frame does not Iconify when set to (P2) JDK-8227392: Colors with alpha are painted incorrectly on Linux, after JDK-8214579 (P2) JDK-8226654: Some swing gtk regression tests fail with "java.lang.InternalError: Unable to load native GTK libraries" (P2) JDK-8220495: Update GIFlib library to the 5.1.8 (P3) JDK-8220528: [AIX] Fix basic Xinerama and Xrender functionality (P3) JDK-8214765: All TrayIcon MessageType icons does not show up with gtk3 option set (P3) JDK-8207938: At step6,Click Add button,case failed automatically. (P3) JDK-8212676: AWT SystemColor setting on CDE (P3) JDK-8215200: IllegalArgumentException in sun.lwawt.macosx.CPlatformWindow (P3) JDK-8225376: invalid HTML in AWT_Native_Interface.html (P3) JDK-8215105: java/awt/Robot/HiDPIScreenCapture/ScreenCaptureTest.java: Wrong Pixel Color (P3) JDK-8215756: Memory leaks in the AWT on macOS (P3) JDK-8221246: NullPointerException within Win32ShellFolder2 (P3) JDK-8225118: Robot.createScreenCapture() returns black image on HiDPI linux with gtk3 (P3) JDK-8223271: SplashScreen is still shown if defaulting to headless on MacOS (P3) JDK-8211826: StringIndexOutOfBoundsException happens via GetStringUTFRegion() (P3) JDK-8213232: Unix/X11 setCompositionEnableNative issue (P3) JDK-8212678: Windows IME related patch (P3) JDK-8212677: X11 default visual support for IM status window on VNC (P3) JDK-8214109: XToolkit is not correctly displayed color on 16-bit high color setting (P4) JDK-8144125: [macos] java/awt/event/ComponentEvent/MovedResizedTwiceTest/MovedResizedTwiceTest.java failed automatically (P4) JDK-8224771: backout RemoveDropTargetCrashTest.java fix to re-push with correct bugid (P4) JDK-8216155: C4819 warning at libfreetype sources on Windows (P4) JDK-8225032: Fix some C++ conformance issues in AWT Windows code (P4) JDK-8225487: giflib legal file is missing attribution for openbsd-reallocarray.c. (P4) JDK-8224821: java/awt/Focus/NoAutotransferToDisabledCompTest/NoAutotransferToDisabledCompTest.java fails linux-x64 (P4) JDK-8225105: java/awt/Focus/ShowFrameCheckForegroundTest/ShowFrameCheckForegroundTest.java fails in Windows 10 (P4) JDK-8223766: Remains of ancient code in AWT initialization (P4) JDK-8211267: StackOverflowError happened by TextField.setFont(...) (P4) JDK-8219504: Test for JDK-8211435 can be run on all platforms (P4) JDK-8224830: test/jdk/java/awt/Focus/ModalExcludedWindowClickTest/ModalExcludedWindowClickTest.java fails on linux-x64 client-libs/java.awt:i18n: (P3) JDK-8225182: JNI exception pending in DestroyXIMCallback of awt_InputMethod.c:1327 (P4) JDK-8213183: InputMethod cannot be used after its restarting client-libs/java.beans: (P3) JDK-8221244: Unexpected behavior of PropertyDescription.getReadMethod for boolean properties (P4) JDK-8216046: test/jdk/java/beans/PropertyEditor/Test6397609.java failing client-libs/javax.accessibility: (P3) JDK-8219914: Change the environment variable for Java Access Bridge logging to have a directory (P3) JDK-8190361: Incorrect version info in jaccessinspector.exe and jaccesswalker.exe (P3) JDK-8196681: Java Access Bridge logging and debug flags dynamically controlled client-libs/javax.sound: (P4) JDK-8221445: FastSysexMessage constructor crashes MIDI receiption thread (P4) JDK-8224056: Fix some assignments of string literals to LPSTR (instead of LPCSTR) (P4) JDK-8222083: Support of "64-bit IEEE floating point" encoding for the AU file format client-libs/javax.swing: (P1) JDK-8226964: [Yaru] GTK L&F: There is no difference between menu selected and de-selected (P2) JDK-8226783: GTK is not being returned as the System L&F on Gnome. (P2) JDK-8218473: JOptionPane display issue with GTKLookAndFeel (P2) JDK-8218472: JProgressBar display issue with GTKLookAndFeel (P2) JDK-8218470: JScrollBar display issue with GTKLookAndFeel (P2) JDK-8218469: JSlider display issue with slider for GTKLookAndFeel (P2) JDK-8218479: JTextPane display issue with GTKLookAndFeel (P2) JDK-8203627: Swing applications with JRadioButton and JCheckbox fail to render correctly when using GTK3 and the GTK L&F (P3) JDK-8225144: [macos] In Aqua L&F backspace key does not delete when Shift is pressed (P3) JDK-8225146: Accessibility issues in javax/swing/plaf/nimbus/doc-files/properties.html (P3) JDK-8222519: ButtonDemoScreenshotTest fails randomly with "still state to be reached" (P3) JDK-8217235: Create automated test for SwingSet ColorChooserDemoTest (P3) JDK-8214471: Enable different look and feel tests in SwingSet3 demo test ToolTipDemoTest (P3) JDK-8225423: GTK L&F: JSplitPane: There is no divider shown (P3) JDK-8218674: HTML Tooltip with "img src=" on component doesn't show (P3) JDK-8211703: JInternalFrame : java.lang.AssertionError: cannot find the internal frame (P3) JDK-8215396: JTabbedPane preferred size calculation is wrong for SCROLL_TAB_LAYOUT (P3) JDK-8220349: The fix done for JDK-8214253 have caused issues in JTree behaviour (P3) JDK-8214112: The whole text in target JPasswordField image are not selected. (P3) JDK-8214111: There is no icon in all JOptionPane target image (P3) JDK-8214253: Tooltip is transparent rather than having a black background (P3) JDK-8214702: Wrong text position for whitespaced string in printing Swing text (P4) JDK-8225511: javax/swing/JWindow/ShapedAndTranslucentWindows/ShapedTranslucentPerPixelTranslucentGradient.java fails in linux-x64 (P4) JDK-8216353: Use utility APIs introduced in org/netbeans/jemmy/util/LookAndFeel class in client sanity test cases core-libs: (P3) JDK-8216401: Allow "file:" URLs in Class-Path of local JARs (P3) JDK-8228450: unicode.md and icu.md text should be pre-formatted (P3) JDK-8212528: Wrong cgroup subsystem being used for some CPU Container Metrics (P4) JDK-8223553: Fix code constructs that do not compile with the Eclipse Java Compiler (P4) JDK-8220072: GCC 8.3 reports errors in java.base (P4) JDK-8220598: Malformed copyright year range in a few files in java.base (P4) JDK-8225315: test java/util/ArrayDeque/WhiteBox.java isn't part of the jdk_collections test group core-libs/java.io: (P4) JDK-8219992: Correct the documentation of PrintWriter to refer to System.lineSeparator (P4) JDK-8218280: LineNumberReader throws "Mark invalid" exception if CRLF straddles buffer. core-libs/java.io:serialization: (P3) JDK-8226605: Accessibility issues in specs/serialization/*.html (P3) JDK-6996807: FieldReflectorKey hash code computation can be improved (P4) JDK-8220166: Performance regression in deserialization (4-6% in SPECjbb) (P4) JDK-8227541: Serial spec should be updated to reflect API generification (P5) JDK-6394787: Typos in javadoc of OIS.readObjectOverride and OOS.writeObjectOverride core-libs/java.lang: (P2) JDK-8223777: In posix_spawn mode, failing to exec() jspawnhelper may not result in an error (P2) JDK-8226709: MethodTypeDesc::resolveConstantDesc needs access check per the specification (P3) JDK-8213192: (process) Change the Process launch mechanism default on Linux to be posix_spawn (P3) JDK-8197927: Allow the system property `java.vendor.version` to be undefined (P3) JDK-8225314: broken links in java.base (P3) JDK-8220238: Enhancing j.l.Runtime/System::gc specification with an explicit 'no guarantee' statement (P3) JDK-8216205: Java API documentation formatting error in System.getEnv() (P3) JDK-8224181: On child process spawn, child may write to random file descriptor instead of the fail pipe (P3) JDK-8203444: String::formatted (Preview) (P3) JDK-8223775: String::stripIndent (Preview) (P3) JDK-8223780: String::translateEscapes (Preview) (P3) JDK-8225448: String::translateEscapes javadoc has accessibility issues (P4) JDK-8224986: (str) optimize StringBuilder.append(CharSequence, int, int) for String arguments (P4) JDK-8225353: Add @jls links to java.lang.Enum (P4) JDK-8210788: Javadoc for Thread.join(long, int) should specify that it waits forever when both arguments are zero (P4) JDK-8224783: Javadoc of String strip methods uses link where linkplain would be better (P4) JDK-8225675: Outdated citation of JLS in java.lang.ref.Reference (P4) JDK-8205131: remove Runtime trace methods core-libs/java.lang:reflect: (P1) JDK-8222082: Build of test/jdk/java/lang/reflect/exeCallerAccessTest/exeCallerAccessTest.c still failing on Windows (P1) JDK-8222078: test/jdk/java/lang/reflect/exeCallerAccessTest/exeCallerAccessTest.c build fails after 8221530 (P2) JDK-8224012: AnnotatedType implementations of hashCode() lead to StackOverflowError (P2) JDK-8222111: exeCallerAccessTest.c fails to build: control reaches end of non-void function (P3) JDK-8221530: Field::get and reflective member access not handling caller = null when invoked by JNI code with no java frames on stack (P3) JDK-8198526: getAnnotatedOwnerType does not handle static nested classes correctly (P3) JDK-8222448: java/lang/reflect/PublicMethods/PublicMethodsTest.java times out (P4) JDK-7086604: (reflect) Clarifications to javadoc for getGeneric*Type methods in j.l.r (P4) JDK-8227252: [aix] Disable jdk/java/lang/reflect/exeCallerAccessTest (P4) JDK-8225465: Add @jls tags to receiver type methods (P4) JDK-8042748: Clarify exception thrown by ParameterizedTypeImpl.validateConstructorArguments() (P4) JDK-8181869: getAnnotatedParameterTypes​() specification should be clarified core-libs/java.math: (P4) JDK-8225117: java/math/BigInteger/SymmetricRangeTests.java fails with ParseException core-libs/java.net: (P1) JDK-8229018: Switching to an infinite socket timeout on Windows leads to high CPU load (P3) JDK-8217364: Custom URLStreamHandler for jrt or file protocol can override default handler. (P3) JDK-8221395: HttpClient leaving connections in CLOSE_WAIT state until Java process ends (P3) JDK-8217094: HttpClient SSL race if a socket IOException is raised before ALPN is available (P3) JDK-8216974: HttpConnection not returned to the pool after 204 response (P3) JDK-8224477: java.net socket types new-style socket option methods - spec and impl mismatch (P3) JDK-8225060: java.net.DefaultInterface invokes NetworkInterface::getInetAddresses without doPriv (P3) JDK-8225037: java.net.JarURLConnection::getJarEntry() throws NullPointerException (P3) JDK-8224730: java.net.ServerSocket::toString not invoking checkConnect (P3) JDK-8194231: java/net/DatagramSocket/ReuseAddressTest.java failed with java.net.BindException: Address already in use: Cannot bind (P3) JDK-8228434: jdk/net/Sockets/Test.java fails after JDK-8227642 (P3) JDK-8170494: JNI exception pending in PlainDatagramSocketImpl.c (P3) JDK-8226730: Missing `@` in code tags (P3) JDK-8221481: Reimplement the Legacy Socket API (P3) JDK-8225426: Replace plain with system-default in Socket and ServerSocket (P3) JDK-8224865: Replace wildcard address with loopback or local host in tests - part 13 (P3) JDK-8225512: Replace wildcard address with loopback or local host in tests - part 15 (P3) JDK-8216988: ServerSocket.implAccept should include warnings about Socket type/state (P3) JDK-8225214: Socket.getOption(SocketOption) not returning the expected type for the StandardSocketOptions.SO_LINGER (P3) JDK-8227422: sun/net/www/protocol/file/DirPermissionDenied.java failed on Windows 2016 because DirPermissionDenied directory has no read permission (P3) JDK-8224973: URLStreamHandler.openConnection(URL,Proxy) - spec and implementation mismatch (P3) JDK-8217429: WebSocket over authenticating proxy fails to send Upgrade headers (P4) JDK-8225424: Add jdk.net.usePlainSocketImpl runs to a couple of tests (P4) JDK-8216417: cleanup of IPv6 scope-id handling (P4) JDK-8222527: HttpClient doesn't send HOST header when tunelling HTTP/1.1 through http proxy (P4) JDK-8216561: HttpClient: The logic of retry on connect exception is inverted (P4) JDK-8217311: Improve Exception thrown when MulticastSocket.setInterface fails on AIX(Unix) (P4) JDK-8225651: Missed the `@` in a couple of code tags of SocketImpl (P4) JDK-8216355: missing NULL checks in libnet in interface iteration and potential resource leak in getMacAddress (P4) JDK-8218882: NET_Writev is declared, NET_WriteV is defined (P4) JDK-8223638: Replace wildcard address with loopback or local host in tests - part 6 (P4) JDK-8224081: SOCKS v4 tests require IPv4 (P4) JDK-8221406: Windows 32bit build error in NetworkInterface_winXP.c core-libs/java.nio: (P3) JDK-8226203: (bf) MappedByteBuffer.force method may have no effect on implementation specific map modes (P3) JDK-8222440: (zipfs) JarFileSystem does not correctly handle versioned entries if no root entry is present (P3) JDK-8223597: (zipfs) jdk/nio/zipfs/ZipFSTester.java RuntimeException: CHECK_FAILED! (getAttribute.crc failed 6af4413c vs 0 ...) (P3) JDK-8222807: (zipfs) OutOfMemory on compiling with darcula.jar in classpath (P3) JDK-8222532: (zipfs) Performance regression when writing ZipFileSystem entries in parallel (P3) JDK-8211919: (zipfs) ZipDirectoryStream should provide a stream of paths that are relative to the directory (P3) JDK-8224645: Test java/nio/channels/DatagramChannel/BasicMulticastTests.java fails with NoSuchElementException (P4) JDK-8219597: (bf) Heap buffer state changes could provoke unexpected exceptions (P4) JDK-8224617: (fs) java/nio/file/FileStore/Basic.java found filesystem twice (P4) JDK-8215472: (zipfs) Cleanups in implementation classes of jdk.zipfs and tests core-libs/java.nio.charsets: (P3) JDK-8217880: AIX build issue after JDK-8214533 (P3) JDK-8214533: IBM-29626C is required for AIX default charset (P3) JDK-8220281: IBM-858 alias name is missing on IBM00858 charset core-libs/java.rmi: (P3) JDK-8217412: deprecate rmic for removal core-libs/java.sql: (P3) JDK-8225306: bad headings in java.sql.rowset SyncProvider.java (P3) JDK-8225322: Broken links in java.sql core-libs/java.text: (P2) JDK-8227127: Era designator not displayed correctly using the COMPAT provider (P3) JDK-8218948: SimpleDateFormat :: format - Zone Names are not reflected correctly during run time core-libs/java.time: (P3) JDK-8224560: (tz) Upgrade time-zone data to tzdata2019a (P3) JDK-8225580: tzdata2018i integration causes test failures on jdk-13 (P4) JDK-8223773: DateTimeFormatter Fails to throw an Exception on Invalid HOUR_OF_AMPM core-libs/java.util: (P3) JDK-8225094: Fix minor HTML issues in jdk.zipfs (P3) JDK-8220613: java/util/Arrays/TimSortStackSize2.java times out with fastdebug build (P4) JDK-8225397: Integer value miscalculation in toString() method of BitSet (P4) JDK-8224240: Properties.load fails to throw IAE on malformed unicode in certain circumstances (P4) JDK-8224202: Speed up Properties.load (P4) JDK-8217777: TEST_BUG: jdk/java/util/prefs/ExportSubtree.java passes even when test should fail core-libs/java.util.concurrent: (P3) JDK-8222930: ConcurrentSkipListMap.clone() shares size variable between original and clone (P3) JDK-8224698: ConcurrentSkipListMap.java does not compile with the Eclipse Java Compiler (P3) JDK-8221892: ThreadPoolExecutor: Thread.isAlive() is not equivalent to not being startable (P4) JDK-8221120: CopyOnWriteArrayList.set should always have volatile write semantics core-libs/java.util.jar: (P2) JDK-8225189: assert(!JavaThread::current()->in_critical()) failed: Would deadlock (P3) JDK-8216362: Better error message handling when there is an invalid Manifest (P3) JDK-8226592: Fix HTML in table for jdk.zipfs module-info core-libs/java.util.logging: (P4) JDK-8216363: NullPointerException in java.util.logging.Handler#isLoggable core-libs/java.util.regex: (P2) JDK-8225061: Performance regression in Regex (P4) JDK-8225179: (regex) Minor Pattern cleanup (P4) JDK-8225198: Optimize regex tree for greedy quantifiers of type {N,} (P4) JDK-8224789: Parsing repetition count in regex does not detect numeric overflow core-libs/java.util:collections: (P3) JDK-8227368: EnumSet.class serialization broken in JDK 9+ (P3) JDK-8221924: get(null) on single-entry unmodifiable Map returns null instead of throwing NPE (P4) JDK-8214687: Optimize Collections.nCopies().hashCode() and equals() core-libs/java.util:i18n: (P2) JDK-8174268: Declare a public field in JapaneseEra for the era starting May 2019 (P3) JDK-8226876: Assertion in sun/util/locale/provider/CalendarDataUtility on Windows after JDK-8218960 (P3) JDK-8219890: Calendar.getDisplayName() returns empty string for new Japanese Era on some locales (P3) JDK-8218960: CONFIG level logging statements printed in CLDRCalendarDataProviderImpl.java even when default log Level is INFO (P3) JDK-8220037: Inconsistencies of generated timezone files between Windows and Linux (P3) JDK-8218781: Localized names for Japanese Era Reiwa in COMPAT provider (P3) JDK-8217609: New era placeholder not recognized by java.text.SimpleDateFormat (P3) JDK-8205432: Replace the placeholder Japanese era name (P3) JDK-8226869: Test java/util/Locale/LocaleProvidersRun.java should enable assertions (P3) JDK-8222980: Upgrade IANA Language Subtag Registry to Version 2019-04-03 (P3) JDK-8217366: ZoneStrings are not populated for all the Locales (P4) JDK-8220227: Host Locale Provider getDisplayCountry returns error message under non-English Win10 (P4) JDK-8228971: Locale API doc has redundant hyphens for some parameters core-libs/javax.annotation.processing: (P3) JDK-8225077: fix references to broken link in java.compiler module core-libs/javax.lang.model: (P4) JDK-8224687: Add clarifying overrides of Element.asType to more specific subinterfaces core-libs/javax.naming: (P3) JDK-8225129: Fix minor HTML issues in java.naming (P3) JDK-8139965: Hang seen when using com.sun.jndi.ldap.search.replyQueueSize (P3) JDK-8214440: ldap over a TLS connection negotiate failed with "javax.net.ssl.SSLPeerUnverifiedException: hostname of the server '' does not match the hostname in the server's certificate" core-libs/jdk.nashorn: (P3) JDK-8227391: Update double-conversion to version 3.1.5 core-svc: (P3) JDK-8215411: some GetByteArrayElements calls miss corresponding Release (P4) JDK-8220579: [Containers] SubSystem.java out of sync with osContainer_linux.cpp core-svc/debugger: (P2) JDK-8226608: Hide the onjcmd option from the help output (P3) JDK-8226596: Accessibility errors in jdwp-protocol.html (P3) JDK-8224673: Adjust permission for delayed starting of debugging (P3) JDK-8225493: broken links in specs/jpda/architecture.html and specs/jpda/jpda.html (P3) JDK-8226593: Fix HTML in com/sun/jdi/doc-files/signature.html (P3) JDK-8225309: HTML issues in jdk.jdi module (P3) JDK-8214122: JDWP is broken on 32 bit Windows: transport library missing onLoad entry (P3) JDK-8225682: Reference to JNI spec on java.sun.com (P3) JDK-8222828: vmTestbase/nsk/jdi/BScenarios/multithrd/tc02x004/TestDescription.java failed (P4) JDK-8220451: jdi/EventQueue/remove/remove004 failed due to "ERROR: thread2 is not alive" (P4) JDK-8222741: jdi/EventQueue/remove/remove004 fails due to VMDisconnectedException (P4) JDK-8220456: jdi/EventQueue/remove_l/remove_l004 failed due to "TIMEOUT while waiting for event" (P4) JDK-8222529: sun.jdwp.listenerAddress agent property uses wrong encoding core-svc/java.lang.instrument: (P3) JDK-8225207: redundant

in Instrumentation.java (P4) JDK-8220355: Improve assertion texts and exception messages in eventHandlerVMInit (P4) JDK-8220474: Incorrect GPL header in src/java.instrument/share/classes/java/lang/instrument/package-info.java core-svc/java.lang.management: (P3) JDK-8220251: fix headings in java.management core-svc/javax.management: (P3) JDK-8225679: reference to http://java.sun.com/products/JavaManagement/download.html (P4) JDK-8221303: sun/management/jmxremote/bootstrap/JMXInterfaceBindingTest.java fails due to java.rmi.server.ExportException: Port already in use core-svc/tools: (P3) JDK-8225324: Bad HTML in jdk.jfr module-info.java (P3) JDK-8225543: Jcmd fails to attach to the Java process on Linux using the main class name if whitespace options were used to launch the process (P3) JDK-8221730: jcmd process name matching broken (P3) JDK-8220175: serviceability/dcmd/framework/VMVersionTest.java fails with a timeout (P4) JDK-8203026: java.rmi.NoSuchObjectException: no such object in table (P4) JDK-8222533: jtreg test jdk/internal/platform/cgroup/TestCgroupMetrics.java fails on SLES12.3 linux ppc64le machine docs/guides: (P3) JDK-8223311: Update use of "-Djava.security.debug=help" option globalization/locale-data: (P3) JDK-8206879: Currency decimal marker incorrect for Peru globalization/translation: (P3) JDK-8228778: JDK 13 L10n resource files update - msg drop 20 (P3) JDK-8227009: JDK 13 L10n resource files update - msgdrop 10 (P3) JDK-8228397: Missing license copyright header in some properties files (P4) JDK-8228623: Update copyright year to 2019 for several java properties file hotspot: (P2) JDK-8226515: AArch64: float point register corruption in ZBarrierSetAssembler::load_at (P2) JDK-8219583: Windows build failure after JDK-8214777 (Avoid some GCC 8.X strncpy() errors in HotSpot) (P4) JDK-8221479: [s390] Fix JFR profiling hotspot/compiler: (P1) JDK-8225202: Add missing include after JDK-8223320 (P1) JDK-8229219: C2 compilation fails with assert: Bad graph detected in build_loop_late (P2) JDK-8221514: [Graal] java/lang/String/CompactString/ tests fail with "GraalError: failed guarantee: no FrameState at DeoptimizingNode" in Graal -Xcomp mode (P2) JDK-8221083: [ppc64] Wrong oop compare in C1-generated code (P2) JDK-8224671: AArch64: mauve System.arraycopy test failure (P2) JDK-8215792: AArch64: String.indexOf generates incorrect result (P2) JDK-8224648: assert(!exceeding_node_budget()) failed: Too many NODES required! failure with ctw (P2) JDK-8223363: Bad node estimate assertion failure (P2) JDK-8218721: C1's CEE optimization produces safepoint poll with invalid debug information (P2) JDK-8217990: C2 UseOptoBiasInlining: load of markword optimized to 0 if running with -XX:-EliminateLocks (P2) JDK-8087128: C2: Disallow definition split on MachCopySpill nodes (P2) JDK-8217760: C2: Missing symbolic info on a call from intrinsics when invoked through MethodHandle (P2) JDK-8202952: C2: Unexpected dead nodes after matching (P2) JDK-8220341: Class redefinition fails with assert(!is_unloaded()) failed: unloaded method on the stack (P2) JDK-8224234: compiler/codegen/TestCharVect2.java fails in test_mulc (P2) JDK-8228710: Disable AggressiveUnboxing until JDK-8224957 is fixed (P2) JDK-8224931: disable JAOTC invokedynamic support until 8223533 is fixed (P2) JDK-8224558: Fix replicateB encoding (P2) JDK-8219687: G1 asserts nmethod should not be unloaded during parallel code cache unloading (P2) JDK-8227034: Graal crash with gcbasher (P2) JDK-8211100: hotspot C1 issue with comparing long numbers on x86 32-bit (P2) JDK-8227260: JNI upcalls should bypass class initialization barrier in c2i adapter (P2) JDK-8225475: Node budget asserts on x86_32/64 (P2) JDK-8228618: s390: c1/c2 fail to add a metadata relocation in the static call stub. (P2) JDK-8217874: Shenandoah: AArch64: Clobbered register in ShenandoahBarrierSetAssembler::cmpxchg_oop() (P2) JDK-8219448: split-if update_uses accesses stale idom data (P2) JDK-8223537: testlibrary_tests/ctw/ClassesListTest.java fails with Agent timeout frequently (P2) JDK-8227222: vmTestbase/jit/FloatingPoint/gen_math/Loops04/Loops04.java hits assert(((!attributes->uses_vl()) || (attributes->get_vector_len() == AVX_512bit) || (!_legacy_mode_vl) || (attributes->is_legacy_mode()))) failed: XMM register should be 0-15 (P2) JDK-8227407: ZGC: C2 loads and load barriers can get separated by safepoints (P3) JDK-8219335: "failed: unexpected type" assert failure in ConnectionGraph::split_unique_types() with unsafe accesses (P3) JDK-8225064: [Graal] Application SEGV in G1ParScanThreadState::copy_to_survivor_space(G1HeapRegionAttr, oopDesc*, markOopDesc*)+0x48 (P3) JDK-8221577: [Graal] Implement basic type consistency checks for Low level MH intrinsics (P3) JDK-8221782: [Graal] Module jdk.internal.vm.compiler.management has not been granted accessClassInPackage.jdk.vm.ci.services (P3) JDK-8226778: [JVMCI] Handle unpacking properly in Deoptimiziation::get_cached_box() (P3) JDK-8226566: [JVMCI] java.* classes are no longer necessarily resolved by the boot class loader (P3) JDK-8216350: AArch64: monitor unlock fast path not called (P3) JDK-8218966: AArch64: String.compareTo() can read memory after string (P3) JDK-8163511: Allocation of compile task fails with assert: "Leaking compilation tasks?" (P3) JDK-8219517: assert(false) failed: infinite loop in PhaseIterGVN::optimize (P3) JDK-8224162: assert(profile.count() == 0) failed: sanity in InlineTree::is_not_reached (P3) JDK-8226627: assert(t->singleton()) failed: must be a constant (P3) JDK-8225141: Better handling of classes in error state by fast class initialization checks (P3) JDK-8220714: C2 Compilation failure when accessing off-heap memory using Unsafe (P3) JDK-8219807: C2 crash in IfNode::up_one_dom(Node*, bool) (P3) JDK-8218163: C2: Continuous deoptimization w/ Reason_speculate_class_check and Action_none (P3) JDK-8220374: C2: LoopStripMining doesn't strip as expected (P3) JDK-8188133: C2: Static field accesses in clinit can trigger deoptimizations (P3) JDK-8223216: C2: Unify class initialization checks between new, getstatic, and putstatic (P3) JDK-8225106: Class initialization checks assert when holder klass is in error state (P3) JDK-8225509: clean_catch_blocks must add preds first (P3) JDK-8224254: compiler/graalunit/HotspotJdk9Test.java is timing out intermittently (P3) JDK-8218201: Failures when vmIntrinsics::_getClass is not inlined (P3) JDK-8217564: idempotent protection missing in crc32c.h (P3) JDK-8224826: Implement fast class initialization checks on PPC64 (P3) JDK-8224827: Implement fast class initialization checks on s390 (P3) JDK-8223213: Implement fast class initialization checks on x86-64 (P3) JDK-8217371: Incorrect LP64 guard in x86.ad after JDK-8210764 (Update avx512 implementation) (P3) JDK-8228340: JVMCI deleteGlobalHandle doesn't delete the handle (P3) JDK-8226533: JVMCI: findUniqueConcreteMethod should handle statically bindable methods directly (P3) JDK-8223050: JVMCI: findUniqueConcreteMethod() should not use Dependencies::find_unique_concrete_method() for non-virtual methods (P3) JDK-8223796: JVMCIEnv::get_jvmci_type does not keep klasses alive (P3) JDK-8218468: Load barrier slow path node should be MachTypeNode (P3) JDK-8224538: LoadBarrierNode::common_barrier must check address (P3) JDK-8220198: Lots of com/sun/crypto/provider/Cipher tests fail on x86_32 due to missing SHA512 stubs (P3) JDK-8226287: Make process_users_of_allocation handle gc barriers (P3) JDK-8224580: Matcher can cause oop field/array element to be reloaded (P3) JDK-8224674: NMethod state machine is not monotonic (P3) JDK-8218776: no man page for jaotc (P3) JDK-8223502: Node estimate for loop unswitching is not correct: assert(delta <= 2 * required) failed: Bad node estimate (P3) JDK-8215483: Off heap memory accesses should be vectorized (P3) JDK-8222670: pathological case of JIT recompilation and code cache bloat (P3) JDK-8219582: PPC: Crash after C1 checkcast patched and GC (P3) JDK-8209951: Problematic sparc intrinsic: com.sun.crypto.provider.CipherBlockChaining (P3) JDK-8076988: reevaluate trivial method policy (P3) JDK-8225564: Remove wrong assert in clean_catch_blocks (P3) JDK-8224496: Shenandoah compilation fails with assert(is_CountedLoopEnd()) failed: invalid node class (P3) JDK-8224658: Unsafe access C2 compile fails with assert(flat != TypePtr::BOTTOM) failed: cannot alias-analyze an untyped ptr: adr_type = NULL (P3) JDK-8202414: Unsafe write after primitive array creation may result in array length change (P3) JDK-8226198: use of & instead of && in LibraryCallKit::arraycopy_restore_alloc_state (P3) JDK-8222032: x86_32 fails with "wrong size of mach node" on AVX-512 machine (P4) JDK-8225199: [Graal] compiler/jvmci/compilerToVM/IsMatureVsReprofileTest.java fails with -XX:CompileThresholdScaling=0.1 (P4) JDK-8209626: [JVMCI] Use implicit exception table for dispatch and printing (P4) JDK-8217459: [PPC64] Cleanup non-vector version of CRC32 (P4) JDK-8224090: [PPC64] Fix SLP patterns for filling an array with double float literals (P4) JDK-8216060: [PPC64] Vector CRC implementation should be used by interpreter and be faster for short arrays (P4) JDK-8173196: [REDO] C2 does not optimize redundant memory operations with G1 (P4) JDK-8222785: aarch64: add necessary masking for immediate shift counts (P4) JDK-8221658: aarch64: add necessary predicate for ubfx patterns (P4) JDK-8217368: AArch64: C2 recursive stack locking optimisation not triggered (P4) JDK-8219993: AArch64: Compiled CI stubs are unsafely modified (P4) JDK-8224880: AArch64: java/javac error with AllocatePrefetchDistance (P4) JDK-8222412: AARCH64: multiple instructions encoding issues (P4) JDK-8221995: AARCH64: problems with CAS instructions encoding (P4) JDK-8219006: AArch64: Register corruption in slow subtype check (P4) JDK-8214352: C1: Unnecessary "compilation bailout: block join failed" with JVMTI (P4) JDK-8059241: C2: Excessive RemoveUseless passes during incremental inlining (P4) JDK-8216154: C4819 warnings at HotSpot sources on Windows (P4) JDK-8216989: CardTableBarrierSetAssembler::gen_write_ref_array_post_barrier() does not check for zero length on AARCH64 (P4) JDK-8216987: ciMethodData::load_data() unpacks MDOs with non-atomic copy (P4) JDK-8220420: Cleanup c1_LinearScan (P4) JDK-8226646: CTW of SPECjvm2008 hangs on windows-x64-debug (P4) JDK-8217447: Develop flag TraceICs is broken (P4) JDK-8222074: Enhance auto vectorization for x86 (P4) JDK-8227112: exclude compiler/intrinsics/sha/sanity tests from AOT runs (P4) JDK-8225110: IGV build definition uses non-secure transport (P4) JDK-8219011: Implement MacroAssembler::warn method on AArch64 (P4) JDK-8223504: improve performance of forall loops by better inlining of "iterator()" methods. (P4) JDK-8221482: Initialize VMRegImpl::regName[] earlier to prevent assert during PrintStubCode (P4) JDK-8218879: Keep track of memory accesses originated from Unsafe (P4) JDK-8224675: Late GC barrier insertion for ZGC (P4) JDK-8216199: Local variable arg defined but never used in BCEscapeAnalyzer::compute_escape_for_intrinsic() (P4) JDK-8215551: Missing case label in nmethod::reloc_string_for() (P4) JDK-8221456: nmethod::make_unloaded() clears _method member too early (P4) JDK-8225429: Regression in disassembly quality (P4) JDK-8216375: Revert JDK-8145579 after JDK-8076988 is resolved (P4) JDK-8219919: RuntimeStub's name lost with PrintFrameConverterAssembly (P4) JDK-8218991: s390: Add intrinsic for GHASH algorithm (P4) JDK-8216556: Unnecessary liveness computation with JVMTI (P4) JDK-8226905: unproblem list applications/ctw/modules/* tests on windows (P4) JDK-8225019: Update JVMCI (P4) JDK-8225450: use @file in CtwRunner (P4) JDK-8222371: Use UL for TraceNMethodInstalls code (P4) JDK-8225567: Wrong file headers with 8202414 fix changeset (P4) JDK-8222397: x86_32 tests with UseSHA1Intrinsics SEGV due to garbled registers (P5) JDK-8219214: Infinite Loop in CodeSection::dump() hotspot/gc: (P1) JDK-8225104: 32-bit build failures after JDK-8222252 (P1) JDK-8218060: JDK-8217786 breaks build due to remaining unused function (P1) JDK-8218063: JDK-8218060 breaks build for S390 (P1) JDK-8223767: Shenandoah fails to build on Solaris x86_64 (P1) JDK-8223570: Shenandoah needs to acquire lock before CLDG::clear_claimed_marks (P1) JDK-8224875: Shenandoah: ParallelCleaning code unloading should take lock to protect shared code roots array (P2) JDK-8224247: AllocateOldGenAt fires assertion failure (P2) JDK-8223651: Build fails with --with-jvm-features=-jfr and --disable-precompiled-headers (P2) JDK-8225716: G1 GC: Undefined behaviour in G1BlockOffsetTablePart::block_at_or_preceding (P2) JDK-8225418: G1: region attribute remembered set state disagrees with actual remembered set state (P2) JDK-8217794: Missing termination check results violation of termination invariant (P2) JDK-8224531: SEGV while collecting Klass statistics (P2) JDK-8222838: Shenandoah: SEGV on accessing cset bitmap for NULL ptr (P2) JDK-8224881: Shenandoah: trashing "Collection Set, Pinned" region during Degenerated GC (P2) JDK-8227083: ZGC: C2: Generates on_weak barrier for WeakCompareAndSwap (P2) JDK-8225770: ZGC: C2: Generates on_weak instead of on_strong barriers (P2) JDK-8225642: ZGC: Crash due to bad oops being spilled to stack in load barriers (P2) JDK-8227175: ZGC: ZHeapIterator visits potentially dead objects (P3) JDK-8214527: AArch64: ZGC for Aarch64 (P3) JDK-8220344: Build failures when using --with-jvm-features=-g1gc,-jfr (P3) JDK-8222086: CodeCache::UnloadingScope needs to preserve and restore previous IsUnloadingBehavior (P3) JDK-8226366: Excessive ServiceThread wakeups for OopStorage cleanup (P3) JDK-8218880: G1 crashes when issuing a periodic GC while the GCLocker is held (P3) JDK-8222252: Java ergonomics limits heap to 128GB with disabled compressed oops (P3) JDK-8212630: jtreg/gc/logging/TestMetaSpaceLog.java failed with Agent timed out (P3) JDK-8225014: Separate ShenandoahRootScanner method for object_iterate (P3) JDK-8223446: Shenandoah breaks alignment with some HumongousThreshold values (P3) JDK-8220161: Shenandoah does not need to initialize PLABs for safepoint workers (P3) JDK-8220153: Shenandoah does not work with TransparentHugePages properly (P3) JDK-8219524: Shenandoah misreports "committed" size in MemoryMXBean (P3) JDK-8220162: Shenandoah should not commit HugeTLBFS memory (P3) JDK-8222186: Shenandoah should not uncommit below minimum heap size (P3) JDK-8225048: Shenandoah x86_32 support (P3) JDK-8222125: Shenandoah: Crash when running with ShenandoahParallelSafepointThreads=1 (P3) JDK-8224584: Shenandoah: Eliminate forwarding pointer word (P3) JDK-8223980: Shenandoah: Refactor and fix ObjArrayChunkedTask verification (P3) JDK-8225229: Shenandoah: trim down default number of GC threads (P3) JDK-8226302: Test failures on IBM platforms (power and s/390) after JDK-8223837 (P4) JDK-8222145: Add -XX:SoftMaxHeapSize flag (P4) JDK-8221913: Add GC.selected() jtreg-ext function (P4) JDK-8223392: Add missing BitMap comments for JDK-8222986 (P4) JDK-8217342: Build failed with excluding JFR (P4) JDK-8217576: C1 atomic access handlers use incorrect decorators (P4) JDK-8217319: Cleanup Shenandoah includes (P4) JDK-8225441: Cleanup ShenandoahHeap::atomic_compare_exchange_oop (P4) JDK-8217014: Epsilon should not ignore Metadata GC causes (P4) JDK-8223244: Fix usage of ARRAYCOPY_DISJOINT decorator (P4) JDK-8219976: GarbageCollectionNotificationInfo always says "No GC" when running Shenandoah (P4) JDK-8223162: Improve ergonomics for Sparse PRT entry sizing (P4) JDK-8220228: Improve Shenandoah pacing histogram message (P4) JDK-8225478: Make G1CMRootRegions independent of HeapRegions (P4) JDK-8217432: MetaspaceGC::_capacity_until_GC exceeds MaxMetaspaceSize (P4) JDK-8217400: Optimized build is broken by Shenandoah changes (P4) JDK-8217785: Padding ParallelTaskTerminator::_offered_termination variable (P4) JDK-8222843: Print Shenandoah cset map addresses in hs_err (P4) JDK-8224187: Refactor arraycopy_prologue to allow ZGC read barriers on arraycopy (P4) JDK-8220350: Refactor ShenandoahHeap::initialize (P4) JDK-8218192: Remove copy constructor for MemRegion (P4) JDK-8215299: Remove G1CMTask::should_exit_termination()'s undesirable side-effect (P4) JDK-8225171: Remove leftovers in shenandoahBarrierSetC1.cpp (P4) JDK-8225357: Rewire ShenandoahHeap::maybe_update_with_forwarded for contending fixups (P4) JDK-8217343: Shenandoah control thread should be able to run at critical priority (P4) JDK-8215549: Shenandoah deduplication cleans up table/queue twice (P4) JDK-8221735: Shenandoah fails ctw/modules/jdk_management_agent.java with Traversal (P4) JDK-8219857: Shenandoah GC may initialize thread's gclab twice (P4) JDK-8225046: Shenandoah metrics logs refactoring (P4) JDK-8220546: Shenandoah Reports timing details for weak root processing (P4) JDK-8223759: Shenandoah should allow arbitrarily low initial heap size (P4) JDK-8221278: Shenandoah should not enqueue string dedup candidates during root scan (P4) JDK-8222185: Shenandoah should report "committed" as capacity (P4) JDK-8220444: Shenandoah should use parallel version of WeakProcessor in root processor for weak roots (P4) JDK-8222130: Shenandoah should verify roots after pre-evacuation (P4) JDK-8224978: Shenandoah: Allows root verifier to verify some roots outside safepoints with proper locks (P4) JDK-8225341: Shenandoah: CM::update_thread_roots() needs to handle derived pointers (P4) JDK-8216973: Shenandoah: Kick up cleanup phases in the right places (P4) JDK-8222425: Shenandoah: Move commonly used closures to separate files (P4) JDK-8225572: Shenandoah: Move JNIHandles root out of serial roots (P4) JDK-8223762: Shenandoah: overflows in calculations involving heap capacity (P4) JDK-8222403: Shenandoah: Remove ShenandoahAlwaysTrueClosure, use AlwaysTrueClosure instead (P4) JDK-8224932: Shenandoah: Rename ShenandoahHeapLock, make it general purpose lock (P4) JDK-8203232: Shenandoah: Resolve oops in SATB filter (P4) JDK-8225514: Shenandoah: ShenandoahCodeRoots should inherit from AllStatic (P4) JDK-8217016: Shenandoah: Streamline generation of CAS barriers (P4) JDK-8225342: Shenandoah: use COMPILER2_OR_JVMCI macro consistently (P4) JDK-8220780: ShenandoahBS::AccessBarrier::oop_store_in_heap ignores AS_NO_KEEPALIVE (P4) JDK-8224970: ShenandoahRootScanner::roots_do assert is too strong (P4) JDK-8217213: shenandoahTaskQueue.hpp includes .inline.hpp file (P4) JDK-8220664: Simplify ShenandoahUpdateHeapRefsClosure (P4) JDK-8215047: Task terminators do not complete termination in consistent state (P4) JDK-8220294: ZGC fails to build on GCC 4.4.7: Type parameter issue (P4) JDK-8225340: ZGC: Add logging of High Usage rule (P4) JDK-8225227: ZGC: Be exact in what load barrier to use in ZHeapIterator (P4) JDK-8224966: ZGC: Don't skip oop verification in OopMapSet::all_do() (P4) JDK-8222467: ZGC: Log min/max/softmax capacity (P4) JDK-8224965: ZGC: Strengthen ZHeap::is_in() (P4) JDK-8224962: ZGC: Strengthen ZHeap::is_oop() (P4) JDK-8222182: ZGC: Use SoftMaxHeapSize to guide GC heuristics (P5) JDK-8223693: Memory wastage in size of per-region type buffers in GC hotspot/jfr: (P2) JDK-8220293: Deadlock in JFR string pool (P2) JDK-8225310: JFR crashed in JfrPeriodicEventSet::requestProtectionDomainCacheTableStatistics() (P2) JDK-8225706: JFR RootResolver resets CLD claims with no restore (P2) JDK-8227605: Kitchensink fails "assert((((klass)->trace_id() & (JfrTraceIdEpoch::leakp_in_use_this_epoch_bit())) != 0)) failed: invariant" (P2) JDK-8228834: Regression caused by JDK-8214542 not installing complete checkpoint data to candidates (P2) JDK-8227011: Starting a JFR recording in response to JVMTI VMInit and / or Java agent premain corrupts memory (P3) JDK-8216064: -XX:StartFlightRecording:settings= doesn't work properly (P3) JDK-8216283: Allow shorter method sampling interval than 10 ms (P3) JDK-8221569: JFR tool produces incorrect output when both --categories and --events are specified (P3) JDK-8220657: JFR.dump does not work when filename is set (P3) JDK-8217089: JFR: Lazy install os interface components for improved startup (P3) JDK-8214542: JFR: Old Object Sample event slow on a deep heap in debug builds (P3) JDK-8217647: JFR: recordings on 32-bit systems unreadable (P3) JDK-8224217: RecordingInfo should use textual representation of path (P3) JDK-8225004: Remove invalid assertion in jfr_conditional_flush() (P3) JDK-8215727: Restore JFR thread sampler loop to old / previous behavior (P3) JDK-8221632: Several corrections to java FlightRecorderOptions section (P3) JDK-8215771: The jfr tool should pretty print reference chains (P4) JDK-8223438: add VirtualizationInformation JFR event (P4) JDK-8216995: Clean up JFR command line processing (P4) JDK-8224139: Deprecate -XX:FlightRecorder option (P4) JDK-8217362: Emergency dump does not work when disk=false is set (P4) JDK-8219566: JFR did not collect call stacks when MaxJavaStackTraceDepth is set to zero (P4) JDK-8219205: JFR file without license header (P4) JDK-8220555: JFR tool shows potentially misleading message when it cannot access a file (P4) JDK-8218935: Make jfr strncpy uses GCC 8.x friendly (P4) JDK-8216486: Possibility of integer overflow in JfrThreadSampler::run() (P4) JDK-8216578: Remove unused/obsolete method in JFR code hotspot/jvmti: (P2) JDK-8215951: AArch64: jtreg test vmTestbase/nsk/jvmti/PopFrame/popframe005 segfaults (P3) JDK-8217348: assert(thread->is_Java_thread()) failed: just checking (P3) JDK-8227277: HeapInspection::find_instances_at_safepoint walks dead objects (P3) JDK-8224555: vmTestbase/nsk/jvmti/scenarios/contention/TC02/tc02t001/TestDescription.java failed (P4) JDK-8223718: Checks in check_slot_type_no_lvt() should be always executed (P4) JDK-8223177: Data race on JvmtiEnvBase::_tag_map in double-checked locking (P4) JDK-8222072: JVMTI GenerateEvents() sends CompiledMethodLoad events to wrong jvmtiEnv (P4) JDK-8205126: JVMTI spec incorrectly states that PopFrame cannot be called on the current thread (P4) JDK-8223736: jvmti/scenarios/contention/TC04/tc04t001/TestDescription.java fails due to wrong number of MonitorContendedEntered events (P4) JDK-8226595: jvmti/scenarios/contention/TC04/tc04t001/TestDescription.java still fails due to wrong number of MonitorContendedEntered events (P4) JDK-8223227: Rename acquire_tag_map() to tag_map_acquire() in jvmtiEnvBase hotspot/runtime: (P1) JDK-8224033: os::snprintf should be used in virtualizationSupport.cpp (P2) JDK-8221725: AArch64 build failures after JDK-8221408 (Windows 32bit build build errors/warnings in hotspot) (P2) JDK-8228601: AArch64: Fix interpreter code at JVMCI deoptimization entry (P2) JDK-8223437: Backout JDK-8219974 Restore static callsite resolution for the current class (P2) JDK-8225789: Empty method parameter type should generate ClassFormatError (P2) JDK-8217765: Internal Error (javaCalls.cpp:61) guarantee(thread->can_call_java()) failed (P2) JDK-8228407: JVM crashes with shared archive file mismatch (P2) JDK-8228764: New library dependencies due to JDK-8222720 (P2) JDK-8227117: normal interpreter table is not restored after single stepping with TLH (P2) JDK-8219974: REDO JDK-8219492: Restore static callsite resolution for the current class (P2) JDK-8224952: RI deviates from JVMS - non-zero minor_version for class files throws UnsupportedClassVersionError. (P2) JDK-8224795: some runtime/SelectionResolution tests are timing out (P2) JDK-8224151: Test vmTestbase/nsk/sysdict/vm/stress/chain/chain007/chain007.java might hang with release binaries (P2) JDK-8213231: ThreadSnapshot::_threadObj can become stale (P3) JDK-8215699: -Xlog::file cannot be used with named pipe (P3) JDK-8226699: [BACKOUT] JDK-8221734 Deoptimize with handshakes (P3) JDK-8216559: [JFR] Native libraries not correctly parsed from /proc/self/maps (P3) JDK-8220441: [PPC64] Clobber memory effect missing for memory barriers in atomics (P3) JDK-8206107: [x86_32] jck tests for ldc2_w bytecode fail (P3) JDK-8224221: add memprotect calls to event log (P3) JDK-8221535: add steal tick related information to hs_error file [linux] (P3) JDK-8220173: assert(_handle_mark_nesting > 1) failed: memory leak: allocating handle outside HandleMark (P3) JDK-8221437: assert(java_lang_invoke_ResolvedMethodName::vmtarget(resolved_method()) == m()) failed: Should not change after link resolution (P3) JDK-8225217: Backout: JDK-8224814: Remove dead JNIHandleBlock freelist code (P3) JDK-8220394: bufferedStream does not honor size limit (P3) JDK-8219712: code_size2 (defined in stub_routines_x86.hpp) is too small on new Skylake CPUs (P3) JDK-8216970: condy causes JVM crash (P3) JDK-8226525: HotSpot compile-time error for x86-32 (P3) JDK-8218851: JVM crash in custom classloader stress test, JDK 12 & 13 (P3) JDK-8210457: JVM crash in ResolvedMethodTable::add_method(Handle) (P3) JDK-8226406: JVM fails to detect mismatched or corrupt CDS archive (P3) JDK-8222936: mlvm/anonloader/stress/randomBytecodes/Test.java fails due to "ERROR: There were 1 hangups during parsing." (P3) JDK-8214162: Need to add new flag ExtensiveErrorReports to the command-line flags section in the java command reference (P3) JDK-8200109: NMT: diff_malloc_site assert(early->flags() == current->flags(), "Must be the same memory type") (P3) JDK-8214975: No hs-err file if fatal error is raised during dynamic initialization. (P3) JDK-8222387: Out-of-bounds access to CPU _family_id_xxx array (P3) JDK-8219241: Provide basic virtualization related info in the hs_error file on linux/windows x86_64 (P3) JDK-8222720: Provide extended VMWare/vSphere virtualization related info in the hs_error file on linux/windows x86_64 (P3) JDK-8222280: Provide virtualization related info in the hs_error file on AIX (P3) JDK-8219746: Provide virtualization related info in the hs_error file on linux ppc64 / ppc64le (P3) JDK-8217786: Provide virtualization related info in the hs_error file on linux s390x (P3) JDK-8224497: Remove FIXME in metaspaceClosure.cpp (P3) JDK-8224692: runtime/appcds tests crash in "HotSpotJVMCI::compute_offset" when running in Graal as JIT mode (P3) JDK-8225702: Safepoint counter can't be used for safepoint detection (P3) JDK-8224193: stringStream should not use Resource Area (P3) JDK-8216049: stringTable::intern creates redundant String when looking up existing one (P3) JDK-8215962: Support ThreadPriorityPolicy mode 1 for non-root users on linux/bsd (P3) JDK-8227496: Update NUM_CDS_REGIONS and CURRENT_CDS_ARCHIVE_VERSION in cds.h (P3) JDK-8223472: volatile long field corruption on x86_32 (P3) JDK-8223572: ~ThreadInVMForHandshake() should call handle_special_runtime_exit_condition() (P4) JDK-8218156: "jcmd VM.metaspace basic" misreports free chunk space (P4) JDK-8215398: -Xlog option usage => Invalid decorator '\temp\app_cds.log'. (P4) JDK-8217338: [Containers] Improve systemd slice memory limit support (P4) JDK-8221639: [i386] expand_exec_shield_cs_limit workaround is undefined code after JDK-8199717 (P4) JDK-8170639: [Linux] jsig is limited to a maximum of 64 signals (P4) JDK-8215707: [macosx] fix pthread_getschedparam and pthread_setschedparam calls (P4) JDK-8221539: [metaspace] Improve MetaspaceObj::is_metaspace_obj() and friends (P4) JDK-8223249: [s390] Cleanup TemplateInterpreterGenerator::generate_fixed_frame (P4) JDK-8225347: [s390] Unexpected exit from stack overflow test (P4) JDK-8225178: [Solaris] os::signal() should call sigaction() with SA_SIGINFO (P4) JDK-8221220: AArch64: Add StoreStore membar explicitly for Volatile Writes in TemplateTable (P4) JDK-8219635: aarch64: missing LoadStore barrier in TemplateTable::fast_storefield (P4) JDK-8218185: aarch64: missing LoadStore barrier in TemplateTable::putfield_or_static (P4) JDK-8224828: aarch64: rflags is not correct after safepoint poll (P4) JDK-8219698: aarch64: SIGILL triggered when specifying unsupported hardware features (P4) JDK-8221325: Add information about swap space to print_memory_info() on MacOS (P4) JDK-8223574: add more thread-related system settings info to hs_error file on AIX (P4) JDK-8224958: add os::dll_load calls to event log (P4) JDK-8220570: Additional trace when native thread creation fails (P4) JDK-8214235: arm32: assertion in collectedHeap.cpp: attempt to clean empty array (P4) JDK-8223336: Assert in VirtualMemoryTracker::remove_released_region when running the SharedArchiveConsistency.java test with -XX:NativeMemoryTracking=detail (P4) JDK-8216982: Assertion poison page established too early (P4) JDK-8220690: ATTRIBUTE_ALIGNED requires GNU extensions enabled (P4) JDK-8214777: Avoid some GCC 8.X strncpy() errors in HotSpot (P4) JDK-8224853: CDS address sanitizer errors (P4) JDK-8217766: Container Support doesn't work for some Join Controllers combinations (P4) JDK-8220786: Create new switch to redirect error reporting output to stdout or stderr (P4) JDK-8225016: Dead code due to VMOperationQueue::add() always returning true (P4) JDK-8224750: Display thread once in Internal exceptions event log lines (P4) JDK-8204551: Event descriptions are truncated in logs (P4) JDK-8225402: events logging in deoptimization.cpp should go to deopt-log (P4) JDK-8221175: Fix bad function case for controlled JVM crash on PPC64 big-endian (P4) JDK-8217879: hs_err should print more instructions in hex dump (P4) JDK-8218581: Incorrect exception message generation (P4) JDK-8225453: is_busy diagnostics and other baseline cleanups from Async Monitor Deflation project (P4) JDK-8221480: jcmd VM.metaspace shall print limits in basic mode (P4) JDK-8228585: jdk/internal/platform/cgroup/TestCgroupMetrics.java - NumberFormatException because of large long values (memory limit_in_bytes) (P4) JDK-8215961: jdk/jfr/event/os/TestCPUInformation.java fails on AArch64 (P4) JDK-8219562: Line of code in osContainer_linux.cpp#L102 appears unreachable (P4) JDK-8220781: linux-s390 : os::get_summary_cpu_info gives bad output (P4) JDK-8219574: Minimal VM build failure after JDK-8219414 (P4) JDK-8219112: name_and_sig_as_C_string usages in frame_s390 miss ResourceMark (P4) JDK-8214180: Need better granularity for sleeping (P4) JDK-8218558: NMT stack traces in output should show mt component for virtual memory allocations (P4) JDK-8219244: NMT: Change ThreadSafepointState's allocation type from mtInternal to mtThread (P4) JDK-8218566: NMT: missing memory tag for assert poison page (P4) JDK-8219370: NMT: Move synchronization primitives from mtInternal to mtSynchronizer (P4) JDK-8224871: os::attempt_reserve_memory_at() tries too hard (P4) JDK-8224793: os::die() does not honor CreateCoredumpOnCrash option (P4) JDK-8217994: os::print_hex_dump should be more resilient against unreadable memory (P4) JDK-8224487: outputStream should not be copyable (P4) JDK-8220794: PPC64: Fix signal handler for SIGSEGV on branch to illegal address (P4) JDK-8223395: PPC64: Improve comments in the JVM signal handler to match ISA text (P4) JDK-8219460: ppc: adjust NativeGeneralJump::insert_unconditional to stack allocated MacroAssembler (P4) JDK-8214707: Prevent GCC 8 from reporting error in ClassLoader::file_name_for_class_name() (P4) JDK-8221470: Print methods in exception messages in java-like Syntax. (P4) JDK-8217315: Proper units should print more significant digits (P4) JDK-8224816: Provide os::processor_id() implementation for Mac OS (P4) JDK-8221833: Readability check in Symbol::is_valid not performed for some addresses (P4) JDK-8224814: Remove dead JNIHandleBlock freelist code (P4) JDK-8224790: Remove Xusage.txt file (P4) JDK-8218811: replace open by os::open in hotspot coding (P4) JDK-8188872: runtime/ErrorHandling/TimeoutInErrorHandlingTest.java fails intermittently (P4) JDK-8227041: runtime/memory/RunUnitTestsConcurrently.java has a memory leak (P4) JDK-8228650: runtime/SharedArchiveFile/CheckDefaultArchiveFile.java test fails on AIX (P4) JDK-8222015: Small VM.metaspace improvements (P4) JDK-8216302: StackTraceElement::fill_in can use cached Class.name (P4) JDK-8216308: StackTraceElement::fill_in can use injected Class source-file (P4) JDK-8225225: stringStream internal buffer should always be zero terminated (P4) JDK-8219584: Try to dump error file by thread which causes safepoint timeout (P4) JDK-8224763: Update man pages to show deprecation of -Xverify:none (P4) JDK-8223231: Update manpage with new semantics of ErrorFile option (P4) JDK-8216426: Usage of array placement new may lead to memory corruption (P4) JDK-8217378: UseCriticalCMSThreadPriority is broken (P4) JDK-8217628: Verbose ArrayIndexOutOfBoundsException message also in JNI calls. (P4) JDK-8193234: When using -Xcheck:jni an internally allocated buffer can leak (P4) JDK-8221408: Windows 32bit build build errors/warnings in hotspot (P4) JDK-8220283: ZGC fails to build on GCC 4.4.7: ATTRIBUTE_ALIGNED compatibility issue hotspot/svc: (P3) JDK-8224796: C code is not compiled correctly due to undefined "i386" (P4) JDK-8224230: [PPC64, s390] Support AsyncGetCallTrace (P4) JDK-8221915: cleanup ticks related coding in os_perf_aix.cpp [aix] (P4) JDK-8221532: Incorrect copyright header in FileSystemSupport_md.c (P4) JDK-8224600: Provide VM.events command (P4) JDK-8225388: Running jcmd Compiler.CodeHeap_Analytics all 0 cause crash. (P4) JDK-8205654: serviceability/dcmd/framework/HelpTest.java timed out (P4) JDK-8225348: serviceability/dcmd/vm/EventsTest.java failed (P4) JDK-8228658: test GetTotalSafepointTime.java fails on fast Linux machines with Total safepoint time 0 ms hotspot/svc-agent: (P2) JDK-8225801: Shenandoah: Adjust SA to reflect recent forwarding pointer changes (P3) JDK-8220682: Heap dumping and inspection fails with JDK-8214712 (P4) JDK-8209413: AArch64: NPE in clhsdb jstack command (P4) JDK-8163805: hotspot/test/serviceability/sa/sadebugd/SADebugDTest.java failed with timed out (P4) JDK-8218733: SA: CollectedHeap provides broken implementation for used() and capacity() (P4) JDK-8223665: SA: debugd options should follow jhsdb style (P4) JDK-8223814: SA: jhsdb common help needs to be more detailed (P4) JDK-8219414: SA: jhsdb jsnap throws UnmappedAddressException with core generated by gcore (P4) JDK-8221917: serviceability/sa/TestPrintMdo.java fails on 32-bit platforms (P4) JDK-8203364: Some serviceability/sa/ tests intermittently fail with java.io.IOException: LingeredApp terminated with non-zero exit code 3 hotspot/test: (P3) JDK-8158048: Fix failure message from jtreg gtest wrapper (P3) JDK-8224945: googlemock update breaks the build of arm32 and ppc (P4) JDK-8209917: fix TODO in GatherDiagnosticInfoObserver (P4) JDK-8209807: improve handling exception in requires.VMProps (P4) JDK-8219149: ProcessTools.ProcessBuilder should print timing info for subprocesses (P4) JDK-8217520: Remove vm.opt.MaxGCPauseMillis == "null" from TestOldGenCollectionUsage.java (P4) JDK-8222154: upgrade gtest to 1.8.1 infrastructure: (P3) JDK-8225134: Update man-page files (P4) JDK-8227247: tools/sjavac/IdleShutdown.java fails with AssertionError: Error too big on windows infrastructure/build: (P2) JDK-8217613: [AOT] TEST_OPTS_AOT_MODULES doesn't work on mac (P2) JDK-8222913: Add Jib support for VERSION_EXTRA* (P2) JDK-8225066: Add missing file (P2) JDK-8222264: Windows incremental build is broken with JDK-8217728 (P3) JDK-8226404: bootcycle build uses wrong CDS archive (P3) JDK-8225140: Build fails if directory contains 'unix' (P3) JDK-8225392: Comparison builds are failing due to cacerts file (P3) JDK-8219788: Configure recommends JDK 8 (P3) JDK-8225346: Convert file to HTML5 (P3) JDK-8209381: Default CDS classlist generation should run with an explicit locale setting (P3) JDK-8226538: find-files.gmk gets corrupted if tab completion is used before running make first (P3) JDK-8224257: fix issues in files generated by pandoc (P3) JDK-8227636: Fix output dir for jlink_jre target in Images.gmk (P3) JDK-8160926: FLAGS_COMPILER_CHECK_ARGUMENTS doesn't handle cross-compilation (P3) JDK-8223627: jdk-13+20 bundle name contains null instead of ea (P3) JDK-8226269: Race in SetupProcessMarkdown (P3) JDK-8217634: RunTest documentation and usability update (P3) JDK-8226628: The copyright footer should be enclosed in