RELEASE NOTES: JDK 17.0.15

Notes generated: Wed Jan 22 06:16:00 CET 2025

JEPs

None.

RELEASE NOTES

security-libs/javax.crypto:pkcs11

Issue Description
JDK-8293345

the legacy mechanism check in SunPKCS11 provider is enhanced with service type


Native PKCS11 mechanisms which support decryption but not encryption or signature verification but not signing are considered legacy and are disabled by default. The legacy mechanism check in SunPKCS11 provider is enhanced with the service type. For example, prior to this fix, a mechanism supporting encryption, decryption, and verification but not signing, is considered legacy and can't be used at all. After this fix, the corresponding Cipher service using this mechanism is available since both encryption and decryption are supported. However, the corresponding Signature service is not since only verification is supported. To bypass the legacy mechanism check, set the PKCS11 provider configuration attribute "allowLegacy" to true (default value: false). Note that it is the caller's responsibility to make sure the legacy mechanism is not used for the unsupported functionality, e.g. use this mechanism to sign.


hotspot/runtime

Issue Description
JDK-8308341

The `JNI_GetCreatedJavaVMs` Method Will Now Only Return a Fully Initialized VM


In prior releases, JNI_GetCreatedJavaVMs: ` jint JNI_GetCreatedJavaVMs(JavaVM **vmBuf, jsize bufLen, jsize *nVMs); could return aJavaVM, via thevmBufarray, that was still in the process of being initialized and may not be ready for use. This has now changed so that it will only return fully initialized VMs. It is important that the programmer checks that the returned number of VMs, innVMs, is greater than zero, before trying to use anyvmBuf` entries.


security-libs/java.security

Issue Description
JDK-8179502

Enhanced OCSP, Certificate, and CRL Fetch Timeouts


This feature delivers an enhanced syntax for properties related to certificate, CRL, and OCSP connect and read timeouts. The new syntax allows the timeout values to be specified either in seconds or milliseconds. This feature also delivers three new System properties related to connect and read timeouts.

New properties: The existing com.sun.security.ocsp.timeout property will now be paired with the new com.sun.security.ocsp.readtimeout property. The former property will be used to set timeouts for the transport-layer connection while the latter will be used to manage timeouts for reading the data. The new com.sun.security.cert.timeout and com.sun.security.cert.readtimeout properties will be used to control connect and read timeouts, respectively, when following an X.509 certificate's AuthorityInfoAccess extension. For the certificate fetching properties, the com.sun.security.enableAIAcaIssuers property must be set to true in order for fetching to occur and these property timeouts to be enabled.

Enhanced timeout syntax: The new syntax applies to the aforementioned properties, and also to the com.sun.security.crl.timeout and com.sun.security.crl.readtimeout properties as well. The allowed syntax is as follows:

  • A decimal integer will be interpreted in seconds and ensures backward compatibility.
  • A decimal integer ending in "s" (case-insensitive, no space) appended to it. This will also be interpreted in seconds.
  • A decimal integer value with "ms" (case-insensitive, no space) appended to it. This will be interpreted as milliseconds. For example, a value of "2500ms" will be a 2.5 second timeout.
  • Negative, non-numeric, or non-decimal (for example, hexadecimal values prepended by "0x") values will be interpreted as illegal and will default to the 15 second timeout.
  • Whether the value is interpreted in seconds or milliseconds, a value of zero will disable the timeout.

FIXED ISSUES

client-libs

Priority Bug Summary
P4 JDK-8339524 Clean up a few ExtendedRobot tests
P4 JDK-8343128 PassFailJFrame.java test result: Error. Bad action for script: build}

client-libs/2d

Priority Bug Summary
P4 JDK-8277240 java/awt/Graphics2D/ScaledTransform/ScaledTransform.java dialog does not get disposed
P4 JDK-8320676 Manual printer tests have no Pass/Fail buttons, instructions close set 1
P4 JDK-8324807 Manual printer tests have no Pass/Fail buttons, instructions close set 2
P4 JDK-8339883 Open source several AWT/2D related tests

client-libs/java.awt

Priority Bug Summary
P1 JDK-8340480 Bad copyright notices in changes from JDK-8339902
P3 JDK-8312518 [macos13] setFullScreenWindow() shows black screen on macOS 13 & above
P3 JDK-8294067 [macOS] javax/swing/JComboBox/6559152/bug6559152.java Cannot select an item from popup with the ENTER key.
P3 JDK-8332158 [XWayland] test/jdk/java/awt/Mouse/EnterExitEvents/ResizingFrameTest.java
P4 JDK-8313633 [macOS] java/awt/dnd/NextDropActionTest/NextDropActionTest.java fails with java.lang.RuntimeException: wrong next drop action!
P4 JDK-8292588 [macos] Multiscreen/MultiScreenLocationTest/MultiScreenLocationTest.java: Robot.mouseMove test failed on Screen #0
P4 JDK-8198237 [macos] Test java/awt/Frame/ExceptionOnSetExtendedStateTest/ExceptionOnSetExtendedStateTest.java fails
P4 JDK-8328005 Convert java/awt/im/JTextFieldTest.java applet test to main
P4 JDK-8328185 Convert java/awt/image/MemoryLeakTest/MemoryLeakTest.java applet test to main
P4 JDK-8328368 Convert java/awt/image/multiresolution/MultiDisplayTest/MultiDisplayTest.java applet test to main
P4 JDK-8328370 Convert java/awt/print/Dialog/PrintApplet.java applet test to main
P4 JDK-8328719 Convert java/awt/print/PageFormat/SetOrient.html applet test to main
P4 JDK-8328827 Convert java/awt/print/PrinterJob/PrinterDialogsModalityTest/PrinterDialogsModalityTest.html applet test to main
P4 JDK-8329322 Convert PageFormat/Orient.java to use PassFailJFrame
P4 JDK-8329210 Delete Redundant Printer Dialog Modality Test
P4 JDK-8346887 DrawFocusRect() may cause an assertion failure
P4 JDK-8342541 Exclude List/KeyEventsTest/KeyEventsTest.java from running on macOS
P4 JDK-8339943 Frame not disposed in java/awt/dnd/DropActionChangeTest.java
P4 JDK-8337886 java/awt/Frame/MaximizeUndecoratedTest.java fails in OEL due to a slight color difference
P4 JDK-8340719 Open source AWT List tests
P4 JDK-8340687 Open source closed frame tests #1
P4 JDK-8339902 Open source couple TextField related tests
P4 JDK-8328753 Open source few Undecorated Frame tests
P4 JDK-8333360 PrintNullString.java doesn't use float arguments
P4 JDK-8333403 Write a test to check various components events are triggered properly

client-libs/javax.accessibility

Priority Bug Summary
P3 JDK-8283387 [macos] a11y : Screen magnifier does not show selected Tab
P4 JDK-8283404 [macos] a11y : Screen magnifier does not show JMenu name
P4 JDK-8341453 java/awt/a11y/AccessibleJTableTest.java fails in some cases where the test tables are not visible

client-libs/javax.swing

Priority Bug Summary
P2 JDK-8316627 JViewport Test headless failure
P3 JDK-8299077 [REDO] JDK-4512626 Non-editable JTextArea provides no visual indication of keyboard focus
P3 JDK-8328553 Get rid of JApplet in test/jdk/sanity/client/lib/SwingSet2/src/DemoModule.java
P4 JDK-8065099 [macos] javax/swing/PopupFactory/6276087/NonOpaquePopupMenuTest.java fails: no background shine through
P4 JDK-8341316 [macos] javax/swing/ProgressMonitor/ProgressMonitorEscapeKeyPress.java fails sometimes in macos
P4 JDK-8299127 [REDO] JDK-8194048 Regression automated test '/open/test/jdk/javax/swing/text/DefaultCaret/HidingSelection/HidingSelectionTest.java' fails
P4 JDK-8299128 [REDO] JDK-8213562 Test javax/swing/text/DefaultCaret/HidingSelection/MultiSelectionTest.java fails
P4 JDK-8208565 [TEST_BUG] javax\swing\PopupFactory\6276087\NonOpaquePopupMenuTest.java throws NPE
P4 JDK-8226933 [TEST_BUG]GTK L&F: There is no swatches or RGB tab in JColorChooser
P4 JDK-8328558 Convert javax/swing/JCheckBox/8032667/bug8032667.java applet test to main
P4 JDK-8328717 Convert javax/swing/JColorChooser/8065098/bug8065098.java applet test to main
P4 JDK-8341978 Improve JButton/bug4490179.java
P4 JDK-8346055 javax/swing/text/StyledEditorKit/4506788/bug4506788.java fails in ubuntu22.04
P4 JDK-8315825 Open some swing tests
P4 JDK-8315882 Open some swing tests 2
P4 JDK-8316146 Open some swing tests 4
P4 JDK-8316218 Open some swing tests 5
P4 JDK-8316371 Open some swing tests 6
P4 JDK-8315952 Open source several Swing JToolbar JTooltip JTree tests
P4 JDK-8315883 Open source several Swing JToolbar tests
P4 JDK-8316149 Open source several Swing JTree JViewport KeyboardManager tests
P4 JDK-8316056 Open source several Swing JTree tests
P4 JDK-8327857 Remove applet usage from JColorChooser tests Test4222508
P4 JDK-8327859 Remove applet usage from JColorChooser tests Test4319113
P4 JDK-8328121 Remove applet usage from JColorChooser tests Test4759306
P4 JDK-8328130 Remove applet usage from JColorChooser tests Test4759934
P4 JDK-8328227 Remove applet usage from JColorChooser tests Test4887836
P4 JDK-8328380 Remove applet usage from JColorChooser tests Test6348456
P4 JDK-8328403 Remove applet usage from JColorChooser tests Test6977726
P4 JDK-8328819 Remove applet usage from JFileChooser tests bug6698013
P4 JDK-8342602 Remove JButton/PressedButtonRightClickTest test
P4 JDK-8341982 Simplify JButton/bug4323121.java
P4 JDK-8338668 Test javax/swing/JFileChooser/8080628/bug8080628.java doesn't test for GTK L&F
P5 JDK-8342508 Use latch in BasicMenuUI/bug4983388.java instead of delay

core-libs

Priority Bug Summary
P4 JDK-8336012 Fix usages of jtreg-reserved properties

core-libs/java.lang

Priority Bug Summary
P4 JDK-8339687 Rearrange reachabilityFence()s in jdk.test.lib.util.ForceGC
P4 JDK-8319677 Test jdk/internal/misc/VM/RuntimeArguments.java should be marked as flagless

core-libs/java.lang.invoke

Priority Bug Summary
P4 JDK-8335150 Test LogGeneratedClassesTest.java fails on rpmbuild mock enviroment
P4 JDK-8319567 Update java/lang/invoke tests to support vm flags

core-libs/java.lang.module

Priority Bug Summary
P4 JDK-8319676 A couple of jdk/modules/incubator/ tests ignore VM flags

core-libs/java.lang:class_loading

Priority Bug Summary
P4 JDK-8319672 Several classloader tests ignore VM flags

core-libs/java.lang:reflect

Priority Bug Summary
P4 JDK-8319568 Update java/lang/reflect/exeCallerAccessTest/CallerAccessTest.java to accept vm flags

core-libs/java.net

Priority Bug Summary
P4 JDK-8318442 java/net/httpclient/ManyRequests2.java fails intermittently on Linux
P4 JDK-8342811 java/net/httpclient/PlainProxyConnectionTest.java failed: Unexpected connection count: 5

core-libs/java.nio

Priority Bug Summary
P2 JDK-8342145 File libCreationTimeHelper.c compile fails on Alpine
P3 JDK-8341881 [REDO] java/nio/file/attribute/BasicFileAttributeView/CreationTime.java#tmp fails on alinux3
P4 JDK-8338426 Test java/nio/channels/Selector/WakeupNow.java failed

core-libs/java.text

Priority Bug Summary
P3 JDK-8305853 java/text/Format/DateFormat/DateFormatRegression.java fails with "Uncaught exception thrown in test method Test4089106"
P4 JDK-8325908 Finish removal of IntlTest and CollatorTest
P4 JDK-8306711 Improve diagnosis of `IntlTest` framework
P4 JDK-8317631 Refactor ChoiceFormat tests to use JUnit
P4 JDK-8316696 Remove the testing base classes: IntlTest and CollatorTest

core-libs/java.time

Priority Bug Summary
P4 JDK-8324672 Update jdk/java/time/tck/java/time/TCKInstant.java now() to be more robust

core-libs/java.util

Priority Bug Summary
P4 JDK-8319569 Several java/util tests should be updated to accept VM flags

core-libs/java.util.jar

Priority Bug Summary
P5 JDK-8339154 Cleanups and JUnit conversion of test/jdk/java/util/zip/Available.java

core-libs/java.util.logging

Priority Bug Summary
P4 JDK-8319647 Few java/lang/System/LoggerFinder/modules tests ignore vm flags

core-libs/java.util:i18n

Priority Bug Summary
P4 JDK-8311663 Additional refactoring of Locale tests to JUnit
P4 JDK-8320714 java/util/Locale/LocaleProvidersRun.java and java/util/ResourceBundle/modules/visibility/VisibilityTest.java timeout after passing
P4 JDK-8316559 Refactor some util/Calendar tests to JUnit
P4 JDK-8312416 Tests in Locale should have more descriptive names

core-svc

Priority Bug Summary
P4 JDK-8327505 Test com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.java fails

core-svc/debugger

Priority Bug Summary
P4 JDK-8333391 Test com/sun/jdi/InterruptHangTest.java failed: Thread was never interrupted during sleep

core-svc/javax.management

Priority Bug Summary
P4 JDK-8299739 HashedPasswordFileTest.java and ExceptionTest.java can fail with java.lang.NullPointerException
P4 JDK-8311306 Test com/sun/management/ThreadMXBean/ThreadCpuTimeArray.java failed: out of expected range
P4 JDK-8334777 Test javax/management/remote/mandatory/notif/NotifReconnectDeadlockTest.java failed with NullPointerException

hotspot/compiler

Priority Bug Summary
P2 JDK-8342498 Add test for Allocation elimination after use as alignment reference by SuperWord
P3 JDK-8345296 AArch64: VM crashes with SIGILL when prctl is disallowed
P3 JDK-8338100 C2: assert(!n_loop->is_member(get_loop(lca))) failed: control must not be back in the loop
P3 JDK-8328085 C2: Use after free in PhaseChaitin::Register_Allocate()
P4 JDK-8343724 [PPC64] Disallow OptoScheduling
P4 JDK-8326421 Add jtreg test for large arrayCopy disjoint case.
P4 JDK-8336692 Redo fix for JDK-8284620

hotspot/jfr

Priority Bug Summary
P3 JDK-8323196 jdk/jfr/api/consumer/filestream/TestOrdered.java failed with "Events are not ordered! Reuse = false"
P4 JDK-8320916 jdk/jfr/event/gc/stacktrace/TestParallelMarkSweepAllocationPendingStackTrace.java failed with "OutOfMemoryError: GC overhead limit exceeded"
P4 JDK-8340969 jdk/jfr/startupargs/TestStartDuration.java should be marked as flagless
P4 JDK-8331153 JFR: Improve logging of jdk/jfr/api/consumer/filestream/TestOrdered.java
P5 JDK-8313710 jcmd: typo in the documentation of JFR.start and JFR.dump

hotspot/jvmti

Priority Bug Summary
P4 JDK-8317636 Improve heap walking API tests to verify correctness of field indexes
P4 JDK-8282314 nsk/jvmti/SuspendThread/suspendthrd003 may leak memory

hotspot/other

Priority Bug Summary
P4 JDK-8341722 Fix some warnings as errors when building on Linux with toolchain clang

hotspot/runtime

Priority Bug Summary
P2 JDK-8325937 runtime/handshake/HandshakeDirectTest.java causes "monitor end should be strictly below the frame pointer" assertion failure on AArch64
P2 JDK-8309171 Test vmTestbase/nsk/jvmti/scenarios/jni_interception/JI05/ji05t001/TestDescription.java fails after JDK-8308341
P3 JDK-8308341 JNI_GetCreatedJavaVMs returns a partially initialized JVM
P4 JDK-8343129 Disable unstable check of ThreadsListHandle.sanity_vm ThreadList values
P4 JDK-8342607 Enhance register printing on x86_64 platforms
P4 JDK-8276202 LogFileOutput.invalid_file_vm asserts when being executed from a read only working directory
P4 JDK-8344646 The libjsig deprecation warning should go to stderr not stdout

hotspot/svc

Priority Bug Summary
P2 JDK-8314225 SIGSEGV in JavaThread::is_lock_owned
P4 JDK-8326525 com/sun/tools/attach/BasicTests.java does not verify AgentLoadException case

hotspot/test

Priority Bug Summary
P4 JDK-8314610 hotspot can't compile with the latest of gtest because of

infrastructure/build

Priority Bug Summary
P4 JDK-8336498 [macos] [build]: install-file macro may run into permission denied error
P4 JDK-8341424 GHA: Collect hs_errs from build time failures
P4 JDK-8342704 GHA: Report truncation is broken after JDK-8341424
P4 JDK-8342858 Make target mac-jdk-bundle fails on chmod command

infrastructure/release_eng

Priority Bug Summary
P4 JDK-8345371 Bump update version for OpenJDK: jdk-17.0.15

other-libs/other

Priority Bug Summary
P4 JDK-8334490 Normalize string with locale invariant `toLowerCase()`

security-libs/java.security

Priority Bug Summary
P2 JDK-8320372 test/jdk/sun/security/x509/DNSName/LeadingPeriod.java validity check failed
P3 JDK-8311546 Certificate name constraints improperly validated with leading period
P3 JDK-8309740 Expand timeout windows for tests in JDK-8179502
P3 JDK-8345414 Google CAInterop test failures
P3 JDK-8337826 Improve logging in OCSPTimeout and SimpleOCSPResponder to help diagnose JDK-8309754
P3 JDK-8299994 java/security/Policy/Root/Root.java fails when home directory is read-only
P3 JDK-8292704 sun/security/tools/jarsigner/compatibility/Compatibility.java use wrong key size for EC
P3 JDK-8337951 Test sun/security/validator/samedn.sh CertificateNotYetValidException: NotBefore validation
P4 JDK-8335172 Add manual steps to run security/auth/callback/TextCallbackHandler/Password.java test
P4 JDK-8296818 Enhance JMH tests java/security/Signatures.java
P4 JDK-8179502 Enhance OCSP, CRL and Certificate Fetch Timeouts
P4 JDK-8319673 Few security tests ignore VM flags
P4 JDK-8347424 Fix and rewrite sun/security/x509/DNSName/LeadingPeriod.java test
P4 JDK-8319648 java/lang/SecurityManager tests ignore vm flags
P4 JDK-8310629 java/security/cert/CertPathValidator/OCSP/OCSPTimeout.java fails with RuntimeException Server not ready
P4 JDK-8295087 Manual Test to Automated Test Conversion
P4 JDK-8340116 test/jdk/sun/security/tools/jarsigner/PreserveRawManifestEntryAndDigest.java can fail due to regex
P5 JDK-8325024 java/security/cert/CertPathValidator/OCSP/OCSPTimeout.java incorrect comment information

security-libs/javax.crypto

Priority Bug Summary
P3 JDK-8296591 Signature benchmark
P4 JDK-8286779 javax.crypto.CryptoPolicyParser#isConsistent always returns 'true'

security-libs/javax.crypto:pkcs11

Priority Bug Summary
P3 JDK-8293345 SunPKCS11 provider checks on PKCS11 Mechanism are problematic
P3 JDK-8342270 Test sun/security/pkcs11/Provider/RequiredMechCheck.java needs write access to src tree
P4 JDK-8331959 Update PKCS#11 Cryptographic Token Interface to v3.1

security-libs/javax.net.ssl

Priority Bug Summary
P4 JDK-8339261 Logs truncated in test javax/net/ssl/DTLS/DTLSRehandshakeTest.java

security-libs/jdk.security

Priority Bug Summary
P3 JDK-8281234 The -protected option is not always checked in keytool and jarsigner
P4 JDK-8293412 Remove unnecessary java.security.egd overrides

tools/javac

Priority Bug Summary
P4 JDK-8336942 Improve test coverage for class loading elements with annotations of different retentions
P4 JDK-8333427 langtools/tools/javac/newlines/NewLineTest.java is failing on Japanese Windows

tools/javadoc(tool)

Priority Bug Summary
P4 JDK-8325529 Remove unused imports from `ModuleGenerator` test file

tools/jpackage

Priority Bug Summary
P3 JDK-8343100 Consolidate EmptyFolderTest and EmptyFolderPackageTest jpackage tests into single java file
P3 JDK-8343178 Test BasicTest.java javac compile fails cannot find symbol
P4 JDK-8342609 jpackage test helper function incorrectly removes a directory instead of its contents only
P4 JDK-8290400 Must run exe installers in jpackage jtreg tests without UI
P4 JDK-8343101 Rework BasicTest.testTemp test cases
P4 JDK-8314909 tools/jpackage/windows/Win8282351Test.java fails with java.lang.AssertionError: Expected [0]. Actual [1618]: