RELEASE NOTES FOR: 12.0.2 ==================================================================================================== Notes generated: Thu Jun 06 01:41:36 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.xml.crypto: JDK-8217878: com.sun.org.apache.xml.internal.security.ignoreLineBreaks System Property An Apache Santuario library version upgrade, used by the javax.xml.crypto.* packages, introduces a behavioral change where a new Base64 encoder uses "\r\n" as end-of-line terminator. By default, XML signatures signed using API calls form the javax.xml.crypto.dsig package includes the escaped '\r' character, encoded as " " or " ". A new `com.sun.org.apache.xml.internal.security.ignoreLineBreaks` system property may be set to a value of "true" if an application is unable to handle the encoded output data changes where " " or " " get appended to new lines in encoding operations. The effect of this property is to not include the carriage return character in base64-encoded fields in XML signature generated by calls to the javax.xml.crypto.* packages. Additional information can be found at https://issues.apache.org/jira/browse/SANTUARIO-482. client-libs/javax.swing: JDK-8218472: GTK+ 3.20 and Later Unsupported by Swing Due to incompatible changes in the GTK+ 3 library versions 3.20 and later, the Swing GTK Look and Feel does not render some UI components when using this library. Therefore Linux installations with versions of GTK+ 3.20 and above are not supported for use by the Swing GTK Look And Feel in this release. Affected applications on such configurations should specify the system property `-Djdk.gtk.version=2.2` to request GTK2+ based rendering instead. JDK-8218469: GTK+ 3.20 and Later Unsupported by Swing Due to incompatible changes in the GTK+ 3 library versions 3.20 and later, the Swing GTK Look and Feel does not render some UI components when using this library. Therefore Linux installations with versions of GTK+ 3.20 and above are not supported for use by the Swing GTK Look And Feel in this release. JDK-8218469: GTK+ 3.20 and Later Unsupported by Swing Due to incompatible changes in the GTK+ 3 library versions 3.20 and later, the Swing GTK Look and Feel does not render some UI components when using this library. Therefore Linux installations with versions of GTK+ 3.20 and above are not supported for use by the Swing GTK Look And Feel in this release. Affected applications on such configurations should specify the system property `-Djdk.gtk.version=2.2` to request GTK2+ based rendering instead. JDK-8218469: GTK+ 3.20 and Later Unsupported by Swing Due to incompatible changes in the GTK+ 3 library versions 3.20 and later, the Swing GTK Look and Feel does not render some UI components when using this library. Therefore Linux installations with versions of GTK+ 3.20 and above are not supported for use by the Swing GTK Look And Feel in this release. Affected applications on such configurations should specify the system property -Djdk.gtk.version=2.2 to request GTK2+ based rendering instead. JDK-8218479: GTK+ 3.20 and Later Unsupported by Swing Due to incompatible changes in the GTK+ 3 library versions 3.20 and later, the Swing GTK Look and Feel does not render some UI components when using this library. Therefore Linux installations with versions of GTK+ 3.20 and above are not supported for use by the Swing GTK Look And Feel in this release. Affected applications on such configurations should specify the system property `-Djdk.gtk.version=2.2` to request GTK2+ based rendering instead. JDK-8218470: GTK+ 3.20 and Later Unsupported by Swing Due to incompatible changes in the GTK+ 3 library versions 3.20 and later, the Swing GTK Look and Feel does not render some UI components when using this library. Therefore Linux installations with versions of GTK+ 3.20 and above are not supported for use by the Swing GTK Look And Feel in this release. Affected applications on such configurations should specify the system property `-Djdk.gtk.version=2.2` to request GTK2+ based rendering instead. JDK-8218473: GTK+ 3.20 and Later Unsupported by Swing Due to incompatible changes in the GTK+ 3 library versions 3.20 and later, the Swing GTK Look and Feel does not render some UI components when using this library. Therefore Linux installations with versions of GTK+ 3.20 and above are not supported for use by the Swing GTK Look And Feel in this release. Affected applications on such configurations should specify the system property `-Djdk.gtk.version=2.2` to request GTK2+ based rendering instead. hotspot/gc: JDK-8217014: Epsilon GC Caused Excess Metaspace Resizing Safepoints In this release, Epsilon has been changed to accept GC requests and resize the metaspace to reduce the number of safepoints that are taken. Before this release, the Epsilon GC was intended to provide minimal runtime overhead by not doing GC and by ignoring all incoming GC requests. However, when a metadata-heavy workload (for example, a workload having lots of classes) needed to resize the metaspace, it relied on the GC to resize the metadata at a GC safepoint. Shared GC code would enter the safepoint to call into GC for it. However, because Epsilon ignored the GC request, the safepoint would be generated, but it would not resize the metaspace. This would cause another safepoint to be generated soon afterwards without ever resizing the metaspace. ALL FIXED ISSUES, BY COMPONENT AND PRIORITY: client-libs: (P2) JDK-8210782: Upgrade HarfBuzz to 2.3.1 (P3) JDK-8228466: Fix build on AIX and with Solaris Studio 12u4 in 12u after HarfBuzz 2.3.1 upgrade client-libs/2d: (P3) JDK-8217263: Automate DashOffset test client-libs/java.awt: (P4) JDK-8211267: StackOverflowError happened by TextField.setFont(...) client-libs/javax.accessibility: (P3) JDK-8190361: Incorrect version info in jaccessinspector.exe and jaccesswalker.exe client-libs/javax.swing: (P2) JDK-8218473: JOptionPane display issue with GTKLookAndFeel (P2) JDK-8218472: JProgressBar display issue with GTKLookAndFeel (P2) JDK-8218470: JScrollBar display issue with GTKLookAndFeel (P2) JDK-8218469: JSlider display issue with slider for GTKLookAndFeel (P2) JDK-8218479: JTextPane display issue with GTKLookAndFeel (P2) JDK-8203627: Swing applications with JRadioButton and JCheckbox fail to render correctly when using GTK3 and the GTK L&F core-libs/java.lang: (P4) JDK-8221400: java/lang/String/StringRepeat.java test requests too much heap core-libs/java.math: (P4) JDK-8221401: java/math/BigInteger/LargeValueExceptions.java test should be disabled on 32-bit platforms core-libs/java.net: (P3) JDK-8217094: HttpClient SSL race if a socket IOException is raised before ALPN is available core-libs/java.time: (P4) JDK-8215982: (tz) Upgrade Timezone Data to tzdata2018i core-libs/java.util: (P3) JDK-8172695: (scanner) java/util/Scanner/ScanTest.java fails core-svc/debugger: (P3) JDK-8214122: JDWP is broken on 32 bit Windows: transport library missing onLoad entry hotspot/compiler: (P2) JDK-8211100: HotSpot C1 issue with comparing long numbers on x86 32-bit (P2) JDK-8217874: Shenandoah: AArch64: Clobbered register in ShenandoahBarrierSetAssembler::cmpxchg_oop() (P3) JDK-8219335: "failed: unexpected type" assert failure in ConnectionGraph::split_unique_types() with unsafe accesses (P3) JDK-8217564: idempotent protection missing in crc32c.h (P3) JDK-8219582: PPC: Crash after C1 checkcast patched and GC (P4) JDK-8219006: AArch64: Register corruption in slow subtype check (P4) JDK-8219011: Implement MacroAssembler::warn method on AArch64 hotspot/gc: (P2) JDK-8217794: Missing termination check results violation of termination invariant (P3) JDK-8220344: Build failures when using --with-jvm-features=-g1gc,-jfr (P3) JDK-8218880: G1 crashes when issuing a periodic GC while the GCLocker is held (P3) JDK-8220161: Shenandoah does not need to initialize PLABs for safepoint workers (P3) JDK-8220153: Shenandoah does not work with TransparentHugePages properly (P3) JDK-8219524: Shenandoah misreports "committed" size in MemoryMXBean (P3) JDK-8220162: Shenandoah should not commit HugeTLBFS memory (P4) JDK-8217342: Build failed with excluding JFR (P4) JDK-8217319: Cleanup Shenandoah includes (P4) JDK-8217014: Epsilon should not ignore Metadata GC causes (P4) JDK-8219976: GarbageCollectionNotificationInfo always says "No GC" when running Shenandoah (P4) JDK-8220812: gc/shenandoah/options/TestLoopMiningArguments.java fails if default GC is serial/parallel/cms (P4) JDK-8220228: Improve Shenandoah pacing histogram message (P4) JDK-8217432: MetaspaceGC::_capacity_until_GC exceeds MaxMetaspaceSize (P4) JDK-8217400: Optimized build is broken by Shenandoah changes (P4) JDK-8220350: Refactor ShenandoahHeap::initialize (P4) JDK-8218192: Remove copy constructor for MemRegion (P4) JDK-8215299: Remove G1CMTask::should_exit_termination()'s undesirable side-effect (P4) JDK-8217343: Shenandoah control thread should be able to run at critical priority (P4) JDK-8215549: Shenandoah deduplication cleans up table/queue twice (P4) JDK-8219857: Shenandoah GC may initialize thread's gclab twice (P4) JDK-8220546: Shenandoah Reports timing details for weak root processing (P4) JDK-8221278: Shenandoah should not enqueue string dedup candidates during root scan (P4) JDK-8220444: Shenandoah should use parallel version of WeakProcessor in root processor for weak roots (P4) JDK-8216973: Shenandoah: Kick up cleanup phases in the right places (P4) JDK-8203232: Shenandoah: Resolve oops in SATB filter (P4) JDK-8217016: Shenandoah: Streamline generation of CAS barriers (P4) JDK-8220780: ShenandoahBS::AccessBarrier::oop_store_in_heap ignores AS_NO_KEEPALIVE (P4) JDK-8217213: shenandoahTaskQueue.hpp includes .inline.hpp file (P4) JDK-8215047: Task terminators do not complete termination in consistent state (P4) JDK-8220294: ZGC fails to build on GCC 4.4.7: Type parameter issue hotspot/jfr: (P3) JDK-8215727: Restore JFR thread sampler loop to old / previous behavior (P4) JDK-8216486: Possibility of integer overflow in JfrThreadSampler::run() (P4) JDK-8216578: Remove unused/obsolete method in JFR code hotspot/runtime: (P2) JDK-8217765: Internal Error (javaCalls.cpp:61) guarantee(thread->can_call_java()) failed (P2) JDK-8219974: REDO JDK-8219492: Restore static callsite resolution for the current class (P3) JDK-8216559: [JFR] Native libraries not correctly parsed from /proc/self/maps (P3) JDK-8219712: code_size2 (defined in stub_routines_x86.hpp) is too small on new Skylake CPUs (P3) JDK-8210457: JVM crash in ResolvedMethodTable::add_method(Handle) (P3) JDK-8200109: NMT: diff_malloc_site assert(early->flags() == current->flags(), "Must be the same memory type") (P3) JDK-8216049: stringTable::intern creates redundant String when looking up existing one (P4) JDK-8215398: -Xlog option usage => Invalid decorator '\temp\app_cds.log'. (P4) JDK-8219698: aarch64: SIGILL triggered when specifying unsupported hardware features (P4) JDK-8217994: os::print_hex_dump should be more resilient against unreadable memory (P4) JDK-8217315: Proper units should print more significant digits (P4) JDK-8216302: StackTraceElement::fill_in can use cached Class.name (P4) JDK-8216308: StackTraceElement::fill_in can use injected Class source-file (P4) JDK-8219584: Try to dump error file by thread which causes safepoint timeout (P4) JDK-8217378: UseCriticalCMSThreadPriority is broken (P4) JDK-8220283: ZGC fails to build on GCC 4.4.7: ATTRIBUTE_ALIGNED compatibility issue hotspot/svc-agent: (P4) JDK-8218733: SA: CollectedHeap provides broken implementation for used() and capacity() install/install: (P3) JDK-8218180: JAB description in Control Panel is messed security-libs/java.security: (P3) JDK-8218618: Program fails when using JDK addressed by UNC path and using Security Manager security-libs/javax.crypto: (P2) JDK-8220165: Encryption using GCM results in RuntimeException: input length out of bound (P3) JDK-8201633: Problems with AES-GCM native acceleration security-libs/javax.net.ssl: (P3) JDK-8219389: Delegated task created by SSLEngine throws BufferUnderflowException (P3) JDK-8215790: Delegated task created by SSLEngine throws java.nio.BufferUnderflowException security-libs/javax.xml.crypto: (P2) JDK-8217878: ENVELOPING XML signature no longer works tools/jshell: (P3) JDK-8218287: jshell tool: input behavior unstable after 12-ea+24 on Windows