RELEASE NOTES FOR: 16 ==================================================================================================== Notes generated: Sun Mar 07 01:55:34 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 = 16 Acquiring pages (2485 total): .................................................. done Loading issues (2485 total): .................................................. done Resolving issues (2485 total): ................................................. done Resolving parents (2485 total): ................................................. done Resolving backports (2485 total): ................................................. done JIRA Query: project = JDK AND issuetype = JEP AND fixVersion = 16 ORDER BY summary ASC Acquiring pages (17 total): . done Loading issues (17 total): . done Resolving issues (17 total): done Resolving parents (17 total): done Filtered 227 issues carried over, 402 pushes left. Hint: Prefix bug IDs with https://bugs.openjdk.java.net/browse/ to reach the relevant JIRA entry. JAVA ENHANCEMENT PROPOSALS (JEP): JEP 338: Vector API (Incubator) Provide an initial iteration of an [incubator module](https://openjdk.java.net/jeps/11), `jdk.incubator.vector`, to express vector computations that reliably compile at runtime to optimal vector hardware instructions on supported CPU architectures and thus achieve superior performance to equivalent scalar computations. JEP 347: Enable C++14 Language Features Allow the use of C++14 language features in JDK C++ source code, and give specific guidance about which of those features may be used in HotSpot code. JEP 357: Migrate from Mercurial to Git Migrate the OpenJDK Community's source code repositories from Mercurial (hg) to Git. JEP 369: Migrate to GitHub Host the OpenJDK Community's Git repositories on [GitHub](https://www.github.com/). In concert with [JEP 357 (Migrate from Mercurial to Git)](https://openjdk.java.net/jeps/357), this would migrate all single-repository OpenJDK Projects to GitHub, including both [JDK feature releases](https://openjdk.java.net/projects/jdk/) and [JDK update releases](https://openjdk.java.net/projects/jdk-updates/) for versions 11 and later. JEP 376: ZGC: Concurrent Thread-Stack Processing Move ZGC thread-stack processing from safepoints to a concurrent phase. JEP 380: Unix-Domain Socket Channels Add Unix-domain (`AF_UNIX`) socket support to the [socket channel][socketchannel] and [server-socket channel][serversocketchannel] APIs in the `java.nio.channels` package. Extend the [inherited channel mechanism][inherited] to support Unix-domain socket channels and server socket channels. JEP 386: Alpine Linux Port Port the JDK to Alpine Linux, and to other Linux distributions that use musl as their primary C library, on both the x64 and AArch64 architectures, JEP 387: Elastic Metaspace Return unused HotSpot class-metadata (i.e., _metaspace_) memory to the operating system more promptly, reduce metaspace footprint, and simplify the metaspace code in order to reduce maintenance costs. JEP 388: Windows/AArch64 Port Port the JDK to Windows/AArch64. JEP 389: Foreign Linker API (Incubator) Introduce an API that offers statically-typed, pure-Java access to native code. This API, together with the Foreign-Memory API ([JEP 393][JEP-393]), will considerably simplify the otherwise error-prone process of binding to a native library. JEP 390: Warnings for Value-Based Classes Designate the primitive wrapper classes as _value-based_ and deprecate their constructors for removal, prompting new deprecation warnings. Provide warnings about improper attempts to synchronize on instances of any value-based classes in the Java Platform. JEP 392: Packaging Tool Provide the `jpackage` tool, for packaging self-contained Java applications. JEP 393: Foreign-Memory Access API (Third Incubator) Introduce an API to allow Java programs to safely and efficiently access foreign memory outside of the Java heap. JEP 394: Pattern Matching for instanceof 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. JEP 395: Records 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 396: Strongly Encapsulate JDK Internals by Default Strongly encapsulate all internal elements of the JDK by default, except for [critical internal APIs][crit] such as `sun.misc.Unsafe`. Allow end users to choose the relaxed strong encapsulation that has been the default since JDK 9. JEP 397: Sealed Classes (Second 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. RELEASE NOTES, BY COMPONENT: core-libs/java.nio: JDK-8259579: Incomplete Support for Unix Domain Sockets in Windows 2019 Server JEP 380: Unix-Domain Socket Channels has been integrated into JDK 16, but due to a problem with the underlying implementation in Windows 2019 Server, it has been disabled on that platform in this release. The functionality is supported on Linux, macOS and on Windows operating systems whose build number is 18362 or greater. This includes Windows 10 (Version 1903) and newer. There are no known issues with Windows 10 (Version 1903). However, some newer versions of Windows 10 may also show the problem, which affects the ability of some native tools (such as cygwin) to access and delete socket files. Other Java APIs are also affected by the problem, but most native Windows tools are not affected by it. More information can be seen in bugs JDK-8259014 and JDK-8252971. This issue will be resolved in JDK 17 and in a future update to JDK 16. core-libs/java.time: JDK-8254679: US/Pacific-New Zone Name Removed as Part of tzdata2020b Following the JDK's update to tzdata2020b, the long-obsolete files named `pacificnew` and `systemv` have been removed. As a result, the "US/Pacific-New" Zone name declared in the `pacificnew` data file is no longer available for use. Information regarding this update can be viewed at https://mm.icann.org/pipermail/tz-announce/2020-October/000059.html JDK-8259474: JDK Time-Zone Data Upgraded to tzdata2020c The JDK update incorporates tzdata2020c. The main change is * Fiji starts DST later than usual, on 2020-12-20. Please refer to https://mm.icann.org/pipermail/tz-announce/2020-October/000060.html for more information. JDK-8259476: JDK Time-Zone Data Upgraded to tzdata2020d The JDK update incorporates tzdata2020d. The main change is * Palestine ends DST earlier than predicted, on 2020-10-24. Please refer to https://mm.icann.org/pipermail/tz-announce/2020-October/000062.html for more information. core-libs/java.util.regex: JDK-8258456: Incorrect behavior matching Unicode linebreaks The change JDK-8235812 in Java 15 introduced incorrect behavior for matching of the `\R` Unicode linebreak sequence when using the `java.util.regex.Pattern` API. The `\R` sequence should match CR (U+000D) or LF (U+000A) individually, but it should not match an individual CR if it occurs in a CRLF sequence. An example of the erroneous behavior is that the pattern `\R{2}` matches a CRLF sequence, but it should not. A possible workaround is to match linebreaks using individual characters instead of `\R`, using negative lookahead to prevent matching of an individual CR within a CRLF sequence. To do this, replace the `\R` sequence with the following: ``` (?:(\u000D\u000A)|((?!\u000D\u000A)[\000A\u000B\u000C\u000D\u0085\u2028\u2029])) ``` A simpler sequence can be used if matching all of the Unicode-specified linebreak characters is not required, or if special treatment for the CRLF sequence is not required. core-libs/javax.naming: JDK-8258824: LDAP Channel Binding Support for Java GSS/Kerberos A new JNDI environment property `“com.sun.jndi.ldap.tls.cbtype”` has been added to enable TLS Channel Binding data in LDAP authentication over SSL/TLS protocol to the Windows AD server. Possible value is `“tls-server-end-point”` - Channel Binding data is created on the base of the TLS server certificate. See the module description of the `java.naming` module. security-libs/java.security: JDK-8250756: Added Entrust Root Certification Authority - G4 certificate The following root certificate has been added to the cacerts truststore: ``` + Entrust + entrustrootcag4 DN: CN=Entrust Root Certification Authority - G4, OU="(c) 2015 Entrust, Inc. - for authorized use only", OU=See www.entrust.net/legal-terms, O="Entrust, Inc.", C=US ``` JDK-8250860: Added 3 SSL Corporation Root CA Certificates The following root certificates have been added to the cacerts truststore: ``` + SSL Corporation + sslrootrsaca DN: CN=SSL.com Root Certification Authority RSA, O=SSL Corporation, L=Houston, ST=Texas, C=US + sslrootevrsaca DN: CN=SSL.com EV Root Certification Authority RSA R2, O=SSL Corporation, L=Houston, ST=Texas, C=US + sslrooteccca DN: CN=SSL.com Root Certification Authority ECC, O=SSL Corporation, L=Houston, ST=Texas, C=US ``` JDK-8248263: jarsigner Preserves POSIX File Permission and symlink Attributes When signing a file that contains POSIX file permission or symlink attributes, `jarsigner` now preserves these attributes in the newly signed file but warns that these attributes are unsigned and not protected by the signature. The same warning is printed during the `jarsigner -verify` operation for such files. Note that the `jar` tool does not read/write these attributes. This change is more visible to tools like `unzip` where these attributes are preserved. JDK-8256902: Removed Root Certificates with 1024-bit Keys The following root certificates with weak 1024-bit RSA public keys have been removed from the `cacerts` keystore: ``` + alias name "thawtepremiumserverca [jdk]"   Distinguished Name: EMAILADDRESS=premium-server@thawte.com, CN=Thawte Premium Server CA, OU=Certification Services Division, O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA + alias name "verisignclass2g2ca [jdk]"   Distinguished Name: OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 2 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US + alias name "verisignclass3ca [jdk]"   Distinguished Name: OU=Class 3 Public Primary Certification Authority, O="VeriSign, Inc.", C=US + alias name "verisignclass3g2ca [jdk]"   Distinguished Name: OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 3 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US + alias name "verisigntsaca [jdk]"   Distinguished Name: CN=Thawte Timestamping CA, OU=Thawte Certification, O=Thawte, L=Durbanville, ST=Western Cape, C=ZA ``` JDK-8242069: Upgraded the Default PKCS12 Encryption and MAC Algorithms The default encryption and MAC algorithms used in a PKCS #12 keystore have been updated. The new algorithms are based on AES-256 and SHA-256 and are stronger than the old algorithms that were based on RC2, DESede, and SHA-1. See the security properties starting with `keystore.pkcs12` in the `java.security` file for detailed information. For compatibility, a new system property named `keystore.pkcs12.legacy` is defined that will revert the algorithms to use the older, weaker algorithms. There is no value defined for this property. security-libs/javax.net.ssl: JDK-8257548: Improve Encoding of TLS Application-Layer Protocol Negotiation (ALPN) Values Certain TLS ALPN values couldn't be properly read or written by the SunJSSE provider. This is due to the choice of Strings as the API interface and the undocumented internal use of the UTF-8 Character Set which converts characters larger than U+00007F (7-bit ASCII) into multi-byte arrays that may not be expected by a peer. ALPN values are now represented using the network byte representation expected by the peer, which should require no modification for standard 7-bit ASCII-based character Strings. However, SunJSSE now encodes/decodes String characters as 8-bit ISO_8859_1/LATIN-1 characters. This means applications that used characters above U+000007F that were previously encoded using UTF-8 may need to either be modified to perform the UTF-8 conversion, or set the Java security property *`jdk.tls.alpnCharset`* to "UTF-8" revert the behavior. JDK-8256490: Disable TLS 1.0 and 1.1 TLS 1.0 and 1.1 are versions of the TLS protocol that are no longer considered secure and have been superseded by more secure and modern versions (TLS 1.2 and 1.3). These versions have now been disabled by default. If you encounter issues, you can, at your own risk, re-enable the versions by removing "TLSv1" and/or "TLSv1.1" from the `jdk.tls.disabledAlgorithms` security property in the `java.security` configuration file. tools/javadoc(tool): JDK-8261685: Improvements for JavaDoc Search The interactive search feature in API documentation generated by the JavaDoc Standard Doclet has been improved to find additional matches that differ only in case. This is useful when the exact spelling or capitalization of a name is not known. For full details on JavaDoc Search, see the link to the JavaDoc Search Specification that is found on at the bottom of the HELP page in any API documentation. ALL FIXED ISSUES, BY COMPONENT AND PRIORITY: client-libs: (P3) JDK-8257242: [macOS] Java app crashes while switching input methods client-libs/2d: (P2) JDK-8258484: AIX build fails in Harfbuzz with XLC 16.01.0000.0006 (P2) JDK-8250605: Linux x86_32 builds fail after JDK-8249821 (P3) JDK-8244088: [Regression] Switch of Gnome theme ends up in deadlocked UI (P3) JDK-8256264: Printed GlyphVector outline with low DPI has bad quality on Windows (P3) JDK-8259007: This test printed a blank page (P3) JDK-8247872: Upgrade HarfBuzz to the latest 2.7.2 (P3) JDK-8247867: Upgrade to freetype 2.10.2 (P3) JDK-8245400: Upgrade to LittleCMS 2.11 (P4) JDK-8234393: [macos] printing ignores printer tray (P4) JDK-8251469: Better cleanup for test/jdk/javax/imageio/SetOutput.java (P4) JDK-8255387: Japanese characters were printed upside down on AIX (P4) JDK-8249215: JFrame::setVisible crashed with -Dfile.encoding=UTF-8 on Japanese Windows. (P4) JDK-8250894: Provide a configure option to build and run against the platform libharfbuzz (P4) JDK-8249821: Separate libharfbuzz from libfontmanager (P4) JDK-8171303: sun/java2d/pipe/InterpolationQualityTest.java fails on Windows & Linux client-libs/java.awt: (P2) JDK-8248532: Every time I change keyboard language at my MacBook, Java crashes (P3) JDK-8245922: [macos] Taskbar.Feature.ICON_BADGE_NUMBER no longer supported on MacOS (P3) JDK-8253791: Issue with useAppleColor check in CSystemColors.m (P3) JDK-8249183: JVM crash in "AwtFrame::WmSize" method (P3) JDK-8232114: JVM crashed at imjpapi.dll in native code (P3) JDK-8255681: print callstack in error case in runAWTLoopWithApp (P3) JDK-8212226: SurfaceManager throws "Invalid Image variant" for MultiResolutionImage (Windows) (P4) JDK-8253681: closed java/awt/dnd/MouseEventAfterStartDragTest/MouseEventAfterStartDragTest.html test failed (P4) JDK-8252470: java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java fails on Windows (P4) JDK-8198334: java/awt/FileDialog/8003399/bug8003399.java fails in headless mode (P4) JDK-8253274: The CycleDMImagetest brokes the system client-libs/javax.accessibility: (P3) JDK-8239137: JAWS does not always announce the value of JSliders in JColorChooser (P3) JDK-8249588: libwindowsaccessbridge issues on 64bit Windows client-libs/javax.imageio: (P4) JDK-8250755: Better cleanup for jdk/test/javax/imageio/plugins/shared/CanWriteSequence.java client-libs/javax.sound: (P3) JDK-8237495: Java MIDI fails with a dereferenced memory error when asked to send a raw 0xF7 client-libs/javax.swing: (P3) JDK-8251377: [macos11] JTabbedPane selected tab text is barely legible (P3) JDK-8259237: Demo selection changes with left/right arrow key. No need to press space for selection. (P3) JDK-8255880: UI of Swing components is not redrawn after their internal state changed (P3) JDK-8258373: Update the text handling in the JPasswordField (P3) JDK-8213535: Windows HiDPI html lightweight tooltips are truncated core-libs: (P2) JDK-8258007: Add instrumentation to NativeLibraryTest (P2) JDK-8259032: MappedMemorySegmentImpl#makeMappedSegment() ignores Unmapper#pagePosition (P3) JDK-8259636: Check for buffer backed by shared segment kicks in in unexpected places (P3) JDK-8259028: ClassCastException when using custom filesystem with wrapper FileChannel impl (P3) JDK-8255908: ExceptionInInitializerError due to UncheckedIOException while initializing cgroupv1 subsystem (P3) JDK-8259634: MemorySegment::asByteBuffer does not respect spatial bounds (P3) JDK-8259027: NullPointerException in makeMappedSegment due to NULL Unmapper when length of segment is 0 (P3) JDK-8258242: Type profile pollution occurs when memory segments of different kinds are used (P3) JDK-8259213: Vector conversion with part > 0 is not getting intrinsic implementation (P4) JDK-8250627: Use -XX:+/-UseContainerSupport for enabling/disabling Java container metrics core-libs/java.lang: (P2) JDK-8260927: StringBuilder::insert is incorrect without Compact Strings (P3) JDK-8257598: Clarify what component values are used in Record::equals (P3) JDK-8253960: Memory leak in Java_java_lang_ClassLoader_defineClass0() (P3) JDK-8251397: NPE on ClassValue.ClassValueMap.cacheArray (P4) JDK-8249217: Unexpected StackOverflowError in "process reaper" thread still happens (P4) JDK-8257637: Update usage of "type" terminology in java.lang.annotation core-libs/java.lang:reflect: (P2) JDK-8256693: getAnnotatedReceiverType parameterizes types too eagerly (P3) JDK-8259224: (ann) getAnnotatedReceiverType should not parameterize owner(s) of statically nested classes (P4) JDK-8258140: Update @jls tags in java.base for renamed/renumbered sections (P4) JDK-8257636: Update usage of "type" terminology in java.lang.Class and java.lang.reflect core-libs/java.net: (P4) JDK-8257707: Fix incorrect format string in Http1HeaderParser core-libs/java.nio: (P3) JDK-8258955: (bf) slice(int, int) on view buffers fails to adjust index according to primitive size (P3) JDK-8259014: (so) ServerSocketChannel.bind(UnixDomainSocketAddress)/SocketChannel.bind(UnixDomainSocketAddress) will have unknown user and group owner (win) (P4) JDK-8246707: (sc) SocketChannel.read/write throws AsynchronousCloseException on closed channel core-libs/java.time: (P3) JDK-8254177: (tz) Upgrade time-zone data to tzdata2020b (P3) JDK-8254982: (tz) Upgrade time-zone data to tzdata2020c (P3) JDK-8255226: (tz) Upgrade time-zone data to tzdata2020d core-libs/java.util.concurrent: (P2) JDK-8259796: timed CompletableFuture.get may swallow InterruptedException (P3) JDK-8254350: CompletableFuture.get may swallow InterruptedException core-libs/java.util.regex: (P3) JDK-8258259: Unicode linebreak matching behavior is incorrect; backout JDK-8235812 core-libs/java.util.stream: (P3) JDK-8259298: broken link in Stream::toList spec core-libs/java.util:i18n: (P3) JDK-8259075: Update the copyright notice in the files generated by CLDR Converter tool (P3) JDK-8255086: Update the root locale display names (P4) JDK-8252497: Incorrect numeric currency code for ROL core-libs/javax.lang.model: (P4) JDK-8258060: Update @jls tags for renamed/renumbered sections core-libs/javax.naming: (P3) JDK-8245527: LDAP Channel Binding support for Java GSS/Kerberos (P4) JDK-8248865: Document JNDI/LDAP timeout properties core-svc/tools: (P3) JDK-8254854: [cgroups v1] Metric limits not properly detected on some join controller combinations globalization/locale-data: (P3) JDK-8250665: Wrong translation for the month of May in ar_JO, ar_LB and ar_SY globalization/translation: (P3) JDK-8259732: JDK 16 L10n resource file update - msg drop 10 hotspot: (P4) JDK-8248403: AArch64: Remove uses of kernel integer types (P4) JDK-8248414: AArch64: Remove uses of long and unsigned long ints hotspot/compiler: (P1) JDK-8258687: Build broken on Windows after fix for JDK-8258134 (P1) JDK-8260632: Build failures after JDK-8253353 (P1) JDK-8254790: SIGSEGV in string_indexof_char and stringL_indexof_char intrinsics (P1) JDK-8248347: windows build broken by JDK-8243114 (P2) JDK-8252292: 8240795 may cause anti-dependence to be missed (P2) JDK-8258015: [JVMCI] JVMCI_lock shouldn't be held while initializing box classes (P2) JDK-8257919: [JVMCI] profiling info didn't change after reprofile (P2) JDK-8257798: [PPC64] undefined reference to Klass::vtable_start_offset() (P2) JDK-8259775: [Vector API] Incorrect code-gen for VectorReinterpret operation (P2) JDK-8260473: [vector] ZGC: VectorReshape test produces incorrect results with ZGC enabled (P2) JDK-8259601: AArch64: Fix reinterpretX2D match rule issue (P2) JDK-8260585: AArch64: Wrong code generated for shifting right and accumulating four unsigned short integers (P2) JDK-8253756: C2 CompilerThread0 crash in Node::add_req(Node*) (P2) JDK-8250609: C2 crash in IfNode::fold_compares (P2) JDK-8260284: C2: assert(_base == Int) failed: Not an Int (P2) JDK-8259641: C2: assert(early->dominates(LCA)) failed: early is high enough (P2) JDK-8260709: C2: assert(false) failed: unscheduable graph (P2) JDK-8253644: C2: assert(skeleton_predicate_has_opaque(iff)) failed: unexpected (P2) JDK-8258790: C2: Crash on empty macro node list (P2) JDK-8259276: C2: Empty expression stack when reexecuting tableswitch/lookupswitch instructions after deoptimization (P2) JDK-8260370: C2: LoopLimit node is not eliminated (P2) JDK-8253191: C2: Masked byte comparisons with large masks produce wrong result on x86 (P2) JDK-8253566: clazz.isAssignableFrom will return false for interface implementors (P2) JDK-8253353: Crash in C2: guarantee(n != NULL) failed: No Node (P2) JDK-8256633: Fix product build on Windows+Arm64 (P2) JDK-8258703: Incorrect 512-bit vector registers restore on x86_32 (P2) JDK-8260339: JVM crashes when executing PhaseIdealLoop::match_fill_loop (P2) JDK-8249880: JVMCI calling register_nmethod without CodeCache lock (P2) JDK-8254104: MethodCounters must exist before nmethod is installed (P2) JDK-8258558: Revert changes for JDK-8252505 and related issues (P2) JDK-8251260: two MD5 tests fail "RuntimeException: Unexpected count of intrinsic" (P2) JDK-8259353: VectorReinterpretNode is incorrectly optimized out (P2) JDK-8251994: VM crashed running TestComplexAddrExpr.java test with -XX:UseAVX=X (P2) JDK-8255550: x86: Assembler::cmpq(Address dst, Register src) encoding is incorrect (P2) JDK-8259560: Zero m68k: "static assertion failed: align" after JDK-8252049 (P3) JDK-8254734: "dead loop detected" assert failure with patch from 8223051 (P3) JDK-8251923: "Invalid JNI handle" assertion failure in JVMCICompiler::force_comp_at_level_simple() (P3) JDK-8250233: -XX:+CITime triggers guarantee(events != NULL) in jvmci.cpp:173 (P3) JDK-8247200: [aarch64] assert((unsigned)fpargs < 32) (P3) JDK-8255479: [aarch64] assert(src->section_index_of(target) == CodeBuffer::SECT_NONE) failed: sanity (P3) JDK-8247766: [aarch64] guarantee(val < (1U << nbits)) failed: Field too big for insn (P3) JDK-8247691: [aarch64] Incorrect handling of VM exceptions in C1 deopt stub/traps (P3) JDK-8248411: [aarch64] Insufficient error handling when CodeBuffer is exhausted (P3) JDK-8255578: [JVMCI] be more careful about reflective reads of Class.componentType. (P3) JDK-8258380: [JVMCI] don't clear InstalledCode reference when unloading JVMCI nmethods (P3) JDK-8252881: [JVMCI] ResolvedJavaType.resolveMethod fails in fastdebug when invoked with a constructor (P3) JDK-8257910: [JVMCI] Set exception_seen accordingly in the runtime. (P3) JDK-8249781: AArch64: AOT compiled code crashes if C2 allocates r27 (P3) JDK-8248668: AArch64: Avoid MIN/MAX macros when using MSVC (P3) JDK-8248336: AArch64: C2: offset overflow in BoxLockNode::emit (P3) JDK-8250824: AArch64: follow up for JDK-8248414 (P3) JDK-8256025: AArch64: MachCallRuntimeNode::ret_addr_offset() is incorrect for stub calls (P3) JDK-8248671: AArch64: Remove unused variables (P3) JDK-8258384: AArch64: SVE verify_ptrue fails on some tests (P3) JDK-8248682: AArch64: Use ATTRIBUTE_ALIGNED helper (P3) JDK-8248666: AArch64: Use THREAD_LOCAL instead of __thread (P3) JDK-8247251: Assert '(_pcs_length == 0 || last_pc()->pc_offset() < pc_offset) failed: must specify a new, larger pc offset' failure (P3) JDK-8258134: assert(size == calc_size) failed: incorrect size calculation on x86_32 with AVX512 machines (P3) JDK-8249603: C1: assert(has_error == false) failed: register allocation invalid (P3) JDK-8255058: C1: assert(is_virtual()) failed: type check (P3) JDK-8248816: C1: Fix signature conflict in LIRGenerator::strength_reduce_multiply (P3) JDK-8256220: C1: x86_32 fails with -XX:UseSSE=1 after JDK-8210764 due to mishandled lir_neg (P3) JDK-8257594: C2 compiled checkcast of non-null object triggers endless deoptimization/recompilation cycle (P3) JDK-8255466: C2 crashes at ciObject::get_oop() const+0x0 (P3) JDK-8250825: C2 crashes with assert(field != __null) failed: missing field (P3) JDK-8259227: C2 crashes with SIGFPE due to a division that floats above its zero check (P3) JDK-8248552: C2 crashes with SIGFPE due to division by zero (P3) JDK-8257575: C2: "failed: only phis" assert failure in loop strip mining verification (P3) JDK-8249607: C2: assert(!had_error) failed: bad dominance (P3) JDK-8253404: C2: assert(C->live_nodes() <= C->max_node_limit()) failed: Live Node limit exceeded limit (P3) JDK-8249602: C2: assert(cnt == _outcnt) failed: no insertions allowed (P3) JDK-8259061: C2: assert(found) failed: memory-writing node is not placed in its original loop or an ancestor of it (P3) JDK-8249605: C2: assert(no_dead_loop) failed: dead loop detected (P3) JDK-8255120: C2: assert(outer->outcnt() >= phis + 2 && outer->outcnt() <= phis + 2 + stores + 1) failed: only phis (P3) JDK-8256807: C2: Not marking stores correctly as mismatched in string opts (P3) JDK-8255763: C2: OSR miscompilation caused by invalid memory instruction placement (P3) JDK-8251925: C2: RenaissanceStressTest fails with assert(!had_error): bad dominance (P3) JDK-8258225: compiler/c2/cr6340864/TestIntVect.java runs faster in interpreter (P3) JDK-8256056: Deoptimization stub doesn't save vector registers on x86 (P3) JDK-8256757: Incorrect MachCallRuntimeNode::ret_addr_offset() for CallLeafNoFP on x86_32 (P3) JDK-8258989: JVM is failed to inline in jdk.internal.vm.vector.VectorSupport::convert (P3) JDK-8250548: libgraal can deadlock in -Xcomp mode (P3) JDK-8258272: LoadVectorMaskedNode can't be replaced by zero con (P3) JDK-8252696: Loop unswitching may cause out of bound array load to be executed (P3) JDK-8255368: Math.exp() gives wrong result for large values on x86 32-bit platforms (P3) JDK-8249749: modify a primitive array through a stream and a for cycle causes jre crash (P3) JDK-8252049: Native memory leak in ciMethodData ctor (P3) JDK-8251458: Parse::do_lookupswitch fails with "assert(_cnt >= 0) failed" (P3) JDK-8251535: Partial peeling at unsigned test adds incorrect loop exit check (P3) JDK-8256061: RegisterSaver::save_live_registers() omits upper halves of ZMM0-15 registers (P3) JDK-8258393: Shenandoah: "graph should be schedulable" assert failure (P3) JDK-8255401: Shenandoah: Allow oldval and newval registers to overlap in cmpxchg_oop() (P3) JDK-8257561: Some code is not vectorized after 8251925 and 8250607 (P3) JDK-8248791: sun/util/resources/cldr/TimeZoneNamesTest.java fails with -XX:-ReduceInitialCardMarks -XX:-ReduceBulkZeroing (P3) JDK-8248226: TestCloneAccessStressGCM fails with -XX:-ReduceBulkZeroing (P3) JDK-8249608: Vector register used by C2 compiled method corrupted at safepoint (P4) JDK-8257436: [aarch64] Regressions in ArrayCopyUnalignedDst.testByte/testChar for 65-78 bytes when UseSIMDForMemoryOps is on (P4) JDK-8256488: [aarch64] Use ldpq/stpq instead of ld4/st4 for small copies in StubGenerator::copy_memory (P4) JDK-8253874: [JVMCI] added test omitted in 8252881 (P4) JDK-8257917: [JVMCI] crash when materializing boxed values under -Xcomp (P4) JDK-8255068: [JVMCI] errors during compiler creation can be hidden (P4) JDK-8248321: [JVMCI] improve libgraal logging and fatal error handling (P4) JDK-8257220: [JVMCI] option validation should not result in a heavy-weight VM crash (P4) JDK-8257423: [PPC64] Support -XX:-UseInlineCaches (P4) JDK-8237483: AArch64 C1 OopMap inserted twice fatal error (P4) JDK-8247979: aarch64: missing side effect of killing flags for clearArray_reg_reg (P4) JDK-8259757: add a regression test for 8259353 and 8259601 (P4) JDK-8260608: add a regression test for 8260370 (P4) JDK-8248987: AOT's Linker.java seems to eagerly fail-fast on Windows. (P4) JDK-8253118: Avoid unnecessary deopts when OSR nmethods of the same level are present. (P4) JDK-8248467: C2: compiler/intrinsics/object/TestClone fails with -XX:+VerifyGraphEdges (P4) JDK-8253524: C2: Refactor code that clones predicates during loop unswitching (P4) JDK-8257471: fatal error: Fatal exception in JVMCI: Exception during JVMCI compiler initialization (P4) JDK-8250902: Implement MD5 Intrinsics on x86 (P4) JDK-8243114: Implement montgomery{Multiply,Square}intrinsics on Windows (P4) JDK-8223347: Integration of Vector API (Incubator) (P4) JDK-8250612: jvmciCompilerToVM.cpp declares jio_printf with "void" return type, should be "int" (P4) JDK-8197981: Missing return statement in __sync_val_compare_and_swap_8 (P4) JDK-8248190: PPC: Enable Power10 system and use new byte-reverse instructions (P4) JDK-8255742: PrintInlining as compiler directive doesn't print virtual calls (P4) JDK-8253631: Remove unimplemented CompileBroker methods after JEP-165 (P4) JDK-8249165: Remove unneeded nops introduced by 8234160 changes (P4) JDK-8246203: Segmentation fault in verification due to stack overflow with -XX:+VerifyIterativeGVN (P4) JDK-8248901: Signed immediate support in .../share/assembler.hpp is broken. (P4) JDK-8258647: TestCharVect2 is very slow (P4) JDK-8248359: Update JVMCI (P5) JDK-8255067: Restore Copyright line in file modified by 8253191 (P5) JDK-8256387: Unexpected result if patching an entire instruction on AArch64 hotspot/gc: (P2) JDK-8227695: assert(pss->trim_ticks().seconds() == 0.0) failed: Unexpected partial trimming during evacuation (P2) JDK-8256641: CDS VM operations do not lock the heap (P2) JDK-8259271: gc/parallel/TestDynShrinkHeap.java still fails "assert(covered_region.contains(new_memregion)) failed: new region is not in covered_region" (P2) JDK-8256051: nmethod_entry_barrier stub miscalculates xmm spill size on x86_32 (P2) JDK-8257999: Parallel GC crash in gc/parallel/TestDynShrinkHeap.java: new region is not in covered_region (P2) JDK-8260704: ParallelGC: oldgen expansion needs release-store for _end (P2) JDK-8259063: Possible deadlock with vtable/itable creation vs concurrent class unloading (P2) JDK-8247736: Shenandoah: assert(_nm->is_alive()) failed: only alive nmethods here (P2) JDK-8249230: Shenandoah: assertion failure with -XX:-ResizeTLAB (P2) JDK-8247670: Shenandoah: deadlock during class unloading OOME (P2) JDK-8254319: Shenandoah: Interpreter native-LRB needs to activate during HAS_FORWARDED (P2) JDK-8257701: Shenandoah: objArrayKlass metadata is not marked with chunked arrays (P2) JDK-8258714: Shenandoah: Process references before evacuation during degen (P2) JDK-8251451: Shenandoah: Remark ObjectSynchronizer roots with I-U (P2) JDK-8247593: Shenandoah: should not block pacing reporters (P2) JDK-8259765: ZGC: Handle incorrect processor id reported by the operating system (P3) JDK-8259380: Correct pretouch chunk size to cap with actual page size (P3) JDK-8027761: Investigate fast-path for scanning only objects with references during gc (P3) JDK-8258985: Parallel WeakProcessor may use too few threads (P3) JDK-8257974: Regression 21% in DaCapo-lusearch-large after JDK-8236926 (P3) JDK-8251910: Shenandoah: Handshake threads between weak-roots and reset phases (P3) JDK-8248041: Shenandoah: pre-Full GC root updates may miss some roots (P3) JDK-8257641: Shenandoah: Query is_at_shenandoah_safepoint() from control thread should return false (P3) JDK-8247358: Shenandoah: reconsider free budget slice for marking (P4) JDK-8253219: Epsilon: clean up unnecessary includes (P4) JDK-8253220: Epsilon: clean up unused code/declarations (P4) JDK-8257565: epsilonBarrierSet.hpp should not include barrierSetAssembler (P4) JDK-8027545: Improve object array chunking test in G1's copy_to_survivor_space (P4) JDK-8245026: PsAdaptiveSizePolicy::_old_gen_policy_is_ready is unused (P4) JDK-8247860: Shenandoah: add update watermark line in rich assert failure message (P4) JDK-8248632: Shenandoah: build fails without both JVMTI and JFR (P4) JDK-8254320: Shenandoah: C2 native LRB should activate for non-cset objects (P4) JDK-8255457: Shenandoah: cleanup ShenandoahMarkTask (P4) JDK-8249801: Shenandoah: Clear soft-refs on requested GC cycle (P4) JDK-8254560: Shenandoah: Concurrent Strong Roots logging is incorrect (P4) JDK-8251359: Shenandoah: filter null oops before calling enqueue/SATB barrier (P4) JDK-8240751: Shenandoah: fold ShenandoahTracer definition (P4) JDK-8248634: Shenandoah: incorrect include in shenandoahInitLogger.cpp (P4) JDK-8255760: Shenandoah: match constants style in ShenandoahMarkTask fallback (P4) JDK-8256806: Shenandoah: optimize shenandoah/jni/TestPinnedGarbage.java test (P4) JDK-8247367: Shenandoah: pacer should wait on lock instead of exponential backoff (P4) JDK-8249649: Shenandoah: provide per-cycle pacing stats (P4) JDK-8247845: Shenandoah: refactor TLAB/GCLAB retirement code (P4) JDK-8241065: Shenandoah: remove leftover code after JDK-8231086 (P4) JDK-8241574: Shenandoah: remove ShenandoahAssertToSpaceClosure (P4) JDK-8241007: Shenandoah: remove ShenandoahCriticalControlThreadPriority support (P4) JDK-8253226: Shenandoah: remove unimplemented ShenandoahStrDedupQueue::verify (P4) JDK-8248652: Shenandoah: SATB buffer handling may assume no forwarded objects (P4) JDK-8253224: Shenandoah: ShenandoahStrDedupQueue destructor calls virtual num_queues() (P4) JDK-8252660: Shenandoah: support manageable SoftMaxHeapSize option (P4) JDK-8253222: Shenandoah: unused AlwaysTrueClosure after JDK-8246591 (P4) JDK-8252367: Undo JDK-8245000: Windows GDI functions don't support large pages (P4) JDK-8252368: Undo JDK-8245002: Windows GDI functions don't support NUMA interleaving hotspot/jfr: (P2) JDK-8258094: AIX build fails after 8257602 (P2) JDK-8257215: JFR: Events dropped when streaming over a chunk rotation (P2) JDK-8253505: JFR: onFlush invoked out of order with a sorted event stream (P2) JDK-8257906: JFR: RecordingStream leaks memory (P2) JDK-8258396: SIGILL in jdk.jfr.internal.PlatformRecorder.rotateDisk() (P2) JDK-8259574: SIGSEGV in BFSClosure::closure_impl (P3) JDK-8252754: Hash code calculation of JfrStackTrace is inconsistent (P3) JDK-8257621: JFR StringPool misses cached items across consecutive recordings (P3) JDK-8250928: JFR: Improve hash algorithm for stack traces (P3) JDK-8258404: Restore stacktrace reuse after 8258094 (P4) JDK-8250903: jdk/jfr/javaagent/TestLoadedAgent.java fails with Mismatch in TestEvent count (P4) JDK-8252090: JFR: StreamWriterHost::write_unbuffered() stucks in an infinite loop OpenJDK (build 13.0.1+9) hotspot/jvmti: (P3) JDK-8216324: GetClassMethods is confused by the presence of default methods in super interfaces (P4) JDK-8255381: com/sun/jdi/EATests.java should not suspend graal threads (P4) JDK-8247615: Initialize the bytes left for the heap sampler hotspot/runtime: (P2) JDK-8256359: AArch64: runtime/ReservedStack/ReservedStackTestCompiler.java fails (P2) JDK-8251365: Build failure on AIX after 8250636 (P2) JDK-8249192: MonitorInfo stores raw oops across safepoints (P2) JDK-8253778: ShenandoahSafepoint::is_at_shenandoah_safepoint should not access VMThread state from other threads (P2) JDK-8253284: Zero OrderAccess barrier mappings are incorrect (P3) JDK-8253727: [cgroups v2] Memory and swap limits reported incorrectly (P3) JDK-8253714: [cgroups v2] Soft memory limit incorrectly using memory.high (P3) JDK-8256843: [PPC64] runtime/logging/RedefineClasses.java fails with assert: registers not saved on stack (P3) JDK-8248219: aarch64: missing memory barrier in fast_storefield and fast_accessfield (P3) JDK-8248112: array index out of bound in FileMapInfo::check_paths (P3) JDK-8251118: BiasedLocking::preserve_marks should not have a HandleMark (P3) JDK-8257596: Clarify trusted final fields for record classes (P3) JDK-8252359: HotSpot Not Identifying it is Running in a Container (P3) JDK-8241053: Hotspot runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java test fails on Alpine Linux with debug build (P3) JDK-8248238: Implementation: JEP 388: Windows AArch64 Support (P3) JDK-8249672: Include microcode revision in features_string on x86 (P3) JDK-8259275: JRuby crashes while resolving invokedynamic instruction (P3) JDK-8250810: Push missing parts of JDK-8248817 (P3) JDK-8257521: runtime/logging/MonitorInflationTest.java crashed in MonitorList::unlink_deflated (P3) JDK-8257468: runtime/whitebox/TestWBDeflateIdleMonitors.java fails with Monitor should be deflated.: expected true to equal false (P3) JDK-8258236: Segfault in ClassListParser::resolve_indy dumping static AppCDS archive (P3) JDK-8255734: VM should ignore SIGXFSZ on ppc64, s390 too (P3) JDK-8248657: Windows: strengthening in ThreadCritical regarding memory model (P3) JDK-8255065: Zero: accessor_entry misses the IRIW case (P4) JDK-8251255: [linux] Add process-memory information to hs-err and VM.info (P4) JDK-8243470: [macos] bring back O2 opt level for unsafe.cpp (P4) JDK-8254190: [s390] interpreter misses exception check after calling monitorenter (P4) JDK-8250911: [windows] os::pd_map_memory error detection broken (P4) JDK-8255351: Add detection for Graviton 2 CPUs (P4) JDK-8254748: Bad Copyright header format after JDK-8212218 (P4) JDK-8255544: Create a checked cast (P4) JDK-8250598: Hyper-V is detected in spite of running on host OS (P4) JDK-8243290: Improve diagnostic messages for class verification and redefinition failures (P4) JDK-8250636: iso8601_time returns incorrect offset part on MacOS (P4) JDK-8256489: Make gtest for long path names on Windows more resilient in the presence of virus scanners (P4) JDK-8250844: Make sure {type,obj}ArrayOopDesc accessors check the bounds (P4) JDK-8250984: Memory Docker tests fail on some Linux kernels w/o cgroupv1 swap limit capabilities (P4) JDK-8251257: NMT: jcmd VM.native_memory scale=1 crashes target VM (P4) JDK-8254144: Non-x86 Zero builds fail with return-type warning in os_linux_zero.cpp (P4) JDK-8253375: OSX build fails with Xcode 12.0 (12A7209) (P4) JDK-8254799: runtime/ErrorHandling/TestHeapDumpOnOutOfMemoryError.java fails with release VMs (P4) JDK-8256258: some missing NULL checks or asserts after CodeCache::find_blob_unsafe (P4) JDK-8253476: TestUseContainerSupport.java fails on some Linux kernels w/o swap limit capabilities (P4) JDK-8257872: UL: -Xlog does not check number of options (P4) JDK-8256618: Zero: Linux x86_32 build still fails (P4) JDK-8254166: Zero: return-type warning in zeroInterpreter_zero.cpp hotspot/svc-agent: (P4) JDK-8250826: jhsdb does not work with coredump which comes from Substrate VM hotspot/test: (P4) JDK-8259282: Disable MemAccess until JDK-8259276 is fixed (P4) JDK-8249748: gtest silently ignores bad jvm arguments (P4) JDK-8256736: Zero: GTest tests fail with "unsuppported vm variant" infrastructure: (P4) JDK-8248495: [macos] zerovm is broken due to libffi headers location infrastructure/build: (P2) JDK-8249195: Change to Xcode 11.3.1 for building on Macos at Oracle (P2) JDK-8258657: Doc build is broken by use of new language features (P2) JDK-8258378: Final nroff manpage update for JDK 16 (P3) JDK-8253615: Change to Visual Studio 2019 16.7.2 for building on Windows at Oracle (P3) JDK-8256751: Incremental rebuild with precompiled header fails when touching a header file (P3) JDK-8256501: libTestMainKeyWindow fails to build with Xcode 12.2 (P3) JDK-8248667: Need support for building native libraries located in the test/lib directory (P3) JDK-8213214: Set -Djava.io.tmpdir= when running tests (P3) JDK-8259429: Update reference to README.md (P4) JDK-8250876: Fix issues with cross-compile on macos (P4) JDK-8257547: Handle multiple prereqs on the same line in deps files (P4) JDK-8256810: Incremental rebuild broken on Macosx (P4) JDK-8257633: Missing -mmacosx-version-min=X flag when linking libjvm (P4) JDK-8259043: More Zero architectures need linkage with libatomic (P4) JDK-8257181: s390x builds are very noisy with gc-sections messages infrastructure/release_eng: (P2) JDK-8259794: Remove EA from JDK 16 version string starting with Initial RC promotion on Feb 04, 2021(B35) security-libs/java.security: (P2) JDK-8225072: Add LuxTrust certificate that is expiring in March 2021 to list of allowed but expired certs (P2) JDK-8254081: java/security/cert/PolicyNode/GetPolicyQualifiers.java fails due to an expired certificate (P2) JDK-8251859: sun/security/validator/PKIXValAndRevCheckTests.java fails with "RuntimeException: Received unexpected exception" (P2) JDK-8259312: VerifyCACerts.java fails as soneraclass2ca cert will expire in 90 days (P3) JDK-8243321: Add Entrust root CA - G4 to Oracle Root CA program (P3) JDK-8258630: Add expiry exception for QuoVadis root certificate (P3) JDK-8243320: Add SSL root certificates to Oracle Root CA program (P3) JDK-8218021: Have jarsigner preserve posix permission attributes (P3) JDK-8243559: Remove root certificates with 1024-bit keys (P3) JDK-8250968: Symlinks attributes not preserved when using jarsigner on zip files (P3) JDK-8153005: Upgrade the default PKCS12 encryption/MAC algorithms (P4) JDK-8039278: console.sh failed Automatically with exit code 1 security-libs/javax.crypto: (P3) JDK-8258419: RSA cipher buffer cleanup security-libs/javax.crypto:pkcs11: (P3) JDK-8244154: Update SunPKCS11 provider with PKCS11 v3.0 header files (P4) JDK-8251117: Cannot check P11Key size in P11Cipher and P11AEADCipher security-libs/javax.net.ssl: (P2) JDK-8202343: Disable TLS 1.0 and 1.1 (P2) JDK-8256682: JDK-8202343 is incomplete (P2) JDK-8255603: Memory/Performance regression after JDK-8210985 (P2) JDK-8256818: SSLSocket that is never bound or connected leaks socket resources (P3) JDK-8254631: Better support ALPN byte wire values in SunJSSE (P3) JDK-8257083: Security infra test failures caused by JDK-8202343 (P3) JDK-8246031: SSLSocket.getSession() doesn't close connection for timeout/ interrupts (P3) JDK-8257997: sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java again reports leaks after JDK-8257884 (P3) JDK-8257670: sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java reports leaks (P4) JDK-8257884: Re-enable sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java as automatic test security-libs/javax.xml.crypto: (P3) JDK-8255559: Leak File Descriptors Because of ResolverLocalFilesystem#engineResolveURI() (P3) JDK-8247907: XMLDsig logging does not work security-libs/org.ietf.jgss:krb5: (P2) JDK-8250582: Revert Principal Name type to NT-UNKNOWN when requesting TGS Kerberos tickets specification: (P4) JDK-8259477: Patterns: Remove unnecessary JLS subsection tools/javac: (P2) JDK-8256266: Binding variables don't correctly support declaration annotations and the final modifier (P2) JDK-8258515: javac should issue an error if an annotation is nested in a local class or interface (P2) JDK-8259645: Revert JDK-8245956 JavaCompiler still uses File API instead of Path API in a specific case (P3) JDK-8254023: A module declaration is not allowed to be a target of an annotation that lacks an @Target meta-annotation (P3) JDK-8258443: doclint should be service-loaded with system class loader (P3) JDK-8253954: javac crash when compiling code with enhanced switch expressions with option -Xjcov (P3) JDK-8253996: Javac error on jdk16 build 18: invalid flag: -Xdoclint:-missing (P3) JDK-8258916: javac/doclint reports broken HTML on multiline mailto links (P3) JDK-8241353: NPE in ToolProvider.getSystemJavaCompiler (P3) JDK-8213032: program fails with LambdaConversionException at execution time (P3) JDK-8259025: Record compact constructor using Objects.requireNonNull (P3) JDK-8231461: static/instance overload leads to 'unexpected static method found in unbound lookup' when resolving method reference (P3) JDK-8258941: Test specify the Classpath exception in the header (P3) JDK-8247334: Trees.getScope crashes for annotated local records (P3) JDK-8258972: unexpected compilation error with generic sealed interface (P4) JDK-8256809: Annotation processing causes NPE during flow analysis (P4) JDK-8233829: javac cannot find non-ASCII module name under non-UTF8 environment (P4) JDK-8258662: JDK 17ea: Crash compiling instanceof check involving sealed interface (P4) JDK-8257037: No javac warning when calling deprecated constructor with diamond tools/javadoc(tool): (P3) JDK-8223607: --override-methods=summary ignores some signature changes (P3) JDK-8242607: -Xdoclint doesn't report missing/unexpected comments (P3) JDK-8249633: doclint reports missing javadoc for JavaFX property methods that have a property description (P3) JDK-8251200: False positive messages about missing comments for serialization (P3) JDK-8258092: Link to early access platform documentation in TestHtmlTableTags.java (P3) JDK-8247994: Localize javadoc search (P3) JDK-8258338: Support deprecated records (P3) JDK-8259657: typo in generated HELP page prevents localization (P3) JDK-8258002: Update "type" terminology in generated docs (P4) JDK-8244535: JavaDoc search is overly strict with letter case (P4) JDK-8259771: Update javadoc search spec to reflect relaxed case sensitivity tools/jlink: (P3) JDK-8255845: Memory leak in imageFile.cpp xml/jaxp: (P3) JDK-8248348: Regression caused by the update to BCEL 6.0