RELEASE NOTES FOR: 10.0.2 ==================================================================================================== Notes generated: Tue Apr 02 06:02:15 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: core-libs/java.lang.invoke: JDK-8194554: filterArguments Runs Multiple Filters in the Wrong Order The specification of the method `java.lang.invoke.MethodHandles.filterArguments` was clarified to state more clearly that filter arguments are invoked in left to right order. The implementation of this method was also fixed to ensure that it conformed to the specification. Prior to the fix, the implementation incorrectly invoked filters in right to left order. For the majority of usages, it is expected that the change in behavior will not be observable. Only in a minority of cases, where two or more filters have side-effects that affect their results, will the change in behavior be observable. hotspot/gc: JDK-8187577: JVM Crash during G1 GC A klass that has been considered unreachable by the concurrent marking of G1, can be looked up in the `ClassLoaderData/SystemDictionary`, and its `_java_mirror` or `_class_loader` fields can be stored in a root or any other reachable object making it alive again. Whenever a klass is resurrected in this manner, the SATB part of G1 needs to be notified about this, otherwise, the concurrent marking remark phase will erroneously unload that klass. In this particular crash, while G1 was doing concurrent marking and had prepared its list of unreachable classes, JVMTI on a Java thread could traverse classes in the CLD and store thread-local JNIHandles for the java_mirror of the loaded classes. G1 did not have knowledge of these thread-local JNIHandles, and in the remark phase, it unloaded classes per its prior knowledge of unreachable classes. When these JNIHandles were later scanned, it lead to a crash. This fix for JDK-8187577 informs G1's SATB that a klass has been resurrected and should not be unloaded. ALL FIXED ISSUES, BY COMPONENT AND PRIORITY: client-libs/2d: (P2) JDK-8195615: libsplashscreen linux ppc64le build error after libpng update (P2) JDK-8196288: Update src/java.desktop/share/legal/libharfbuzz.md for harfbuzz 1.7.1 (P3) JDK-8201433: Fix potential crash in BufImg_SetupICM client-libs/java.awt: (P2) JDK-8194135: The content in textArea can not be pasted after clicking "Copy" button. (P2) JDK-8195852: The usage of permissions in Desktop API should be clarified (P2) JDK-8196287: Update src/java.desktop/share/legal/libpng.md for libpng 1.6.34 client-libs/javax.swing: (P2) JDK-8194044: Regression manual Test javax/swing/JFileChooser/8067660/FileChooserTest.java fails (P3) JDK-8193673: Regression manual Test javax/swing/JFileChooser/6515169/bug6515169.java fails core-libs: (P5) JDK-8194959: Correct test tag to move bugid from @test to @bug core-libs/java.io: (P3) JDK-8194929: Unreferenced FileDescriptors not closed core-libs/java.io:serialization: (P3) JDK-8203368: ObjectInputStream filterCheck method throws NullPointerException core-libs/java.lang.invoke: (P2) JDK-8195970: Crash passing null to a VarHandle (P3) JDK-8194554: filterArguments runs multiple filters in the wrong order core-libs/java.lang:reflect: (P3) JDK-8191350: jdk/internal/reflect/CallerSensitive/CheckCSMs.java test fails when -Xmx512m set core-libs/java.net: (P2) JDK-8195823: Buffers given to response body subscribers should not contain unprocessed HTTP data (P2) JDK-8195138: The asynchronous Http1HeaderParser doesn't handle all line folds correctly (P2) JDK-8194883: Unhandleable Push Promises should be cancelled core-libs/java.nio: (P3) JDK-8193802: NullPointerException from JarFileSystem.getVersionMap() core-libs/java.time: (P2) JDK-8195837: (tz) Upgrade time-zone data to tzdata2018c (P4) JDK-8200359: (tz) Upgrade time-zone data to tzdata2018d (P4) JDK-8203233: (tz) Upgrade time-zone data to tzdata2018e core-libs/java.util.logging: (P2) JDK-8195096: Exception printed on console with custom LogManager on starting Apache Tomcat core-libs/java.util.stream: (P3) JDK-8075939: Stream.flatMap() causes breaking of short-circuiting of terminal operations core-libs/java.util:i18n: (P2) JDK-8195478: sun/text/resources/LocaleDataTest.java fails with java.lang.Exception (P3) JDK-8193767: Improve javadoc in ResourceBundle working with modules (P3) JDK-8187946: Support ISO 4217 Amendments 163 and 164 core-libs/jdk.nashorn: (P2) JDK-8195123: Very large regressions in Octane benchmarks using 10-b39 core-svc/java.lang.management: (P3) JDK-8179700: Exceptions thrown in StartManagementAgent.java (P3) JDK-8175542: JMX: Not enough JDP packets received deploy: (P3) JDK-8194718: Verification Applet from java.com can not be loaded fine with some exceptions deploy/plugin: (P3) JDK-8194816: java.net.MalformedURLException will show up when java invokes JS function via showDocument deploy/webstart: (P1) JDK-8196763: Java Web Start fails to launch i-net Designer app with AccessControlException ("accessDeclaredMembers") (P2) JDK-8195609: DRS - cert based run rule not working when running offline globalization/translation: (P3) JDK-8194717: JDK 10 L10n resource file update - msgdrop 10 (P3) JDK-8196383: JDK 10 L10n resource file update - msgdrop 20 hotspot: (P4) JDK-8203305: PPC64: Improve TM detection for enabling RTM on Linux / POWER9 hotspot/compiler: (P1) JDK-8195685: AArch64 cannot build with JDK-8174962 (P1) JDK-8198950: AArch64: org.openjdk.jcstress.tests.varhandles.DekkerTest fails (P1) JDK-8193597: sun/nio/cs/TestStringCoding.java fails intermittently with getBytes(csn) failed -> GBK (P2) JDK-8194982: 2 Null pointer dereference defect groups related to ProjNode::is_uncommon_trap_if_pattern() (P2) JDK-8196295: [Graal] remove unused org.graalvm.options package (P2) JDK-8192004: InspectedFrame.materializeVirtualObjects only updates locals with new objects (P2) JDK-8191915: JCK tests produce incorrect results with C2 (P2) JDK-8196296: Lucene test crashes C2 compilation (P3) JDK-8194989: 2 Null pointer dereference defect groups caused by Dependencies::DepValue::as_klass() (P3) JDK-8191362: [Graal] gc/g1/TestShrinkAuxiliaryData tests crash with "assert(check_klass_alignment(result)) failed: address not aligned" (P3) JDK-8194914: Compilation fails with "node not on backedge" in OuterStripMinedLoopNode::adjust_strip_mined_loop (P3) JDK-8194993: Loop Strip Mining has some leftover debugging code (P3) JDK-8194991: Null pointer dereference caused by c2v_getNextStackFrame (P3) JDK-8194992: Null pointer dereference in MultiNode::proj_out related to loopexit() (P4) JDK-8203669: PPC64: Fix jtreg RTM tests after "8203305: Improve TM detection for enabling RTM on Linux / POWER9" hotspot/gc: (P3) JDK-8195094: Fix type-O in "8159422: Very high Concurrent Mark mark stack contention" (P3) JDK-8194681: G1 uses young free cset time when reporting non-young free cset times (P3) JDK-8187577: JVM crash during gc doing concurrent marking (P4) JDK-8197493: [Backout] JDK-8196602 Change HeapRegionClosure to comply to naming conventions (P4) JDK-8197968: [Backout] JDK-8196883 G1RemSet::refine_card_concurrently doesn't need to check for cards in collection set (P4) JDK-8196602: Change HeapRegionClosure to comply to naming conventions (P4) JDK-8196883: G1RemSet::refine_card_concurrently doesn't need to check for cards in collection set (P4) JDK-8202540: Zero fastdebug build is broken after JDK-8189871 (Refactor GC barriers to use declarative semantics) hotspot/runtime: (P1) JDK-8196136: AArch64: Correct register use in patch for JDK-8195685 (P1) JDK-8196221: AArch64: Mistake in committed patch for JDK-8195859 (P1) JDK-8195859: AArch64: vtableStubs gtest fails after 8174962 (P1) JDK-8196022: java.lang.VerifyError is thrown instead of java.lang.IllegalAccessError (P1) JDK-8188145: MethodHandle resolution should follow JVMS sequence of lookup by name & type before type descriptor resolution (P1) JDK-8196503: PPC64: vtableStubs gtest fails after 8174962 (P2) JDK-8196678: avoid printing uninitialized buffer in os::print_memory_info on AIX (P2) JDK-8193933: Export ClassLoaderData claim state to support interleaved object traversal (P2) JDK-8194963: SystemDictionary::link_method_handle_constant() can't link MethodHandle.invoke()/invokeExact() (P2) JDK-8194739: Zero port of 8174962: Better interface invocations (P3) JDK-8194258: PPC64 safepoint mechanism: Fix initialization on AIX and support SIGTRAP (P4) JDK-8195153: [test] runtime/6981737/Test6981737.java shouldn't check 'java.vendor' and 'java.vm.vendor' properties (P4) JDK-8200556: AArch64: assertion failure in debug builds infrastructure/build: (P1) JDK-8198658: Docs still point to JDK 9 docs (P3) JDK-8189761: COMPANY_NAME, IMPLEMENTOR, BUNDLE_VENDOR, VENDOR, but no configure flag (P4) JDK-8201495: [Zero] Reduce limits of max heap size for boot JDK on s390 (P4) JDK-8202784: generated-configure.sh changes missing in 8201495 (P4) JDK-8202210: jlink uses little-endian for big-endian cross-compilation targets (P4) JDK-8202262: libjsig.so not linked with extra linker flags from configure (P4) JDK-8201788: Number of make jobs wrong for bootcycle-images target other-libs/other: (P3) JDK-8195072: Update ASM 3rd party legal copyright to 6.0 security-libs/java.security: (P2) JDK-8194307: KeyStore#getInstance with custom LoadStoreParameter succeeds with invalid password tools: (P3) JDK-8194286: tools/launcher/FXLauncherTest.java fails with java.lang.UnsatisfiedLinkError (P3) JDK-8194287: tools/launcher/RunpathTest.java fails with java.lang.NullPointerException tools/javac: (P2) JDK-8204322: "+=" applied to String operands can provoke side effects (P2) JDK-8199910: Compiler crashes with -g option and variables of intersection type inferred by `var` (P2) JDK-8194764: javac incorrectly flags deprecated for removal imports (P3) JDK-8187805: bogus RuntimeVisibleTypeAnnotations for unused local in a block (P3) JDK-8194836: delta apply changesets for JDK-8192885 and JDK-8175883 (P3) JDK-8200355: local variable inference regression test generates classfile in test folder (P3) JDK-8185986: redundant/obsolete overview.html pages (P3) JDK-8194901: remove interim code from javax.tools.ToolProvider (P4) JDK-8189146: Have use of "var" in 9 and earlier source versions issue a warning for type declarations tools/javadoc(tool): (P2) JDK-8194953: doclet corrupts HTML files when adding navbar (P3) JDK-8181878: javadoc should support/ignore --add-opens (P3) JDK-8194955: Warn when default HTML version is used tools/jlink: (P4) JDK-8194229: tools/jmod/JmodTest.jtr fails when no privilege to create sym link on windows xml/jaxp: (P3) JDK-8196717: remove xmlresolver.md (P4) JDK-8181047: Add comment to technical terms that shall not be translated