RELEASE NOTES FOR: 11.0.6 ==================================================================================================== Notes generated: Mon Dec 02 14:52:09 CET 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/org.ietf.jgss:krb5: JDK-8215032: Support for Kerberos Cross-Realm Referrals (RFC 6806) The Kerberos client has been enhanced with the support of principal name canonicalization and cross-realm referrals, as defined by the RFC 6806 protocol extension. As a result of this new feature, the Kerberos client can take advantage of more dynamic environment configurations and does not necessarily need to know (in advance) how to reach the realm of a target principal (user or service). Support is enabled by default and 5 is the maximum number of referral hops allowed. To turn it off, set the `sun.security.krb5.disableReferrals` security or system property to false. To configure a custom maximum number of referral hops, set the `sun.security.krb5.maxReferrals` security or system property to any positive value. See further information in JDK-8223172. client-libs/2d: JDK-8229800: Windows 2019 Core Server Is Not Supported Windows Core Server 2019 does not ship a `dll` required by JDK in order to run. Specifically, if a Java application, including a headless one, requires `awt.dll`, the Java runtime will exit with an exception. There is no workaround. Until this is resolved, this Windows Server configuration is not supported. hotspot/compiler: JDK-8227439: Turned Off AOT by Default and Changed Related Flags to Experimental The default value of `UseAOT` has been changed from `enabled` to `disabled`, and the following AOT support related flags have been changed to experimental: - `UseAOT` - `PrintAOT` - `AOTLibrary` security-libs/javax.crypto:pkcs11: JDK-8080462: SunPKCS11 Provider Upgraded with Support for PKCS#11 v2.40 The SunPKCS11 provider has been updated with support for PKCS#11 v2.40. This version adds support for more algorithms such as the AES/GCM/NoPadding cipher, DSA signatures using SHA-2 family of message digests, and RSASSA-PSS signatures when the corresponding PKCS11 mechanisms are supported by the underlying PKCS11 library. core-libs/java.util.logging: JDK-8216363: NullPointerException in java.util.logging.Handler#isLoggable The default implementation of `java.util.logging.Handler.isLoggable` has been updated to match its specification and to return `false` if the `record` parameter is `null`. The implementation of `java.util.logging.MemoryHandler.isLoggable` and `java.util.logging.MemoryHandler.publish` will no longer throw `NullPointerException` if the `record` parameter is `null`, which conforms to their specification. security-libs/java.security: JDK-8232019: Added LuxTrust Global Root 2 Certificate The following root certificate has been added to the cacerts truststore: ``` + LuxTrust + luxtrustglobalroot2ca DN: CN=LuxTrust Global Root 2, O=LuxTrust S.A., C=LU ``` JDK-8233223: Added 4 Amazon Root CA Certificates The following root certificates have been added to the cacerts truststore: ``` + Amazon + amazonrootca1 DN: CN=Amazon Root CA 1, O=Amazon, C=US + amazonrootca2 DN: CN=Amazon Root CA 2, O=Amazon, C=US + amazonrootca3 DN: CN=Amazon Root CA 3, O=Amazon, C=US + amazonrootca4 DN: CN=Amazon Root CA 4, O=Amazon, C=US ``` hotspot/gc: JDK-8232051: Epsilon warns about Xms/Xmx/AlwaysPreTouch configuration Many Epsilon GC users expect low latency, but may not be aware that additional configuration is needed for GCs to perform well in those conditions. It now warns about Xms/Xmx/AlwaysPreTouch configuration. These settings are not adjusted automatically, because doing so would affect startup time. These new warnings can be shunned by overriding the default logging level with -Xlog:gc=error. JDK-8230646: Epsilon does not extend TLABs to max size Due to a simple implementation bug, Epsilon GC did not extend the size of the issued TLABs to the max size configured by user, or set by default. This bug might have introduced performance penalties and was generally confusing during performance analysis. This is now fixed and backported to 13u and 11u. Users are advised to double-check their performance results before and after this update. ALL FIXED ISSUES, BY COMPONENT AND PRIORITY: client-libs: (P2) JDK-8210776: Upgrade XWD to 1.0.7 (P4) JDK-8231991: Mouse wheel change focus on awt/swing windows client-libs/2d: (P2) JDK-8233097: Fontmetrics for large Fonts has zero width (P2) JDK-8229800: WindowsServerCore 1809 does not provide d2d1.dll library required by awt.dll (P3) JDK-8146238: [macosx] Java2D Queue Flusher crash on OSX after switching between user accounts (P3) JDK-8232381: add result NULL-checking to freetypeScaler.c (P3) JDK-8230769: BufImg_SetupICM add ReleasePrimitiveArrayCritical call in early return (P3) JDK-8208179: Devanagari not shown with logical fonts on Windows after removal of Lucida Sans from JDK (P3) JDK-8217731: Font rendering and glyph spacing changed from jdk-8 to jdk-11 (P3) JDK-8212071: Need to set the FreeType LCD Filter to reduce fringing. (P3) JDK-8210384: SunLayoutEngine.isAAT() font is expensive on MacOS (P3) JDK-8230728: Thin stroked shapes are not rendered if affine transform has flip bit (P4) JDK-8220231: Cache HarfBuzz face object for same font's text layout calls (P4) JDK-8233202: exclude javax/swing/plaf/basic/BasicGraphicsUtils/8132119/bug8132119.java (P4) JDK-8213568: Typo in java/awt/GraphicsEnvironment/LoadLock/GE_init5.java client-libs/java.awt: (P2) JDK-8213119: [macos] java/awt/GraphicsDevice/CheckDisplayModes.java fails (P2) JDK-8214046: [macosx] Undecorated Frame does not Iconify when set to (P2) JDK-8231336: Corrupted option dialog in JTHarness with JDK14b13 (P3) JDK-8220528: [AIX] Fix basic Xinerama and Xrender functionality (P3) JDK-8230873: [AIX] GUI app does not work with UTF-8 locale on minimum software requirements (P3) JDK-8229810: [macos] NullPointerException getting bounds of GraphicsConfiguration (P3) JDK-8225101: Crash at sun.awt.X11.XlibWrapper.XkbGetUpdatedMap when change keybord map (P3) JDK-8211992: GraphicsConfiguration.getDevice().getDisplayMode() causes JVM crash on Mac (P3) JDK-8215200: IllegalArgumentException in sun.lwawt.macosx.CPlatformWindow (P3) JDK-8215105: java/awt/Robot/HiDPIScreenCapture/ScreenCaptureTest.java: Wrong Pixel Color (P3) JDK-8221246: NullPointerException within Win32ShellFolder2 (P3) JDK-8230782: Robot.createScreenCapture() fails if “awt.robot.gtk” is set to false (P3) JDK-8234107: Several AWT modal dialog tests failing on Linux after JDK-8231991 (P4) JDK-8229515: [macos] access to window property of NSView on wrong thread (P4) JDK-8144125: [macos] java/awt/event/ComponentEvent/MovedResizedTwiceTest/MovedResizedTwiceTest.java failed automatically (P4) JDK-8134672: [TEST_BUG] Some tests should check isDisplayChangeSupported (P4) JDK-8230900: missing ReleaseStringUTFChars in java.desktop native code (P4) JDK-8219504: Test for JDK-8211435 can be run on all platforms client-libs/java.beans: (P4) JDK-8211147: Incorrect comparator com.sun.beans.introspect.MethodInfo.MethodOrder client-libs/javax.swing: (P3) JDK-8225505: ctrl-F1 does not show the tooltip of a menu item (JMenuItems) (P3) JDK-8226513: JEditorPane is shown with incorrect size (P4) JDK-8228368: avoid incompatible pointer to integer conversion initializing gint in gtk2_interface core-libs: (P4) JDK-8220598: Malformed copyright year range in a few files in java.base (P4) JDK-8215449: Several tests failing when jtreg run with -vmoption:--illegal-access=deny (P5) JDK-8200381: Typos in javadoc - missing verb "be" and alike core-libs/java.io: (P4) JDK-8229022: BufferedReader performance can be improved by using StringBuilder (P4) JDK-8229899: java.io.File.isInvalid() is racy core-libs/java.lang: (P3) JDK-8193325: StackFrameInfo::getByteCodeIndex returns wrong value if bci > 32767 (P3) JDK-8224505: TestQuotedLogOutput failure after ProcessBuilder changes core-libs/java.lang.module: (P4) JDK-8209003: Consolidate use of empty collections in java.lang.module core-libs/java.lang:reflect: (P3) JDK-8208364: java/lang/reflect/callerCache/ReflectionCallerCacheTest.java missing module dependencies declaration core-libs/java.net: (P3) JDK-8221395: HttpClient leaving connections in CLOSE_WAIT state until Java process ends (P3) JDK-8228434: jdk/net/Sockets/Test.java fails after JDK-8227642 (P3) JDK-8185898: setRequestProperty(key, null) results in HTTP header without colon in request (P3) JDK-8233886: TEST_BUG jdk/java/net/CookieHandler/B6791927.java hit hardcoded expiration date (P4) JDK-8216561: HttpClient: The logic of retry on connect exception is inverted (P4) JDK-8230856: Java_java_net_NetworkInterface_getByName0 on unix misses ReleaseStringUTFChars in early return (P4) JDK-8209178: Proxied HttpsURLConnection doesn't send BODY when retrying POST request (P4) JDK-8221406: Windows 32bit build error in NetworkInterface_winXP.c core-libs/java.nio: (P2) JDK-8232879: (zipfs) Writing out data with ZipFileSystem leads to a CRC failure in the generated jar file (P3) JDK-8222440: (zipfs) JarFileSystem does not correctly handle versioned entries if no root entry is present (P3) JDK-8222807: (zipfs) OutOfMemory on compiling with darcula.jar in classpath (P3) JDK-8231247: (zipfs) Test failure in jdk/nio/zipfs/InvalidZipHeaderTests.java after backport of JDK-8222807 (P3) JDK-8211919: (zipfs) ZipDirectoryStream should provide a stream of paths that are relative to the directory (P3) JDK-8211385: (zipfs) ZipDirectoryStream yields a stream of absolute paths when directory is relative (P3) JDK-8232178: MacVolumesTest failed after upgrade to MacOS Catalina (P4) JDK-8231254: (fs) Add test for macOS Catalina changes to protect system software (P4) JDK-8229872: (fs) Increase buffer size used with getmntent (P4) JDK-8234080: (zipfs) jdk/nio/zipfs/CRCWriteTest.java fails core-libs/java.text: (P2) JDK-8227127: Era designator not displayed correctly using the COMPAT provider core-libs/java.time: (P3) JDK-8231098: (tz) Upgrade Timezone Data to tzdata2019c core-libs/java.util: (P3) JDK-8223490: Optimize search algorithm for determining default time zone (P4) JDK-8234591: [11u] Build with old C compiler broken by 8223490 (P4) JDK-8231124: Missing closedir call with JDK-8223490 core-libs/java.util.jar: (P4) JDK-8231770: Test java/util/zip/FlaterTest.java fails with -Xcheck:jni core-libs/java.util.logging: (P4) JDK-8216363: NullPointerException in java.util.logging.Handler#isLoggable core-libs/java.util:collections: (P3) JDK-8227368: EnumSet.class serialization broken in JDK 9+ core-libs/java.util:i18n: (P3) JDK-8228465: HOST locale provider holds wrong era name for GregorianCalendar in US locale (P3) JDK-8226869: Test java/util/Locale/LocaleProvidersRun.java should enable assertions (P4) JDK-8215913: [Test_bug]java/util/Locale/LocaleProvidersRun.java failed on de_DE and ja_JP locale. (P4) JDK-8210403: Refactor java.util.Locale:i18n shell tests to plain java tests core-libs/javax.naming: (P4) JDK-8198882: Add 10 JNDI tests to com/sun/jndi/dns/AttributeTests/ core-libs/jdk.nashorn: (P3) JDK-8227391: Update double-conversion to version 3.1.5 (P4) JDK-8232984: Upgrading Joni to 2.1.16 core-svc: (P3) JDK-8215411: some GetByteArrayElements calls miss corresponding Release (P4) JDK-8220476: Incorrect GPL header in src/jdk.internal.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/protocol/local/PerfDataFile.java (P4) JDK-8230901: missing ReleaseStringUTFChars in serviceability native code core-svc/debugger: (P3) JDK-8230303: JDB hangs when running monitor command (P4) JDK-8222529: sun.jdwp.listenerAddress agent property uses wrong encoding core-svc/java.lang.instrument: (P4) JDK-8220474: Incorrect GPL header in src/java.instrument/share/classes/java/lang/instrument/package-info.java core-svc/tools: (P3) JDK-8220175: serviceability/dcmd/framework/VMVersionTest.java fails with a timeout (P4) JDK-8227435: Perf::attach() should not throw a java.lang.Exception hotspot/compiler: (P1) JDK-8230671: x86_32 build failures after JDK-8229496 (P2) JDK-8230061: # assert(mode == ControlAroundStripMined && use == sfpt) failed: missed a node (P2) JDK-8229701: aarch64: C2 OSR compilation fails with "shouldn't process one node several times" in final graph reshaping (P2) JDK-8234645: ARM32: C1: PatchingStub for field access: not enough bytes (P2) JDK-8231620: assert(bol->is_Bool()) crash during split if due to FastLockNode (P2) JDK-8230062: assert(i == p->size()-1) failed: must be last element of the pack (P2) JDK-8216135: C2 assert(!had_error) failed: bad dominance (P2) JDK-8229450: C2 compilation fails with assert(found_sfpt) failed: no node in loop that's not input to safepoint (P2) JDK-8229016: C2 scalarization crashes with assert(node->Opcode() == Op_CastP2X) failed: ConvP2XNode required (P2) JDK-8231055: C2: arraycopy with same non escaping src and dest but different positions causes wrong execution (P2) JDK-8213604: Fix missing includes after JDK-8212673 (P2) JDK-8229496: SIGFPE (division by zero) in C2 OSR compiled method (P2) JDK-8232539: SIGSEGV in C2 Node::unique_ctrl_out (P2) JDK-8231988: Unexpected test result caused by C2 IdealLoopTree::do_remove_empty_loop (P2) JDK-8215708: ZGC: Add missing LoadBarrierNode::size_of() (P2) JDK-8215755: ZGC: split_barrier_thru_phi: check number of inputs of phi (P3) JDK-8211740: [AOT] -XX:AOTLibrary doesn't accept windows path (P3) JDK-8202359: [GRAAL] compiler/uncommontrap/TestDeoptOOM.java failed with OutOfMemoryError (P3) JDK-8209972: [GRAAL] Don't run RTM tests with Graal (P3) JDK-8230669: [s390] C1: assert(is_bound() || is_unused()) failed: Label was never bound to a location, but it was used as a jmp target (P3) JDK-8228772: C2 compilation fails due to unschedulable graph if DominatorSearchLimit is reached (P3) JDK-8209833: C2 compilation fails with "assert(ex_map->jvms()->same_calls_as(_exceptions->jvms())) failed: all collected exceptions must come from the same place" (P3) JDK-8210387: C2 compilation fails with "assert(node->_last_del == _last) failed: must have deleted the edge just produced" (P3) JDK-8228888: C2 compilation fails with assert "m has strange control" (P3) JDK-8231223: C2's conditional move optimization fails with assert(bol->Opcode() == Op_Bool) failed (P3) JDK-8230363: C2: Let ConnectionGraph::not_global_escape(Node* n) return false if n is not in the CG (P3) JDK-8230711: ConnectionGraph::unique_java_object(Node* N) return NULL if n is not in the CG (P3) JDK-8212673: jtreg/applications/runthese/RunThese30M.java fails in C2 with "assert(!had_error) failed: bad dominance" (P3) JDK-8218468: Load barrier slow path node should be MachTypeNode (P3) JDK-8224538: LoadBarrierNode::common_barrier must check address (P3) JDK-8231318: Several compiler/aot tests fail for JDK11 on Windows when only MSVC 2017 is installed (P3) JDK-8229483: Sinking load out of loop may trigger: assert(found_sfpt) failed: no node in loop that's not input to safepoint (P3) JDK-8227439: Turn off AOT by default (P3) JDK-8221092: UseAVX=3 has performance degredation on Skylake (X7) processors (P4) JDK-8231665: 8231055 broke escapeAnalysis/TestSelfArrayCopy.java (P4) JDK-8231403: [ppc]: Align ReservedCodeCacheSize default value with other platforms (P4) JDK-8209835: Aarch64: elide barriers on all volatile operations (P4) JDK-8230238: Add another regression test for JDK-8134739 (P4) JDK-8230813: Add JDK-8010500 to compiler/loopopts/superword/TestFuzzPreLoop.java bug list (P4) JDK-8209691: Allow MemBar on single memory slice (P4) JDK-8233081: C1: PatchingStub for field access copies too much (P4) JDK-8231085: C2/GC: Better GC-interface for expanding clone (P4) JDK-8234321: Call cache flush after generating trampoline. (P4) JDK-8213014: Crash in CompileBroker::make_thread due to OOM (P4) JDK-8207922: ctw of jdk.security.auth failed with "Unexpected zero exit codebefore finishing all compilations" (P4) JDK-8230943: False deadlock detection with -XX:+CIPrintCompileQueue after JDK-8163511 (P4) JDK-8213381: Hook to allow GC to inject Node::Ideal() calls (P4) JDK-8208582: Introduce native oop barriers in C1 for OopHandle (P4) JDK-8208601: Introduce native oop barriers in C2 for OopHandle (P4) JDK-8221456: nmethod::make_unloaded() clears _method member too early (P4) JDK-8214773: Replace use of thread unsafe strtok (P4) JDK-8233820: Test crashed with assert(phi->operand_count() != 1 || phi->subst() != phi) failed: missed trivial simplification (P4) JDK-8230110: TestLinkageErrorInGenerateOopMap times out (P5) JDK-8232874: Add missing test for 8230062 hotspot/gc: (P2) JDK-8214315: G1: fatal error: acquiring lock SATB_Q_FL_lock/1 out of order with lock tty_lock/0 (P3) JDK-8229420: [Redo] jstat reports incorrect values for OU for CMS GC (P3) JDK-8230646: Epsilon does not extend TLABs to max size (P3) JDK-8048556: Unnecessary GCLocker-initiated young GCs (P4) JDK-8210158: Accessorize JFR getEventWriter() intrinsics (P4) JDK-8221913: Add GC.selected() jtreg-ext function (P4) JDK-8232051: Epsilon should warn about Xms/Xmx/AlwaysPreTouch configuration (P4) JDK-8229020: Failure on CPUs allowing loads reordering: assert(_tasks[t] == 1) failed: What else? (P4) JDK-8229169: False failure of GenericTaskQueue::pop_local on architectures with weak memory model (P4) JDK-8227086: Use AS_NO_KEEPALIVE loads in HeapDumper (P4) JDK-8231296: ZGC: vmTestbase/nsk/jvmti/Allocate/alloc001/ fails (P4) JDK-8231294: ZGC: vmTestbase/nsk/jvmti/ResourceExhausted/resexhausted002 fails hotspot/jfr: (P1) JDK-8214896: JFR Tool left files behind (P2) JDK-8229437: assert(is_aligned(ref, HeapWordSize)) failed: invariant (P2) JDK-8205516: JFR tool (P2) JDK-8227605: Kitchensink fails "assert((((klass)->trace_id() & (JfrTraceIdEpoch::leakp_in_use_this_epoch_bit())) != 0)) failed: invariant" (P2) JDK-8228834: Regression caused by JDK-8214542 not installing complete checkpoint data to candidates (P3) JDK-8216064: -XX:StartFlightRecording:settings= doesn't work properly (P3) JDK-8216283: Allow shorter method sampling interval than 10 ms (P3) JDK-8225694: Destination option missing in FlightRecorderMXBeanImpl (P3) JDK-8223697: jfr tool can't format duration values greater than 1 minute (P3) JDK-8221569: JFR tool produces incorrect output when both --categories and --events are specified (P3) JDK-8214542: JFR: Old Object Sample event slow on a deep heap in debug builds (P3) JDK-8224217: RecordingInfo should use textual representation of path (P3) JDK-8225004: Remove invalid assertion in jfr_conditional_flush() (P3) JDK-8227411: TestTimeMultiple.java failed "assert(!lease()) failed: invariant" (P3) JDK-8215771: The jfr tool should pretty print reference chains (P3) JDK-8214750: Unnecessary
tags in jfr classes
(P4) JDK-8223438: add VirtualizationInformation JFR event
(P4) JDK-8217362: Emergency dump does not work when disk=false is set
(P4) JDK-8233075: JFR - nmetods - misspelled in several places
(P4) JDK-8220555: JFR tool shows potentially misleading message when it cannot access a file
(P4) JDK-8218935: Make jfr strncpy uses GCC 8.x friendly
hotspot/runtime:
(P1) JDK-8231930: Windows build fails after JDK-8191521
(P3) JDK-8215699: -Xlog::file cannot be used with named pipe
(P3) JDK-8228902: add os::dll_load to the unified logging os category
(P3) JDK-8220394: bufferedStream does not honor size limit
(P3) JDK-8210559: ClassLoaderData Symbols can leak
(P3) JDK-8209647: constantPoolHandle::constantPoolHandle(ConstantPool*) when precompiled header is disabled
(P3) JDK-8231885: Fix/remove malformed assert in os_windows.cpp
(P3) JDK-8191521: handle long relative path specified in -Xbootclasspath/a on windows
(P3) JDK-8214975: No hs-err file if fatal error is raised during dynamic initialization.
(P3) JDK-8209545: Simplify HeapShared::archive_module_graph_objects
(P3) JDK-8207263: Store the Configuration for system modules into CDS archive
(P3) JDK-8224193: stringStream should not use Resource Area
(P3) JDK-8206115: Use shared macros for JavaClasses::compute_offsets and MetaspaceShared::serialize_well_known_classes
(P3) JDK-8190737: use unicode version of the canonicalize() function to handle long path on windows
(P4) JDK-8221539: [metaspace] Improve MetaspaceObj::is_metaspace_obj() and friends
(P4) JDK-8231949: [PPC64, s390]: Make async profiling more reliable
(P4) JDK-8232005: [s390, PPC64] More exception checks missing in interpreter
(P4) JDK-8233839: aarch64: missing memory barrier in NewObjectArrayStub and NewTypeArrayStub
(P4) JDK-8224958: add os::dll_load calls to event log
(P4) JDK-8209120: Archive the Integer.IntegerCache
(P4) JDK-8231457: Asserts on AIX because os::elapsed_counter() is not monotonic
(P4) JDK-8231201: hs_err should print coalesced safepoint operations in Events section
(P4) JDK-8227035: JVM::printFlags fails in native OOM situations
(P4) JDK-8227032: MetaspaceUtils::print_report crashes when called before initialization
(P4) JDK-8231751: on aix handle Power 9 in os::get_summary_cpu_info
(P4) JDK-8227031: Print NMT statistics on fatal errors
(P4) JDK-8216977: ShowHiddenFrames use in java_lang_StackTraceElement::fill_in appears broken
(P4) JDK-8222015: Small VM.metaspace improvements
(P4) JDK-8225225: stringStream internal buffer should always be zero terminated
(P4) JDK-8227338: templateInterpreter.cpp: copy_table() needs to be safer
(P4) JDK-8216426: Usage of array placement new may lead to memory corruption
(P4) JDK-8232052: use string literal for format string when handling PauseAtStartupFile
hotspot/svc:
(P4) JDK-8235403: Further cleanup to test serviceability/sa/ClhsdbCDSCore.java
(P4) JDK-8234625: hs test serviceability/sa/ClhsdbCDSCore.java fails on macOS 10.15
(P4) JDK-8221532: Incorrect copyright header in FileSystemSupport_md.c
hotspot/svc-agent:
(P3) JDK-8209790: SA tools not providing option to connect to debug server
(P3) JDK-8230881: serviceability/sa/TestJmapCore tests fail with java.lang.RuntimeException: Could not find dump file
(P4) JDK-8232592: