RELEASE NOTES FOR: 11.0.18 ==================================================================================================== Notes generated: Wed Jun 05 20:56:39 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: security-libs/javax.net.ssl: JDK-8273553: Change in SSLEngine.closeInbound() Behavior The SunJSSE close notification checks for `SSLEngine` to have been made less strict to conform to changes in the Transport Layer Security (TLS) RFCs. See also [JDK-8253368](https://bugs.openjdk.org/browse/JDK-8253368). Specifically, if an application tries to close its `SSLEngine` inbound side using `SSLEngine.closeInbound()` without having received a close notification message from its peer, the `SSLEngine` 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`. But a fatal-level alert will no longer be generated to be sent to the peer, and the underlying session will remain valid. In addition, the internal transport context for the `SSLEngine` will also now be closed. This may result in a different `SSLEngineResult.HandshakeStatus` value on the `SSLEngine`. Any outstanding outbound data must still be obtained (`SSLEngine.wrap()`) and sent in order to gracefully close the connection. security-libs/javax.crypto: JDK-6782021: Windows KeyStore Updated to Include Access to the Local Machine Location The Windows KeyStore support in the SunMSCAPI provider has been expanded to include access to the local machine location. The new keystore types are: * "Windows-MY-LOCALMACHINE" * "Windows-ROOT-LOCALMACHINE" The following keystore types were also added, allowing developers to make it clear they map to the current user: * "Windows-MY-CURRENTUSER" (same as "Windows-MY") * "Windows-ROOT-CURRENTUSER" (same as "Windows-ROOT") security-libs/java.security: JDK-8282730: New Implementation Note for LoginModule on Removing Null from a Principals or Credentials Set The `Set` implementation that holds principals and credentials in a JAAS `Subject` prohibits null elements and any attempt to add, query, or remove a null element will result in a `NullPointerException`. This is especially important when trying to remove principals or credentials from the subject at the logout phase but they are null because of a previous failed login. Various JDK `LoginModule` implementations have been fixed to avoid the exception. An Implementation Note has also been added to the `logout()` method of the `LoginModule` interface. Developers should verify, and if necessary update, any custom `LoginModule` implementations to be compliant with this implementation advice. ALL FIXED ISSUES, BY COMPONENT AND PRIORITY: client-libs: (P3) JDK-8274029: Remove jtreg tag manual=yesno for java/awt/print/Dialog/DialogOrient.java (P4) JDK-8282046: Create a regression test for JDK-8000326 (P4) JDK-8282640: Create a test for JDK-4740761 (P4) JDK-8285617: Fix java/awt/print/PrinterJob/ImagePrinting/PrintARGBImage.java manual test (P4) JDK-8273685: Remove jtreg tag manual=yesno for java/awt/Graphics/LCDTextAndGraphicsState.java & show test instruction (P4) JDK-8274032: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/ImagePrinting/ImageTypes.java & show test UI client-libs/2d: (P3) JDK-8264666: Change implementation of safeAdd/safeMult in the LCMSImageLayout class (P3) JDK-8022403: sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java fails (P3) JDK-8297153: sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java fails again (P3) JDK-8293672: Update freetype md file (P3) JDK-8295429: Update harfbuzz md file (P3) JDK-8297241: Update sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java (P4) JDK-8285604: closed sun/java2d/GdiRendering/ClipShapeRendering.java failed with "Incorrect color ffeeeeee instead of ff0000ff in pixel (100, 100)" (P4) JDK-7001973: java/awt/Graphics2D/CopyAreaOOB.java fails (P4) JDK-8287609: macOS: SIGSEGV at [CoreFoundation] CFArrayGetCount / sun.font.CFont.getTableBytesNative (P4) JDK-8286624: Regression Test CoordinateTruncationBug.java fails on OL8.3 (P4) JDK-8274456: Remove jtreg tag manual=yesno java/awt/print/PrinterJob/PageDialogTest.java (P4) JDK-8198343: Test java/awt/print/PrinterJob/TestPgfmtSetMPA.java may fail w/o printer (P4) JDK-8297147: UnexpectedSourceImageSize test times out on slow machines when fastdebug is used client-libs/java.awt: (P3) JDK-8030121: java/awt/dnd/MissingDragExitEventTest/MissingDragExitEventTest.java fails (P3) JDK-8296957: One more cast in SAFE_SIZE_NEW_ARRAY2 (P3) JDK-8296496: Overzealous check in sizecalc.h prevents large memory allocation (P3) JDK-8274597: Some of the dnd tests time out and fail intermittently (P3) JDK-8255439: System Tray icons get corrupted when Windows scaling changes (P4) JDK-8169187: [macosx] Aqua: java/awt/image/multiresolution/MultiresolutionIconTest.java (P4) JDK-8202836: [macosx] test java/awt/Graphics/TextAAHintsTest.java fails (P4) JDK-8028998: [TEST_BUG] [macosx] java/awt/dnd/DropTargetEnterExitTest/MissedDragExitTest.java failed (P4) JDK-8159599: [TEST_BUG] java/awt/Modal/ModalInternalFrameTest/ModalInternalFrameTest.java (P4) JDK-8079267: [TEST_BUG] Test java/awt/Frame/MiscUndecorated/RepaintTest.java fails (P4) JDK-8129827: [TEST_BUG] Test java/awt/Robot/RobotWheelTest/RobotWheelTest.java fails (P4) JDK-8297481: Create a regression test for JDK-4424517 (P4) JDK-8286772: java/awt/dnd/DropTargetInInternalFrameTest/DropTargetInInternalFrameTest.html times out and fails in Windows (P4) JDK-8292866: Java_sun_awt_shell_Win32ShellFolder2_getLinkLocation check MultiByteToWideChar return value for failures (P4) JDK-8295554: Move the "sizecalc.h" to the correct location (P4) JDK-8286872: Refactor add/modify notification icon (TrayIcon) (P4) JDK-6829250: Reg test: java/awt/Toolkit/ScreenInsetsTest/ScreenInsetsTest.java fails in Windows (P4) JDK-8286663: Resolve IDE warnings in WTrayIconPeer and SystemTray (P4) JDK-8296632: Write a test to verify the content change of TextArea sends TextEvent client-libs/javax.accessibility: (P2) JDK-8287826: javax/accessibility/4702233/AccessiblePropertiesTest.java fails to compile (P3) JDK-8284690: [macos] VoiceOver : Getting java.lang.IllegalArgumentException: Invalid location on Editable JComboBox (P3) JDK-8277497: Last column cell in the JTable row is read as empty cell (P4) JDK-8282777: Create a Regression test for JDK-4515031 (P4) JDK-8282778: Create a regression test for JDK-4699544 (P4) JDK-8282857: Create a regression test for JDK-4702690 (P4) JDK-8285305: Create an automated test for JDK-4495286 (P4) JDK-8285373: Create an automated test for JDK-4702233 client-libs/javax.sound: (P4) JDK-8178698: javax/sound/midi/Sequencer/MetaCallback.java failed with timeout (P4) JDK-8275170: Some jtreg sound tests should be marked with sound keyword client-libs/javax.swing: (P3) JDK-8256109: Create implementation for NSAccessibilityButton protocol (P3) JDK-8256108: Create implementation for NSAccessibilityElement protocol peer (P3) JDK-8254976: Re-enable swing jtreg tests which were broken due to samevm mode (P3) JDK-8244557: test/jdk/javax/swing/JTabbedPane/TestBackgroundScrollPolicy.java failed (P4) JDK-8281296: Create a regression test for JDK-4515999 (P4) JDK-8282402: Create a regression test for JDK-4666101 (P4) JDK-8285698: Create a test to check the focus stealing of JPopupMenu from JComboBox (P4) JDK-8284294: Create an automated regression test for RFE 4138746 (P4) JDK-8273578: javax/swing/JMenu/4515762/bug4515762.java fails on macOS 12 (P4) JDK-8194126: Regression automated Test '/open/test/jdk/javax/swing/JColorChooser/Test7194184.java' fails (P4) JDK-8193942: Regression automated test '/open/test/jdk/javax/swing/JFrame/8175301/ScaledFrameBackgroundTest.java' fails (P4) JDK-8284884: Replace polling with waiting in javax/swing/text/html/parser/Parser/8078268/bug8078268.java (P4) JDK-4819544: SwingSet2 JTable Demo throws NullPointerException (P4) JDK-8172269: When checking the default behaviour for a scroll tab layout and checking the 'opaque' checkbox, the area behind tabs is not red. (P4) JDK-8282936: Write a regression test for JDK-4615365 (P4) JDK-8280948: Write a regression test for JDK-4659800 (P4) JDK-8282937: Write a regression test for JDK-4820080 (P4) JDK-8284521: Write an automated regression test for RFE 4371575 core-libs: (P4) JDK-8284977: MetricsTesterCgroupV2.getLongValueEntryFromFile fails when named value doesn't exist core-libs/java.lang: (P4) JDK-8249694: java/lang/StringBuffer/HugeCapacity.java and j/l/StringBuilder/HugeCapacity.java tests shouldn't be @ignore-d (P4) JDK-8211002: test/jdk/java/lang/Math/PowTests.java skips testing for non-corner-case values core-libs/java.lang:class_loading: (P3) JDK-8287917: System.loadLibrary does not work on Big Sur if JDK is built with macOS SDK 10.15 and earlier core-libs/java.net: (P3) JDK-8285836: sun/net/www/http/KeepAliveCache/KeepAliveProperty.java failed with "RuntimeException: Failed in server" core-libs/java.nio: (P4) JDK-8277159: Fix java/nio/file/FileStore/Basic.java test by ignoring /run/user/* mount points core-libs/java.text: (P3) JDK-8299439: java/text/Format/NumberFormat/CurrencyFormat.java fails for hr_HR core-libs/java.time: (P3) JDK-8294357: (tz) Update Timezone Data to 2022d (P3) JDK-8295173: (tz) Update Timezone Data to 2022e (P3) JDK-8296108: (tz) Update Timezone Data to 2022f (P3) JDK-8297804: (tz) Update Timezone Data to 2022g (P4) JDK-8293834: Update CLDR data following tzdata 2022c update core-libs/java.util: (P2) JDK-8284771: java/util/zip/CloseInflaterDeflaterTest.java failed with "AssertionError: Expected IOException to be thrown, but nothing was thrown" (P2) JDK-8280950: RandomGenerator:NextDouble() default behavior non conformant after JDK-8280550 fix (P2) JDK-8281183: RandomGenerator:NextDouble() default behavior partially fixed by JDK-8280950 (P4) JDK-8280550: SplittableRandom#nextDouble(double,double) can return result >= bound core-libs/java.util:i18n: (P3) JDK-8296715: CLDR v42 update for tzdata 2022f (P3) JDK-8292899: CustomTzIDCheckDST.java testcase failed on AIX platform (P3) JDK-8294307: ISO 4217 Amendment 173 Update (P3) JDK-8296239: ISO 4217 Amendment 174 Update (P4) JDK-8288377: [REDO] DST not applying properly with zone id offset set with TZ env variable (P4) JDK-8287896: PropertiesTest.sh fail on msys2 (P4) JDK-8287902: UnreadableRB case in MissingResourceCauseTest is not working reliably on Windows core-libs/javax.naming: (P4) JDK-8275535: Retrying a failed authentication on multiple LDAP servers can lead to users blocked core-svc: (P3) JDK-8293540: [Metrics] Incorrectly detected resource limits with additional cgroup fs mounts (P3) JDK-8294740: Add cgroups keyword to TestDockerBasic.java core-svc/debugger: (P3) JDK-8215571: jdb does not include jdk.* in the default class filter core-svc/java.lang.instrument: (P3) JDK-8292778: EncodingSupport_md.c convertUtf8ToPlatformString wrong placing of free core-svc/java.lang.management: (P3) JDK-8292541: [Metrics] Reported memory limit may exceed physical machine memory (P4) JDK-8288599: com/sun/management/OperatingSystemMXBean/TestTotalSwap.java: Expected total swap size ... but getTotalSwapSpaceSize returned ... (P4) JDK-8268361: Fix the infinite loop in next_line hotspot/compiler: (P2) JDK-8287091: aarch64 : guarantee(val < (1ULL << nbits)) failed: Field too big for insn (P2) JDK-8288445: AArch64: C2 compilation fails with guarantee(!true || (true && (shift != 0))) failed: impossible encoding (P2) JDK-8292158: AES-CTR cipher state corruption with AVX-512 (P2) JDK-8293044: C1: Missing access check on non-accessible class (P2) JDK-8290529: C2: assert(BoolTest(btest).is_canonical()) failure (P2) JDK-8288302: Shenandoah: SIGSEGV in vm maybe related to jit compiling xerces (P3) JDK-8294578: [PPC64] C2: Missing is_oop information when using disjoint compressed oops mode (P3) JDK-8297656: AArch64: Enable AES/GCM Intrinsics (P3) JDK-8290711: assert(false) failed: infinite loop in PhaseIterGVN::optimize (P3) JDK-8289043: C2: Vector constant materialization attempt (P3) JDK-8293816: CI: ciBytecodeStream::get_klass() is not consistent (P3) JDK-8290451: Incorrect result when switching to C2 OSR compilation from C1 (P3) JDK-8240281: Remove failing assertion code when selecting first memory state in SuperWord::co_locate_pack (P3) JDK-8290781: Segfault at PhaseIdealLoop::clone_loop_handle_data_uses (P3) JDK-8290705: StringConcat::validate_mem_flow asserts with "unexpected user: StoreI" (P3) JDK-8284358: Unreachable loop is not removed from C2 IR, leading to a broken graph (P4) JDK-8291461: assert(false) failed: bad AD file (P4) JDK-8293826: Closed test fails after JDK-8276108 on aarch64 (P4) JDK-8269029: compiler/codegen/TestCharVect2.java fails for client VMs (P4) JDK-8283422: Create a new test for JDK-8254790 (P4) JDK-8261336: IGV: enhance default filters (P4) JDK-8287425: Remove unnecessary register push for MacroAssembler::check_klass_subtype_slow_path hotspot/gc: (P2) JDK-8253877: gc/g1/TestGCLogMessages.java fails - missing "Evacuation failure" message (P2) JDK-8281297: TestStressG1Humongous fails with guarantee(is_range_uncommitted) (P2) JDK-8254874: ZGC: JNIHandleBlock verification failure in stack watermark processing (P4) JDK-8244010: Simplify usages of ProcessTools.createJavaProcessBuilder in our tests (P4) JDK-8243565: some gc tests use 'test.java.opts' and not 'test.vm.opts' (P4) JDK-8227179: Test for new gc+metaspace=info output format hotspot/jfr: (P3) JDK-8293998: [PPC64] JfrGetCallTrace: assert(_pc != nullptr) failed: must have PC (P4) JDK-8295872: [PPC64] JfrGetCallTrace: Need pc == nullptr check before frame constructor (P4) JDK-8274563: jfr/event/oldobject/TestClassLoaderLeak.java fails when GC cycles are not happening (P4) JDK-8293828: JFR: jfr/event/oldobject/TestClassLoaderLeak.java still fails when GC cycles are not happening hotspot/runtime: (P2) JDK-8298737: 8296772 backport to jdk11u caused build error on sparc (P2) JDK-8291459: JVM crash with GenerateOopMap::error_work(char const*, __va_list_tag*) (P3) JDK-8292083: Detected container memory limit may exceed physical machine memory (P3) JDK-8293472: Incorrect container resource limit detection if manual cgroup fs mounts present (P3) JDK-8283199: Linux os::cpu_microcode_revision() stalls cold startup (P3) JDK-8261445: Use memory_order_relaxed for os::random(). (P4) JDK-8289146: containers/docker/TestMemoryWithCgroupV1.java fails on linux ppc64le machine with missing Memory and Swap Limit output (P4) JDK-8264593: debug.cpp utilities should be available in product builds. (P4) JDK-8266967: debug.cpp utility find() should print Java Object fields. (P4) JDK-8282345: handle latest VS2022 in abstract_vm_version (P4) JDK-8268893: jcmd to trim the glibc heap (P4) JDK-8263871: On sem_destroy() failing we should assert (P4) JDK-8282306: os::is_first_C_frame(frame*) crashes on invalid link access (P4) JDK-8295469: S390X: Optimized builds are broken (P4) JDK-8243568: serviceability/logging/TestLogRotation.java uses 'test.java.opts' and not 'test.vm.opts' (P4) JDK-8226236: win32: gc/metaspace/TestCapacityUntilGCWrapAround.java fails (P4) JDK-8284752: Zero does not build on Mac OS X due to missing os::current_thread_enable_wx implementation (P5) JDK-8284732: FFI_GO_CLOSURES macro not defined but required for zero build on Mac OS X hotspot/svc: (P4) JDK-8285794: AsyncGetCallTrace might acquire a lock via JavaThread::thread_from_jni_environment (P4) JDK-8285921: serviceability/dcmd/jvmti/AttachFailed/AttachReturnError.java fails on Alpine hotspot/svc-agent: (P4) JDK-8263326: Remove ReceiverTypeData check from serviceability/sa/TestPrintMdo.java (P4) JDK-8269873: serviceability/sa/Clhsdb tests are using a C2 specific VMStruct field hotspot/test: (P4) JDK-8295288: Some vm_flags tests associate with a wrong BugID (P4) JDK-8295322: Tests for JDK-8271459 were not backported to 11u (P4) JDK-8282642: vmTestbase/gc/gctests/LoadUnloadGC2/LoadUnloadGC2.java fails intermittently with exit code 1 infrastructure: (P4) JDK-8292887: Bump update version for OpenJDK: jdk-11.0.18 (P4) JDK-8295641: Fix DEFAULT_PROMOTED_VERSION_PRE=ea for -dev infrastructure/build: (P2) JDK-8299616: [11u] Bootcycle build fails after JDK-8257679 backport (P2) JDK-8257679: Improved unix compatibility layer in Windows build (winenv) (P3) JDK-8260272: bash configure --prefix does not work after JDK-8257679 (P3) JDK-8217032: Check pandoc capabilities in configure (P3) JDK-8287724: Fix various issues with msys2 (P3) JDK-8295714: GHA ::set-output is deprecated and will be removed (P3) JDK-8258005: JDK build fails with incorrect fixpath script (P3) JDK-8239708: Split basics.m4 into basic.m4 and util.m4 (P3) JDK-8247676: vcruntime140_1.dll is not needed on 32-bit Windows (P3) JDK-8242468: VS2019 build missing vcruntime140_1.dll (P4) JDK-8294138: [11u] Revert change from JDK-8210962 in basic.m4 (P4) JDK-8206125: [windows] cannot pass relative path to --with-boot-jdk (P4) JDK-8276841: Add support for Visual Studio 2022 (P4) JDK-8213239: Configure cannot handle command overrides with arguments (P4) JDK-8259485: Document need for short paths when building on Windows (P4) JDK-8296652: Restore windows aarch64 fixpath patch that was removed in 8239708 (P4) JDK-8280863: Update build README to reflect that MSYS2 is supported (P4) JDK-8268860: Windows-Aarch64 build is failing in GitHub actions infrastructure/release_eng: (P4) JDK-8299393: [11u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 11.0.18 security-libs/java.security: (P3) JDK-8296485: BuildEEBasicConstraints.java test fails with SunCertPathBuilderException (P3) JDK-8280890: Cannot use '-Djava.system.class.loader' with class loader in signed JAR (P3) JDK-8296480: java/security/cert/pkix/policyChanges/TestPolicy.java is failing (P3) JDK-8282730: LdapLoginModule throw NPE from logout method after login failure (P3) JDK-8280158: New test from JDK-8274736 failed with/without patch in JDK11u (P3) JDK-8288132: Update test artifacts in QuoVadis CA interop tests (P4) JDK-8279066: entries.remove(entry) is useless in PKCS12KeyStore (P4) JDK-8257722: Improve "keytool -printcert -jarfile" output (P4) JDK-8273236: keytool does not accurately warn about algorithms that are disabled but have additional constraints security-libs/javax.crypto: (P3) JDK-8277970: Test jdk/sun/security/ssl/SSLSessionImpl/NoInvalidateSocketException.java fails with "tag mismatch" (P4) JDK-6782021: It is not possible to read local computer certificates with the SunMSCAPI provider security-libs/javax.crypto:pkcs11: (P4) JDK-8288985: P11TlsKeyMaterialGenerator should work with ChaCha20-Poly1305 security-libs/javax.net.ssl: (P3) JDK-8212096: javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java failed intermittently due to SSLException: Tag mismatch (P3) JDK-8273553: sun.security.ssl.SSLEngineImpl.closeInbound also has similar error of JDK-8253368 (P3) JDK-8227651: Tests fail with SSLProtocolException: Input record too big (P4) JDK-8277881: Missing SessionID in TLS1.3 resumption in compatibility mode security-libs/javax.security: (P3) JDK-8292682: Code change of JDK-8282730 not updated to reflect CSR update tools: (P4) JDK-8287895: Some langtools tests fail on msys2 tools/javac: (P2) JDK-8293578: Duplicate ldc generated by javac (P2) JDK-8222251: preflow visitor is not visiting lambda expressions (P3) JDK-8266082: AssertionError in Annotate.fromAnnotations with -Xdoclint (P4) JDK-8029633: Raw inner class constructor ref should not perform diamond inference tools/javadoc(tool): (P3) JDK-8222091: Javadoc does not handle package annotations correctly on package-info.java (P4) JDK-8210047: some pages contain content outside of landmark region xml/jaxp: (P3) JDK-8290207: Missing notice in dom.md (P4) JDK-8290209: jcup.md missing additional text xml/org.w3c.dom: (P3) JDK-8287076: Document.normalizeDocument() produces different results