RELEASE NOTES FOR: 11.0.11 ==================================================================================================== Notes generated: Tue Apr 02 10:33:10 CEST 2024 Hint: Prefix bug IDs with https://bugs.openjdk.org/browse/ to reach the relevant JIRA entry. JAVA ENHANCEMENT PROPOSALS (JEP): None. RELEASE NOTES: tools: JDK-8213909: jdeps --print-module-deps Reports Transitive Dependences `jdeps --print-module-deps`, `--list-deps`, and `--list-reduce-deps` options have been enhanced as follows. 1. By default, they perform transitive module dependence analysis on libraries on the class path and module path, both directly and indirectly, as required by the given input JAR files or classes. Previously, they only reported the modules required by the given input JAR files or classes. The `--no-recursive` option can be used to request non-transitive dependence analysis. 2. By default, they flag any missing dependency, i.e. not found from class path and module path, as an error. The `--ignore-missing-deps` option can be used to suppress missing dependence errors. Note that a custom image is created with the list of modules output by jdeps when using the `--ignore-missing-deps` option for a non-modular application. Such an application, running on the custom image, might fail at runtime when missing dependence errors are suppressed. core-libs/javax.naming: JDK-8245527: 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/javax.net.ssl: JDK-8202343: 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. JDK-8253368: Behavior changes for SSLSocket input stream shut down The SunJSSE close notification checks for `SSLSocket` have been made less strict to conform to changes in the Transport Layer Security (TLS) RFCs. If an application tries to close the input stream of an `SSLSocket` (via `shutdownInput()` method) without having received a close notification message from its peer, the `SSLSocket` will no longer: 1. trigger the transmission of a TLS fatal-level alert to the peer, and 2. invalidate the current TLS session. The new behavior will still consider this condition an error and will throw a local `javax.net.ssl.SSLException`. A fatal-level alert will no longer be sent to the peer, and the underlying session will remain valid. In addition, the internal transport context for the `SSLSocket` will also now be closed. Previously, this step didn't occur if a fatal message was generated. hotspot/runtime: JDK-8251255: Add Process-Memory Information to `hs-err` and `VM.info` On Linux, process memory information has been added to both JVM crash reports (`hs_err` files) and the `VM.info` diagnostic `jcmd`. This information contains the process' virtual size, its resident set size, and how much memory was swapped out. If the JVM uses `glibc`, the size of `glibc` outstanding allocations and retained memory are printed, as well as the (`glibc` tunables)[https://www.gnu.org/software/libc/manual/html_node/Memory-Allocation-Tunables.html]. security-libs/java.security: JDK-8256421: Added 2 HARICA Root CA Certificates The following root certificates have been added to the cacerts truststore: ``` + HARICA + haricarootca2015 DN: CN=Hellenic Academic and Research Institutions RootCA 2015, O=Hellenic Academic and Research Institutions Cert. Authority, L=Athens, C=GR + haricaeccrootca2015 DN: CN=Hellenic Academic and Research Institutions ECC RootCA 2015, O=Hellenic Academic and Research Institutions Cert. Authority, L=Athens, C=GR ``` ALL FIXED ISSUES, BY COMPONENT AND PRIORITY: client-libs: (P4) JDK-8233910: java/awt/ColorClass/AlphaColorTest.java is failing intermittently in nightly lnux-x64 system (P4) JDK-8232225: Rework the fix for JDK-8071483 client-libs/2d: (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 (P4) JDK-8255387: Japanese characters were printed upside down on AIX client-libs/java.awt: (P2) JDK-8261231: Windows IME was disabled after DnD operation (P3) JDK-8258805: Japanese characters not entered by mouse click on Windows 10 (P3) JDK-8255681: Print callstack in error case in runAWTLoopWithApp (P4) JDK-8253681: closed java/awt/dnd/MouseEventAfterStartDragTest/MouseEventAfterStartDragTest.html test failed (P4) JDK-8253274: The CycleDMImagetest brokes the system client-libs/javax.accessibility: (P3) JDK-8249588: libwindowsaccessbridge issues on 64bit Windows (P4) JDK-8225805: Java Access Bridge does not close the logger 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-8255880: UI of Swing components is not redrawn after their internal state changed (P3) JDK-8258373: Update the text handling in the JPasswordField (P4) JDK-8256187: [TEST_BUG] Automate bug4275046.java test (P4) JDK-8258884: [TEST_BUG] Convert applet-based test open/test/jdk/javax/swing/JMenuItem/8031573/bug8031573.java to a regular java test (P4) JDK-8213116: javax/swing/JComboBox/WindowsComboBoxSize/WindowsComboBoxSizeTest.java fails in Windows core-libs: (P3) JDK-8255908: ExceptionInInitializerError due to UncheckedIOException while initializing cgroupv1 subsystem core-libs/java.lang: (P2) JDK-8240704: ProcessBuilder/checkHandles/CheckHandles.java failed "AssertionError: Handle use increased by more than 10 percent." (P4) JDK-8253702: BigSur version number reported as 10.16, should be 11.nn (P4) JDK-8253409: Double-rounding possibility in float fma (P4) JDK-8226810: Failed to launch JVM because of NullPointerException occured on System.props (P4) JDK-8241649: Optimize Character.toString (P4) JDK-8261753: Test java/lang/System/OsVersionTest.java still failing on BigSur patch versions after JDK-8253702 (P4) JDK-8262018: Wrong format in SAP copyright header of OsVersionTest core-libs/java.lang.invoke: (P2) JDK-8235351: Lookup::unreflect should bind with the original caller independent of Method's accessible flag core-libs/java.lang.module: (P4) JDK-8241770: Module xxxAnnotation() methods throw NCDFE if module-info.class found as resource in unnamed module (P4) JDK-8211825: ModuleLayer.defineModulesWithXXX does not setup delegation when module reads automatic module core-libs/java.net: (P3) JDK-7146776: Deadlock between URLStreamHandler.getHostAddress and file.Handler.openconnection (P4) JDK-8257707: Fix incorrect format string in Http1HeaderParser core-libs/java.nio: (P4) JDK-8249543: (bf) Force DirectBufferAllocTest to run with -ExplicitGCInvokesConcurrent (P4) JDK-8239355: (dc) Initial value of SO_SNDBUF should allow sending large datagrams (macOS) (P4) JDK-8246707: (sc) SocketChannel.read/write throws AsynchronousCloseException on closed channel core-libs/java.time: (P3) JDK-8260356: (tz) Upgrade Timezone Data to tzdata2021a (P4) JDK-8259048: (tz) Upgrade Timezone Data to tzdata2020f core-libs/javax.naming: (P3) JDK-8245527: LDAP Channel Binding support for Java GSS/Kerberos (P4) JDK-8248865: Document JNDI/LDAP timeout properties (P4) JDK-8259707: LDAP channel binding does not work with StartTLS extension core-svc/java.lang.management: (P4) JDK-8258836: JNI local refs exceed capacity getDiagnosticCommandInfo core-svc/tools: (P4) JDK-8205992: jhsdb cannot attach to Java processes running in Docker containers hotspot/compiler: (P1) JDK-8260632: Build failures after JDK-8253353 (P2) JDK-8215687: [Graal] unit test CheckGraalIntrinsics failed after 8212043 (P2) JDK-8261522: [PPC64] AES intrinsics write beyond the destination array (P2) JDK-8257798: [PPC64] undefined reference to Klass::vtable_start_offset() (P2) JDK-8253756: C2 CompilerThread0 crash in Node::add_req(Node*) (P2) JDK-8253644: C2: assert(skeleton_predicate_has_opaque(iff)) failed: unexpected (P2) JDK-8261912: Code IfNode::fold_compares_helper more defensively (P2) JDK-8253353: Crash in C2: guarantee(n != NULL) failed: No Node (P2) JDK-8261022: Fix incorrect result of Math.abs() with char type (P2) JDK-8256633: Fix product build on Windows+Arm64 (P2) JDK-8254104: MethodCounters must exist before nmethod is installed (P2) JDK-8243670: Unexpected test result caused by C2 MergeMemNode::Ideal (P2) JDK-8251994: VM crashed running TestComplexAddrExpr.java test with -XX:UseAVX=X (P3) JDK-8254734: "dead loop detected" assert failure with patch from 8223051 (P3) JDK-8257910: [JVMCI] Set exception_seen accordingly in the runtime. (P3) JDK-8240795: [REDO] 8238384 CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found" (P3) JDK-8247200: AArch64: assert((unsigned)fpargs < 32) (P3) JDK-8255479: AArch64: assert(src->section_index_of(target) == CodeBuffer::SECT_NONE) failed: sanity (P3) JDK-8248336: AArch64: C2: offset overflow in BoxLockNode::emit (P3) JDK-8247766: AArch64: guarantee(val < (1U << nbits)) failed: Field too big for insn (P3) JDK-8256025: AArch64: MachCallRuntimeNode::ret_addr_offset() is incorrect for stub calls (P3) JDK-8259339: AllocateUninitializedArray C2 intrinsic fails with void.class input (P3) JDK-8259619: C1: 3-arg StubAssembler::call_RT stack-use condition is incorrect (P3) JDK-8255058: C1: assert(is_virtual()) failed: type check (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-8233164: C2 fails with assert(phase->C->get_alias_index(t) == phase->C->get_alias_index(t_adr)) failed: correct memory chain (P3) JDK-8257575: C2: "failed: only phis" assert failure in loop strip mining verification (P3) JDK-8257513: C2: assert((constant_addr - _masm.code()->consts()->start()) == con.offset()) (P3) JDK-8253404: C2: assert(C->live_nodes() <= C->max_node_limit()) failed: Live Node limit exceeded limit (P3) JDK-8256807: C2: Not marking stores correctly as mismatched in string opts (P3) JDK-8251925: C2: RenaissanceStressTest fails with assert(!had_error): bad dominance (P3) JDK-8259633: compiler/graalunit/CoreTest.java fails with NPE after JDK-8244543 (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-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-8215144: PPC64: Wrong assertion "illegal object size" (P3) JDK-8256061: RegisterSaver::save_live_registers() omits upper halves of ZMM0-15 registers (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-8260338: Some fields in HaltNode is not cloned (P4) JDK-8217848: [Graal] vmTestbase/nsk/jvmti/ResourceExhausted/resexhausted003/TestDescription.java fails (P4) JDK-8257423: [PPC64] Support -XX:-UseInlineCaches (P4) JDK-8260502: [s390] NativeMovRegMem::verify() fails because it's too strict (P4) JDK-8237483: AArch64 C1 OopMap inserted twice fatal error (P4) JDK-8212043: AArch64: Add floating-point Math.min/max intrinsics (P4) JDK-8222785: aarch64: add necessary masking for immediate shift counts (P4) JDK-8241911: AArch64: Fix a potential issue about register allocation effect rule in reduce_add2I (P4) JDK-8210578: AArch64: Invalid encoding for fmlsvs instruction (P4) JDK-8240353: AArch64: missing support for -XX:+ExtendedDTraceProbes in C1 (P4) JDK-8210413: AArch64: Optimize div/rem by constant in C1 (P4) JDK-8221995: AARCH64: problems with CAS instructions encoding (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-8218550: Add test omitted from JDK-8212043 (P4) JDK-8259706: C2 compilation fails with assert(vtable_index == Method::invalid_vtable_index) failed: correct sentinel value (P4) JDK-8253524: C2: Refactor code that clones predicates during loop unswitching (P4) JDK-8243618: compiler/rtm/cli tests can be run w/o WhiteBox (P4) JDK-8245512: CRC32 optimization using AVX512 instructions (P4) JDK-8259773: Incorrect encoding of AVX-512 kmovq instruction (P4) JDK-8255742: PrintInlining as compiler directive doesn't print virtual calls (P4) JDK-8248901: Signed immediate support in .../share/assembler.hpp is broken. (P4) JDK-8259049: Uninitialized variable after JDK-8257513 (P5) JDK-8256387: Unexpected result if patching an entire instruction on AArch64 (P5) JDK-8260308: Update LogCompilation junit to 4.13.1 hotspot/gc: (P2) JDK-8235324: Dying objects are published from users of CollectedHeap::object_iterate (P2) JDK-8209193: Fix aarch64-linux compilation after -Wreorder changes (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-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-8237369: Shenandoah: failed vmTestbase/nsk/jvmti/AttachOnDemand/attach021/TestDescription.java test (P2) JDK-8234508: VM_HeapWalkOperation::iterate_over_object reads non-strong fields with an on-strong load barrier (P3) JDK-8211150: G1 Full GC not purging code root memory and hence causing memory leak (P3) JDK-8237392: Shenandoah: Remove unreliable assertion (P4) JDK-8251944: Add Shenandoah test config to compiler/gcbarriers/UnsafeIntrinsicsTest.java (P4) JDK-8253220: Epsilon: clean up unused code/declarations (P4) JDK-8258534: Epsilon: clean up unused includes (P4) JDK-8259231: Epsilon: improve performance under contention during virtual space expansion (P4) JDK-8257565: epsilonBarrierSet.hpp should not include barrierSetAssembler (P4) JDK-8259954: gc/shenandoah/mxbeans tests fail with -Xcomp (P4) JDK-8249787: Make TestGCLocker more resilient with concurrent GCs (P4) JDK-8245026: PsAdaptiveSizePolicy::_old_gen_policy_is_ready is unused (P4) JDK-8229474: Shenandoah: Cleanup CM::update_roots() (P4) JDK-8261413: Shenandoah: Disable class-unloading in I-U mode (P4) JDK-8251359: Shenandoah: filter null oops before calling enqueue/SATB barrier (P4) JDK-8240751: Shenandoah: fold ShenandoahTracer definition (P4) JDK-8260497: Shenandoah: Improve SATB flushing (P4) JDK-8256806: Shenandoah: optimize shenandoah/jni/TestPinnedGarbage.java test (P4) JDK-8259849: Shenandoah: Rename store-val to IU-barrier (P4) JDK-8259580: Shenandoah: uninitialized label in VerifyThreadGCState (P4) JDK-8261251: Shenandoah: Use object size for full GC humongous compaction hotspot/jfr: (P2) JDK-8232905: JFR fails with assertion: assert(t->unflushed_size() == 0) failed: invariant (P2) JDK-8245283: JFR: Can't handle constant dynamic used by Jacoco agent (P2) JDK-8258396: SIGILL in jdk.jfr.internal.PlatformRecorder.rotateDisk() hotspot/jvmti: (P3) JDK-8221584: SIGSEGV in os::PlatformEvent::unpark() in JvmtiRawMonitor::raw_exit while posting method exit event hotspot/runtime: (P2) JDK-8256359: AArch64: runtime/ReservedStack/ReservedStackTestCompiler.java fails (P2) JDK-8261310: PPC64 Zero build fails with 'VMError::controlled_crash(int)::FunctionDescriptor functionDescriptor' has incomplete type and cannot be defined (P2) JDK-8259446: runtime/jni/checked/TestCheckedReleaseArrayElements.java fails with stderr not empty (P2) JDK-8086003: Test fails on OSX with java.lang.RuntimeException 'Narrow klass base: 0x0000000000000000, Narrow klass shift: 3' missing (P3) JDK-8260349: Cannot programmatically retrieve Metaspace max set via JAVA_TOOL_OPTIONS (P3) JDK-8257746: Regression introduced with JDK-8250984 - memory might be null in some machines (P3) JDK-8258077: Using -Xcheck:jni can lead to a double-free after JDK-8193234 (P3) JDK-8255734: VM should ignore SIGXFSZ on ppc64, s390 too (P4) JDK-8251255: [linux] Add process-memory information to hs-err and VM.info (P4) JDK-8250911: [windows] os::pd_map_memory error detection broken (P4) JDK-8260029: aarch64: fix typo in verify_oop_array (P4) JDK-8233912: aarch64: minor improvements of atomic operations (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-8244340: Handshake processing thread lacks yielding (P4) JDK-8223186: HotSpot compile warnings from GCC 9 (P4) JDK-8234742: Improve handshake logging (P4) JDK-8256489: Make gtest for long path names on Windows more resilient in the presence of virus scanners (P4) JDK-8214180: Need better granularity for sleeping (P4) JDK-8261334: NMT: tuning statistic shows incorrect hash distribution (P4) JDK-8234796: Refactor Handshake::execute to take a more complex type than ThreadClosure (P4) JDK-8222518: Remove unnecessary caching of Parker object in java.lang.Thread (P4) JDK-8261585: Restore HandleArea used in Deoptimization::uncommon_trap (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 hotspot/svc: (P4) JDK-8259451: Zero: skip serviceability/sa tests, set vm.hasSA to false hotspot/svc-agent: (P3) JDK-7107012: sun.jvm.hostspot.code.CompressedReadStream readDouble() conversion to long mishandled (P4) JDK-8258471: "search codecache" clhsdb command does not work infrastructure: (P4) JDK-8257408: Bump update version for OpenJDK: jdk-11.0.11 infrastructure/build: (P3) JDK-8253615: Change to Visual Studio 2019 16.7.2 for building on Windows at Oracle (P3) JDK-8214741: docs/index.html has no title or copyright (P3) JDK-8211057: Gensrc step CompileProperties generates unstable CompilerProperties output (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 (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-8259949: x86 32-bit build fails when -fcf-protection is passed in the compiler flags security-libs/java.security: (P2) JDK-8259312: VerifyCACerts.java fails as soneraclass2ca cert will expire in 90 days (P3) JDK-8244683: A TSA server used by tests (P3) JDK-8256421: Add 2 HARICA roots to cacerts truststore (P3) JDK-8242565: Policy initialization issues when the denyAfter constraint is enabled (P3) JDK-8218482: sun/security/krb5/auto/ReplayCachePrecise.java failed - no KrbException thrown (P3) JDK-8246709: sun/security/tools/jarsigner/TsacertOptionTest.java compilation failed after JDK-8244683 (P4) JDK-8263069: Exclude some failing tests from security/infra/java/security/cert/CertPathValidator security-libs/javax.crypto: (P3) JDK-8258419: RSA cipher buffer cleanup security-libs/javax.crypto:pkcs11: (P3) JDK-8180837: SunPKCS11-NSS tests failing with CKR_ATTRIBUTE_READ_ONLY and CKR_MECHANISM_PARAM_INVALID (P3) JDK-8261534: Test sun/security/pkcs11/KeyAgreement/IllegalPackageAccess.java fails on platforms where no nsslib artifacts are defined (P3) JDK-8244154: Update SunPKCS11 provider with PKCS11 v3.0 header files (P4) JDK-8258833: Cancel multi-part cipher operations in SunPKCS11 after failures (P4) JDK-8259319: Illegal package access when SunPKCS11 requires SunJCE's classes security-libs/javax.net.ssl: (P2) JDK-8202343: Disable TLS 1.0 and 1.1 (P2) JDK-8256682: JDK-8202343 is incomplete (P2) JDK-8256818: SSLSocket that is never bound or connected leaks socket resources (P3) JDK-8245005: javax/net/ssl/compatibility/BasicConnectTest.java failed with No enum constant (P3) JDK-8257083: Security infra test failures caused by JDK-8202343 (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 (P3) JDK-8253368: TLS connection always receives close_notify exception (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() tools: (P2) JDK-8214223: tools/jdeps/listdeps/ListModuleDeps.java failed due to missing Lib2 file (P3) JDK-8225773: jdeps --check produces NPE if there is any missing module dependence (P3) JDK-8213909: jdeps --print-module-deps should report missing dependences (P3) JDK-8229396: jdeps ignores multi-release when generate-module-info used on command line (P4) JDK-8211051: jdeps usage of --dot-output doesn't provide valid output for modular jar (P5) JDK-8168869: jdeps: localized messages don't use proper line breaks tools/javac: (P4) JDK-8256290: javac/lambda/T8031967.java fails with StackOverflowError on x86_32 tools/javap: (P4) JDK-8244573: java.lang.ArrayIndexOutOfBoundsException thrown for malformed class file tools/jlink: (P3) JDK-8255845: Memory leak in imageFile.cpp (P4) JDK-8214230: Classes generated by SystemModulesPlugin.java are not reproducable (P4) JDK-8261829: Exclude tools/jlink/JLinkReproducibleTest.java in 11u tools/jshell: (P3) JDK-8261920: [AIX] jshell command throws java.io.IOError on non English locales (P3) JDK-8241598: Upgrade JLine to 3.14.0 (P3) JDK-8242030: Wrong package declarations in jline classes after JDK-8241598 xml/jaxp: (P3) JDK-8249867: XML declaration is not followed by a newline (P4) JDK-8261209: isStandalone property: remove dependency on pretty-print