RELEASE NOTES FOR: 23.0.2 ==================================================================================================== Notes generated: Wed Jan 08 06:32:51 CET 2025 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.time: JDK-8339637: Support for Time Zone Database 2024b IANA Time Zone Database has been upgraded to 2024b. This version mainly includes changes to improve historical data for Mexico, Mongolia, and Portugal. It also changes one timestamp abbreviation, for the time zone 'MET'. Also Asia/Choibalsan is now an alias for Asia/Ulaanbaatar. The new tzdata changes also impact some legacy zone IDs. Mapping of EST/MST/HST in java.time.ZoneId.SHORT_IDS have changed from fixed offset zones to links to other existing time zones with 2024b. "EST" now links to "America/Panama", "HST" links to "Pacific/Honolulu" and "MST" links to "America/Phoenix". Parsing of the short zone names "EST", "MST", and "HST" is not affected by this change. Further details are available at JDK-8340138 JDK-8339637: Support for Time Zone Database 2024b IANA Time Zone Database has been upgraded to 2024b. This version mainly includes changes to improve historical data for Mexico, Mongolia, and Portugal. It also changes one timestamp abbreviation, for the time zone 'MET'. Also Asia/Choibalsan is now an alias for Asia/Ulaanbaatar. The new tzdata changes also impact some legacy time zone IDs. As per 2024b changes "EST" links to "America/Panama", "HST" links to "Pacific/Honolulu" and "MST" links to "America/Phoenix". To maintain compatibility with the Java SE specification, the `java.time.ZoneId.SHORT_IDS` Map has not changed. Further details are available at JDK-8342331 ALL FIXED ISSUES, BY COMPONENT AND PRIORITY: client-libs: (P3) JDK-8340899: Remove wildcard bound in PositionWindows.positionTestWindows (P4) JDK-8340306: Add border around instructions in PassFailJFrame (P4) JDK-8340799: Add border inside instruction frame in PassFailJFrame (P4) JDK-8340466: Add description for PassFailJFrame constructors (P4) JDK-8340461: Amend description for logArea (P4) JDK-8338751: ConfigureNotify behavior has changed in KWin 6.2 (P4) JDK-8341235: Improve default instruction frame title in PassFailJFrame (P4) JDK-8340308: PassFailJFrame: Make rows default to number of lines in instructions (P4) JDK-8340365: Position the first window of a window list (P4) JDK-8317116: Provide layouts for multiple test UI in PassFailJFrame (P4) JDK-8340785: Update description of PassFailJFrame and samples client-libs/2d: (P4) JDK-8333277: ubsan: mlib_ImageScanPoly.c:292:43: runtime error: division by zero client-libs/java.awt: (P4) JDK-8335267: [XWayland] move screencast tokens from .awt to .java folder (P4) JDK-8340210: Add positionTestUI() to PassFailJFrame.Builder (P4) JDK-8336413: gtk headers : Fix typedef redeclaration of GMainContext and GdkPixbuf (P4) JDK-8337886: java/awt/Frame/MaximizeUndecoratedTest.java fails in OEL due to a slight color difference (P4) JDK-8340008: KeyEvent/KeyTyped/Numpad1KeyTyped.java has 15 seconds timeout (P4) JDK-8340007: Refactor KeyEvent/FunctionKeyTest.java (P4) JDK-8332901: Select{Current,New}ItemTest.java for Choice don't open popup on macOS client-libs/javax.swing: (P4) JDK-8339731: java.desktop/share/classes/javax/swing/text/html/default.css typo in margin settings core-libs: (P4) JDK-8336012: Fix usages of jtreg-reserved properties core-libs/java.lang: (P4) JDK-8339487: ProcessHandleImpl os_getChildren sysctl call - retry in case of ENOMEM and enhance exception message core-libs/java.lang.foreign: (P2) JDK-8341127: Extra call to MethodHandle::asType from memory segment var handles fails to inline core-libs/java.lang.invoke: (P2) JDK-8340812: LambdaForm customization via MethodHandle::updateForm is not thread safe (P4) JDK-8335150: Test LogGeneratedClassesTest.java fails on rpmbuild mock enviroment (P5) JDK-8333824: Unused ClassValue in VarHandles core-libs/java.net: (P4) JDK-8338759: Add extra diagnostic to java/net/InetAddress/ptr/Lookup.java (P4) JDK-8339787: Add some additional diagnostic output to java/net/ipv6tests/UdpTest.java (P4) JDK-8335530: Java file extension missing in AuthenticatorTest core-libs/java.nio: (P2) JDK-8342145: File libCreationTimeHelper.c compile fails on Alpine (P2) JDK-8341997: Tests create files in src tree instead of scratch dir (P3) JDK-8341881: [REDO] java/nio/file/attribute/BasicFileAttributeView/CreationTime.java#tmp fails on alinux3 (P4) JDK-8334405: java/nio/channels/Selector/SelectWithConsumer.java#id0 failed in testWakeupDuringSelect core-libs/java.time: (P3) JDK-8339637: (tz) Update Timezone Data to 2024b (P4) JDK-8339803: Acknowledge case insensitive unambiguous keywords in tzdata files (P4) JDK-8339644: Improve parsing of Day/Month in tzdata rules (P4) JDK-8324672: Update jdk/java/time/tck/java/time/TCKInstant.java now() to be more robust core-libs/java.util: (P4) JDK-8336926: jdk/internal/util/ReferencedKeyTest.java can fail with ConcurrentModificationException (P4) JDK-8340684: Reading from an input stream backed by a closed ZipFile has no test coverage core-libs/java.util.concurrent: (P4) JDK-8342905: Thread.setContextClassloader from thread in FJP commonPool task no longer works after JDK-8327501 redux core-libs/java.util.jar: (P5) JDK-8339154: Cleanups and JUnit conversion of test/jdk/java/util/zip/Available.java core-libs/java.util:i18n: (P4) JDK-8341658: RISC-V: Test DateFormatProviderTest.java run timeouted (P4) JDK-8340073: Support "%z" time zone abbreviation format in TZ files core-svc/debugger: (P4) JDK-8333391: Test com/sun/jdi/InterruptHangTest.java failed: Thread was never interrupted during sleep hotspot/compiler: (P2) JDK-8340214: C2 compilation asserts with "no node with a side effect" in PhaseIdealLoop::try_sink_out_of_loop (P2) JDK-8340313: Crash due to invalid oop in nmethod after C1 patching (P2) JDK-8337066: Repeated call of StringBuffer.reverse with double byte string returns wrong result (P2) JDK-8340230: Tests crash: assert(is_in_encoding_range || k->is_interface() || k->is_abstract()) failed: sanity (P3) JDK-8342701: [PPC64] TestOSRLotsOfLocals.java crashes (P3) JDK-8342962: [s390x] TestOSRLotsOfLocals.java crashes (P3) JDK-8342496: C2/Shenandoah: SEGV in compiled code when running jcstress (P3) JDK-8335709: C2: assert(!loop->is_member(get_loop(useblock))) failed: must be outside loop (P3) JDK-8340824: C2: Memory for TypeInterfaces not reclaimed by hashcons() (P3) JDK-8321509: False positive in get_trampoline fast path causes crash (P3) JDK-8334442: Temporarily disable return type assertion to reduce noise in testing (P4) JDK-8337876: [IR Framework] Add support for IR tests with @Stable (P4) JDK-8340398: [JVMCI] Unintuitive behavior of UseJVMCICompiler option (P4) JDK-8334560: [PPC64]: postalloc_expand_java_dynamic_call_sched does not copy all fields (P4) JDK-8342409: [s390x] C1 unwind_handler fails to unlock synchronized methods with LM_MONITOR (P4) JDK-8338924: C1: assert(0 <= i && i < _len) failed: illegal index 5 for length 5 (P4) JDK-8323688: C2: Fix UB of jlong overflow in PhaseIdealLoop::is_counted_loop() (P4) JDK-8342489: compiler/c2/irTests/TestVectorizationMismatchedAccess.java fails on big-endian platforms (P4) JDK-8319933: Disable tests for JDK-8280481 on Graal (P4) JDK-8333791: Fix memory barriers for @Stable fields (P4) JDK-8342612: Increase memory usage of compiler/c2/TestScalarReplacementMaxLiveNodes.java (P4) JDK-8336692: Redo fix for JDK-8284620 (P4) JDK-8337780: RISC-V: C2: Change C calling convention for sp to NS (P4) JDK-8340590: RISC-V: C2: Small improvement to vector gather load and scatter store (P4) JDK-8339248: RISC-V: Remove li64 macro assembler routine and related code (P4) JDK-8342014: RISC-V: ZStoreBarrierStubC2 clobbers rflags (P4) JDK-8338112: Test testlibrary_tests/ir_framework/tests/TestPrivilegedMode.java fails with release build (P4) JDK-8332461: ubsan : dependencies.cpp:906:3: runtime error: load of value 4294967295, which is not a valid value for type 'DepType' (P4) JDK-8333098: ubsan: bytecodeInfo.cpp:318:59: runtime error: division by zero (P4) JDK-8340109: Ubsan: ciEnv.cpp:1660:65: runtime error: member call on null pointer of type 'struct CompileTask' (P4) JDK-8332903: ubsan: opto/output.cpp:1002:18: runtime error: load of value 171, which is not a valid value for type 'bool' (P4) JDK-8333248: VectorGatherMaskFoldingTest.java failed when maximum vector bits is 64 (P5) JDK-8335142: compiler/c1/TestTraceLinearScanLevel.java occasionally times out with -Xcomp hotspot/gc: (P2) JDK-8340586: JdkJfrEvent::get_all_klasses stores non-strong oops in JNI handles (P2) JDK-8334482: Shenandoah: Deadlock when safepoint is pending during nmethods iteration (P3) JDK-8342681: TestLoadBypassesNullCheck.java fails improperly specified VM option (P3) JDK-8333088: ubsan: shenandoahAdaptiveHeuristics.cpp:245:44: runtime error: division by zero (P4) JDK-8339416: [s390x] Provide implementation for resolve_global_jobject (P4) JDK-8335493: check_gc_overhead_limit should reset SoftRefPolicy::_should_clear_all_soft_refs (P4) JDK-8333306: gc/arguments/TestParallelGCErgo.java fails when largepage are enabled (P4) JDK-8341668: Shenandoah: assert(tail_bits < (idx_t)BitsPerWord) failed: precondition (P4) JDK-8334147: Shenandoah: Avoid taking lock for disabled free set logging (P4) JDK-8341554: Shenandoah: Missing heap lock when updating usage for soft ref policy (P4) JDK-8336914: Shenandoah: Missing verification steps after JDK-8255765 (P4) JDK-8334769: Shenandoah: Move CodeCache_lock close to its use in ShenandoahConcurrentNMethodIterator (P4) JDK-8336640: Shenandoah: Parallel worker use in parallel_heap_region_iterate (P4) JDK-8333728: ubsan: shenandoahFreeSet.cpp:1347:24: runtime error: division by zero (P4) JDK-8332697: ubsan: shenandoahSimpleBitMap.inline.hpp:68:23: runtime error: signed integer overflow: -9223372036854775808 - 1 cannot be represented in type 'long int' (P4) JDK-8334475: UnsafeIntrinsicsTest.java#ZGenerationalDebug assert(!assert_on_failure) failed: Has low-order bits set (P4) JDK-8339648: ZGC: Division by zero in rule_major_allocation_rate (P5) JDK-8335904: Fix invalid comment in ShenandoahLock hotspot/jfr: (P3) JDK-8338389: [JFR] Long strings should be added to the string pool (P4) JDK-8332699: ubsan: jfrEventSetting.inline.hpp:31:43: runtime error: index 163 out of bounds for type 'jfrNativeEventSetting [162]' hotspot/jvmti: (P3) JDK-8339725: Concurrent GC crashed due to GetMethodDeclaringClass (P3) JDK-8337331: crash: pinned virtual thread will lead to jvm crash when running with the javaagent option (P4) JDK-8333361: ubsan,test : libHeapMonitorTest.cpp:518:9: runtime error: null pointer passed as argument 2, which is declared to never be null (P4) JDK-8333730: ubsan: FieldIndices/libFieldIndicesTest.cpp:276:11: runtime error: null pointer passed as argument 2, which is declared to never be null hotspot/runtime: (P2) JDK-8325937: runtime/handshake/HandshakeDirectTest.java causes "monitor end should be strictly below the frame pointer" assertion failure on AArch64 (P3) JDK-8335283: Build failure due to 'no_sanitize' attribute directive ignored (P3) JDK-8337958: Out-of-bounds array access in secondary_super_cache (P3) JDK-8339741: RISC-V: C ABI breakage for integer on stack (P3) JDK-8335449: runtime/cds/DeterministicDump.java fails with File content different at byte ... (P3) JDK-8340387: Update OS detection code to recognize Windows Server 2025 (P3) JDK-8340383: VM issues warning failure to find kernel32.dll on Windows nanoserver (P4) JDK-8334567: [test] runtime/os/TestTracePageSizes move ppc handling (P4) JDK-8341688: Aarch64: Generate comments in -XX:+PrintInterpreter to link to source code (P4) JDK-8339386: Assertion on AIX - original PC must be in the main code section of the compiled method (P4) JDK-8338110: Exclude Fingerprinter::do_type from ubsan checks (P4) JDK-8337622: IllegalArgumentException in java.lang.reflect.Field.get (P4) JDK-8335397: Improve reliability of TestRecursiveMonitorChurn.java (P4) JDK-8335007: Inline OopMapCache table (P4) JDK-8333522: JFR SwapSpace event might read wrong free swap space size (P4) JDK-8338058: map_or_reserve_memory_aligned Windows enhance remap assertion (P4) JDK-8334229: Optimize InterpreterOopMap layout (P4) JDK-8335664: Parsing jsr broken: assert(bci>= 0 && bci < c->method()->code_size()) failed: index out of bounds (P4) JDK-8319947: Recursive lightweight locking: s390x implementation (P4) JDK-8338101: remove old remap assertion in map_or_reserve_memory_aligned after JDK-8338058 (P4) JDK-8341562: RISC-V: Generate comments in -XX:+PrintInterpreter to link to source code (P4) JDK-8341146: RISC-V: Unnecessary fences used for load-acquire in template interpreter (P4) JDK-8337067: Test runtime/classFileParserBug/Bad_NCDFE_Msg.java won't compile (P4) JDK-8336148: Test runtime/locking/TestRecursiveMonitorChurn.java failed: Unexpected Inflation (P4) JDK-8340923: The class LogSelection copies uninitialized memory (P4) JDK-8333639: ubsan: cppVtables.cpp:81:55: runtime error: index 14 out of bounds for type 'long int [1]' (P4) JDK-8333354: ubsan: frame.inline.hpp:91:25: and src/hotspot/share/runtime/frame.inline.hpp:88:29: runtime error: member call on null pointer of type 'const struct SmallRegisterMap' (P4) JDK-8333363: ubsan: instanceKlass.cpp: runtime error: member call on null pointer of type 'struct AnnotationArray' (P4) JDK-8335237: ubsan: vtableStubs.hpp is_vtable_stub exclude from ubsan checks (P4) JDK-8334564: VM startup: fatal error: FLAG_SET_ERGO cannot be used to set an invalid value for NonNMethodCodeHeapSize hotspot/svc: (P5) JDK-8339384: Unintentional IOException in jdk.jdi module when JDWP end of stream occurs hotspot/svc-agent: (P4) JDK-8340657: [PPC64] SA determines wrong unextendedSP (P4) JDK-8335743: jhsdb jstack cannot print some information on the waiting thread (P4) JDK-8336284: Test TestClhsdbJstackLock.java/TestJhsdbJstackLock.java fails with -Xcomp after JDK-8335743 hotspot/test: (P4) JDK-8335299: Remove hs-atr-ci-genzgc (P4) JDK-8341261: Tests assume UnlockExperimentalVMOptions is disabled by default (P4) JDK-8330702: Update failure handler to don't generate Error message if cores actions are empty (P4) JDK-8332113: Update nsk.share.Log to be always verbose infrastructure: (P4) JDK-8337024: Bump version numbers for 23.0.2 (P4) JDK-8334166: Enable binary check (P4) JDK-8339591: Mark jdk/jshell/ExceptionMessageTest.java intermittent infrastructure/build: (P4) JDK-8341024: [test] build/AbsPathsInImage.java fails with OOM when using ubsan-enabled binaries (P4) JDK-8336343: Add more known sysroot library locations for ALSA (P4) JDK-8340815: Add SECURITY.md file (P4) JDK-8337283: configure.log is truncated when build dir is on different filesystem (P4) JDK-8340804: doc/building.md update Xcode instructions to note that full install is required (P4) JDK-8336342: Fix known X11 library locations in sysroot (P4) JDK-8341806: Gcc version detection failure on Alinux3 (P4) JDK-8336928: GHA: Bundle artifacts removal broken (P4) JDK-8338286: GHA: Demote x86_32 to hotspot build only (P4) JDK-8340418: GHA: MacOS AArch64 bundles can be removed prematurely (P4) JDK-8339548: GHA: RISC-V: Use Debian snapshot archive for bootstrap (P4) JDK-8338402: GHA: some of bundles may not get removed (P4) JDK-8334618: ubsan: support setting additional ubsan check options (P4) JDK-8337819: Update GHA JDKs to 22.0.2 security-libs/java.security: (P3) JDK-8333754: Add a Test against ECDSA and ECDH NIST Test vector (P3) JDK-8328723: IP Address error when client enables HTTPS endpoint check on server socket (P3) JDK-8028127: Regtest java/security/Security/SynchronizedAccess.java is incorrect (P3) JDK-8335344: test/jdk/sun/security/tools/keytool/NssTest.java fails to compile (P4) JDK-8335172: Add manual steps to run security/auth/callback/TextCallbackHandler/Password.java test (P4) JDK-8334562: Automate com/sun/security/auth/callback/TextCallbackHandler/Default.java test (P4) JDK-8336854: CAInterop.java#actalisauthenticationrootca conflicted with /manual and /timeout (P4) JDK-8331391: Enhance the keytool code by invoking the buildTrustedCerts method for essential options security-libs/javax.crypto: (P5) JDK-8336240: Test com/sun/crypto/provider/Cipher/DES/PerformanceTest.java fails with java.lang.ArithmeticException security-libs/javax.crypto:pkcs11: (P3) JDK-8333317: Test sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java failed with: Invalid ECDH ServerKeyExchange signature security-libs/javax.net.ssl: (P4) JDK-8339560: Unaddressed comments during code review of JDK-8337664 (P4) JDK-8338380: Update TLSCommon/interop/AbstractServer to specify an interface to listen for connections tools/javac: (P3) JDK-8337998: CompletionFailure in getEnclosingType attaching type annotations (P3) JDK-8337795: Type annotation attached to incorrect type during class reading (P4) JDK-8341966: Broken annotated module may lead to an exception in javac (P4) JDK-8336942: Improve test coverage for class loading elements with annotations of different retentions (P4) JDK-8326616: tools/javac/patterns/Exhaustiveness.java intermittently Timeout signalled after 480 seconds tools/jlink: (P4) JDK-8334057: JLinkReproducibleTest.java support receive test.tool.vm.opts tools/jpackage: (P4) JDK-8336315: tools/jpackage/windows/WinChildProcessTest.java Failed: Check is calculator process is alive