RELEASE NOTES: JDK 12.0.2

Notes generated: Tue Apr 02 16:04:56 CEST 2024

JEPs

None.

RELEASE NOTES

security-libs/javax.xml.crypto

Issue Description
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

Issue Description
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.


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.


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

Issue Description
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.


FIXED ISSUES

client-libs

Priority Bug Summary
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

Priority Bug Summary
P3 JDK-8217263 Automate DashOffset test

client-libs/java.awt

Priority Bug Summary
P4 JDK-8211267 StackOverflowError happened by TextField.setFont(...)

client-libs/javax.accessibility

Priority Bug Summary
P3 JDK-8190361 Incorrect version info in jaccessinspector.exe and jaccesswalker.exe

client-libs/javax.swing

Priority Bug Summary
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

Priority Bug Summary
P4 JDK-8221400 java/lang/String/StringRepeat.java test requests too much heap

core-libs/java.math

Priority Bug Summary
P4 JDK-8221401 java/math/BigInteger/LargeValueExceptions.java test should be disabled on 32-bit platforms

core-libs/java.net

Priority Bug Summary
P3 JDK-8217094 HttpClient SSL race if a socket IOException is raised before ALPN is available

core-libs/java.time

Priority Bug Summary
P4 JDK-8215982 (tz) Upgrade Timezone Data to tzdata2018i

core-libs/java.util

Priority Bug Summary
P3 JDK-8172695 (scanner) java/util/Scanner/ScanTest.java fails

core-svc/debugger

Priority Bug Summary
P3 JDK-8214122 JDWP is broken on 32 bit Windows: transport library missing onLoad entry

hotspot/compiler

Priority Bug Summary
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

Priority Bug Summary
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

Priority Bug Summary
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

Priority Bug Summary
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

Priority Bug Summary
P4 JDK-8218733 SA: CollectedHeap provides broken implementation for used() and capacity()

install/install

Priority Bug Summary
P3 JDK-8218180 JAB description in Control Panel is messed

security-libs/java.security

Priority Bug Summary
P3 JDK-8218618 Program fails when using JDK addressed by UNC path and using Security Manager

security-libs/javax.crypto

Priority Bug Summary
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

Priority Bug Summary
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

Priority Bug Summary
P2 JDK-8217878 ENVELOPING XML signature no longer works

tools/jshell

Priority Bug Summary
P3 JDK-8218287 jshell tool: input behavior unstable after 12-ea+24 on Windows