Blame SOURCES/NEWS

cadfac
Key:
cadfac
cadfac
JDK-X  - https://bugs.openjdk.java.net/browse/JDK-X
cadfac
CVE-XXXX-YYYY: https://cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
cadfac
0df9af
New in release OpenJDK 17.0.5 (2022-10-18):
0df9af
===========================================
0df9af
Live versions of these release notes can be found at:
0df9af
  * https://bitly.com/openjdk1705
0df9af
  * https://builds.shipilev.net/backports-monitor/release-notes-17.0.5.html
0df9af
0df9af
* Security fixes
0df9af
  - JDK-8282252: Improve BigInteger/Decimal validation
0df9af
  - JDK-8285662: Better permission resolution
0df9af
  - JDK-8286077, CVE-2022-21618: Wider MultiByte conversions
0df9af
  - JDK-8286511: Improve macro allocation
0df9af
  - JDK-8286519: Better memory handling
0df9af
  - JDK-8286526, CVE-2022-21619: Improve NTLM support
0df9af
  - JDK-8286910, CVE-2022-21624: Improve JNDI lookups
0df9af
  - JDK-8286918, CVE-2022-21628: Better HttpServer service
0df9af
  - JDK-8287446: Enhance icon presentations
0df9af
  - JDK-8288508: Enhance ECDSA usage
0df9af
  - JDK-8289366, CVE-2022-39399: Improve HTTP/2 client usage
0df9af
  - JDK-8289853: Update HarfBuzz to 4.4.1
0df9af
  - JDK-8290334: Update FreeType to 2.12.1
0df9af
* Other changes
0df9af
  - JDK-6782021: It is not possible to read local computer certificates with the SunMSCAPI provider
0df9af
  - JDK-6854300: [TEST_BUG] java/awt/event/MouseEvent/SpuriousExitEnter/SpuriousExitEnter_3.java fails in jdk6u14 & jdk7
0df9af
  - JDK-7131823: bug in GIFImageReader
0df9af
  - JDK-8017175: [TESTBUG] javax/swing/JPopupMenu/4634626/bug4634626.java sometimes failed on mac
0df9af
  - JDK-8028265: Add legacy tz tests to OpenJDK
0df9af
  - JDK-8028998: [TEST_BUG] [macosx] java/awt/dnd/DropTargetEnterExitTest/MissedDragExitTest.java failed
0df9af
  - JDK-8079267: [TEST_BUG] Test java/awt/Frame/MiscUndecorated/RepaintTest.java fails
0df9af
  - JDK-8159694: HiDPI, Unity, java/awt/dnd/DropTargetEnterExitTest/MissedDragExitTest.java
0df9af
  - JDK-8169468: NoResizeEventOnDMChangeTest.java fails because FS Window didn't receive all resizes!
0df9af
  - JDK-8172065: javax/swing/JTree/4908142/bug4908142.java The selected index should be "aad"
0df9af
  - JDK-8178969: [TESTBUG] Wrong reporting of gc/g1/humongousObjects/TestHeapCounters test.
0df9af
  - JDK-8211002: test/jdk/java/lang/Math/PowTests.java skips testing for non-corner-case values
0df9af
  - JDK-8212096: javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java failed intermittently due to SSLException: Tag mismatch
0df9af
  - JDK-8223543: [TESTBUG] Regression test java/awt/Graphics2D/DrawString/LCDTextSrcEa.java has issues
0df9af
  - JDK-8225122: Test AncestorResized.java fails when Windows desktop is scaled.
0df9af
  - JDK-8227651: Tests fail with SSLProtocolException: Input record too big
0df9af
  - JDK-8240903: Add test to check that jmod hashes are reproducible
0df9af
  - JDK-8254318: Remove .hgtags
0df9af
  - JDK-8255724: [XRender] the BlitRotateClippedArea test fails on Linux in the XR pipeline
0df9af
  - JDK-8256844: Make NMT late-initializable
0df9af
  - JDK-8257534: misc tests failed with "NoClassDefFoundError: Could not initialize class java.util.concurrent.ThreadLocalRandom"
0df9af
  - JDK-8264666: Change implementation of safeAdd/safeMult in the LCMSImageLayout class
0df9af
  - JDK-8264792: The NumberFormat for locale sq_XK formats price incorrectly.
0df9af
  - JDK-8265360: several compiler/whitebox tests fail with "private compiler.whitebox.SimpleTestCaseHelper(int) must be compiled"
0df9af
  - JDK-8269039: Disable SHA-1 Signed JARs
0df9af
  - JDK-8269556: sun/tools/jhsdb/JShellHeapDumpTest.java fails with RuntimeException 'JShellToolProvider' missing from stdout/stderr
0df9af
  - JDK-8270090: C2: LCM may prioritize CheckCastPP nodes over projections
0df9af
  - JDK-8270312: Error: Not a test or directory containing tests: java/awt/print/PrinterJob/XparColor.java
0df9af
  - JDK-8271078: jdk/incubator/vector/Float128VectorTests.java failed a subtest
0df9af
  - JDK-8271344: Windows product version issue
0df9af
  - JDK-8272352: Java launcher can not parse Chinese character when system locale is set to UTF-8
0df9af
  - JDK-8272417: ZGC: fastdebug build crashes when printing ClassLoaderData
0df9af
  - JDK-8272736: [JVMCI] Add API for reading and writing JVMCI thread locals
0df9af
  - JDK-8272815: jpackage --type rpm produces an error: Invalid or unsupported type: [null]
0df9af
  - JDK-8273040: Turning off JpAllowDowngrades (or Upgrades)
0df9af
  - JDK-8273115: CountedLoopEndNode::stride_con crash in debug build with -XX:+TraceLoopOpts
0df9af
  - JDK-8273506: java Robot API did the 'm' keypress and caused /awt/event/KeyEvent/KeyCharTest/KeyCharTest.html is timing out on macOS 12
0df9af
  - JDK-8274434: move os::get_default_process_handle and os::dll_lookup to os_posix for POSIX platforms
0df9af
  - JDK-8274517: java/util/DoubleStreamSums/CompensatedSums.java fails with expected [true] but found [false]
0df9af
  - JDK-8274597: Some of the dnd tests time out and fail intermittently
0df9af
  - JDK-8274856: Failing jpackage tests with fastdebug/release build
0df9af
  - JDK-8275689: [TESTBUG] Use color tolerance only for XRender in BlitRotateClippedArea test
0df9af
  - JDK-8275887: jarsigner prints invalid digest/signature algorithm warnings if keysize is weak/disabled
0df9af
  - JDK-8276546: [IR Framework] Whitelist and ignore CompileThreshold
0df9af
  - JDK-8276837: [macos]: Error when signing the additional launcher
0df9af
  - JDK-8277429: Conflicting jpackage static library name
0df9af
  - JDK-8277493: [REDO] Quarantined jpackage apps are labeled as "damaged"
0df9af
  - JDK-8278067: Make HttpURLConnection default keep alive timeout configurable
0df9af
  - JDK-8278233: [macos] tools/jpackage tests timeout due to /usr/bin/osascript
0df9af
  - JDK-8278311: Debian packaging doesn't work
0df9af
  - JDK-8278609: [macos] accessibility frame is misplaced on a secondary monitor on macOS
0df9af
  - JDK-8278612: [macos] test/jdk/java/awt/dnd/RemoveDropTargetCrashTest crashes with VoiceOver on macOS
0df9af
  - JDK-8279032: compiler/loopopts/TestSkeletonPredicateNegation.java times out with -XX:TieredStopAtLevel < 4
0df9af
  - JDK-8279370: jdk.jpackage/share/native/applauncher/JvmLauncher.cpp fails to build with GCC 6.3.0
0df9af
  - JDK-8279622: C2: miscompilation of map pattern as a vector reduction
0df9af
  - JDK-8280233: Temporarily disable Unix domain sockets in Windows PipeImpl
0df9af
  - JDK-8280550: SplittableRandom#nextDouble(double,double) can return result >= bound
0df9af
  - JDK-8280696: C2 compilation hits assert(is_dominator(c, n_ctrl)) failed
0df9af
  - JDK-8280863: Update build README to reflect that MSYS2 is supported
0df9af
  - JDK-8280913: Create a regression test for JRootPane.setDefaultButton() method
0df9af
  - JDK-8280944: Enable Unix domain sockets in Windows Selector notification mechanism
0df9af
  - JDK-8280950: RandomGenerator:NextDouble() default behavior non conformant after JDK-8280550 fix
0df9af
  - JDK-8281181: Do not use CPU Shares to compute active processor count
0df9af
  - JDK-8281183: RandomGenerator:NextDouble() default behavior partially fixed by JDK-8280950
0df9af
  - JDK-8281297: TestStressG1Humongous fails with guarantee(is_range_uncommitted)
0df9af
  - JDK-8281535: Create a regression test for JDK-4670051
0df9af
  - JDK-8281569: Create tests for Frame.setMinimumSize() method
0df9af
  - JDK-8281628: KeyAgreement : generateSecret intermittently not resetting
0df9af
  - JDK-8281738: Create a regression test for checking the 'Space' key activation of focused Button
0df9af
  - JDK-8281745: Create a regression test for JDK-4514331
0df9af
  - JDK-8281988: Create a regression test for JDK-4618767
0df9af
  - JDK-8282007: Assorted enhancements to jpackage testing framework
0df9af
  - JDK-8282046: Create a regression test for JDK-8000326
0df9af
  - JDK-8282214: Upgrade JQuery to version 3.6.0
0df9af
  - JDK-8282234: Create a regression test for JDK-4532513
0df9af
  - JDK-8282280: Update Xerces to Version 2.12.2
0df9af
  - JDK-8282306: os::is_first_C_frame(frame*) crashes on invalid link access
0df9af
  - JDK-8282343: Create a regression test for JDK-4518432
0df9af
  - JDK-8282351: jpackage does not work if class file has `$$` in the name on windows
0df9af
  - JDK-8282407: Missing ')' in MacResources.properties
0df9af
  - JDK-8282467: add extra diagnostics for JDK-8268184
0df9af
  - JDK-8282477: [x86, aarch64] vmassert(_last_Java_pc == NULL, "already walkable"); fails with async profiler
0df9af
  - JDK-8282538: PKCS11 tests fail on CentOS Stream 9
0df9af
  - JDK-8282548: Create a regression test for JDK-4330998
0df9af
  - JDK-8282555: Missing memory edge when spilling MoveF2I, MoveD2L etc
0df9af
  - JDK-8282640: Create a test for JDK-4740761
0df9af
  - JDK-8282778: Create a regression test for JDK-4699544
0df9af
  - JDK-8282789: Create a regression test for the JTree usecase of JDK-4618767
0df9af
  - JDK-8282860: Write a regression test for JDK-4164779
0df9af
  - JDK-8282933: Create a test for JDK-4529616
0df9af
  - JDK-8282936: Write a regression test for JDK-4615365
0df9af
  - JDK-8282937: Write a regression test for JDK-4820080
0df9af
  - JDK-8282947: JFR: Dump on shutdown live-locks in some conditions
0df9af
  - JDK-8283015: Create a test for JDK-4715496
0df9af
  - JDK-8283087: Create a test or JDK-4715503
0df9af
  - JDK-8283245: Create a test for JDK-4670319
0df9af
  - JDK-8283277: ISO 4217 Amendment 171 Update
0df9af
  - JDK-8283441: C2: segmentation fault in ciMethodBlocks::make_block_at(int)
0df9af
  - JDK-8283457: [macos] libpng build failures with Xcode13.3
0df9af
  - JDK-8283493: Create an automated regression test for RFE 4231298
0df9af
  - JDK-8283507: Create a regression test for RFE 4287690
0df9af
  - JDK-8283562: JDK-8282306 breaks gtests on zero
0df9af
  - JDK-8283597: [REDO] Invalid generic signature for redefined classes
0df9af
  - JDK-8283621: Write a regression test for CCC4400728
0df9af
  - JDK-8283623: Create an automated regression test for JDK-4525475
0df9af
  - JDK-8283624: Create an automated regression test for RFE-4390885
0df9af
  - JDK-8283712: Create a manual test framework class
0df9af
  - JDK-8283723: Update Visual Studio 2022 to version 17.1.0 for Oracle builds on Windows
0df9af
  - JDK-8283803: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/PrintGlyphVectorTest.java and fix test
0df9af
  - JDK-8283849: AsyncGetCallTrace may crash JVM on guarantee
0df9af
  - JDK-8283903: GetContainerCpuLoad does not return the correct result in share mode
0df9af
  - JDK-8283911: DEFAULT_PROMOTED_VERSION_PRE not reset to 'ea' for jdk-17.0.4
0df9af
  - JDK-8284014: Menu items with submenus in JPopupMenu are not spoken on macOS
0df9af
  - JDK-8284067: jpackage'd launcher reports non-zero exit codes with error prompt
0df9af
  - JDK-8284077: Create an automated test for JDK-4170173
0df9af
  - JDK-8284294: Create an automated regression test for RFE 4138746
0df9af
  - JDK-8284358: Unreachable loop is not removed from C2 IR, leading to a broken graph
0df9af
  - JDK-8284367: JQuery UI upgrade from 1.12.1 to 1.13.1
0df9af
  - JDK-8284521: Write an automated regression test for RFE 4371575
0df9af
  - JDK-8284535: Fix PrintLatinCJKTest.java test that is failing with Parse Exception
0df9af
  - JDK-8284675: "jpackage.exe" creates application launcher without Windows Application Manfiest
0df9af
  - JDK-8284680: sun.font.FontConfigManager.getFontConfig() leaks charset
0df9af
  - JDK-8284686: Interval of < 1 ms disables ExecutionSample events
0df9af
  - JDK-8284694: Avoid evaluating SSLAlgorithmConstraints twice
0df9af
  - JDK-8284883: JVM crash: guarantee(sect->end() <= sect->limit()) failed: sanity on AVX512
0df9af
  - JDK-8284898: Enhance PassFailJFrame
0df9af
  - JDK-8284944: assert(cnt++ < 40) failed: infinite cycle in loop optimization
0df9af
  - JDK-8284950: CgroupV1 detection code should consider memory.swappiness
0df9af
  - JDK-8284956: Potential leak awtImageData/color_data when initializes X11GraphicsEnvironment
0df9af
  - JDK-8284977: MetricsTesterCgroupV2.getLongValueEntryFromFile fails when named value doesn't exist
0df9af
  - JDK-8285081: Improve XPath operators count accuracy
0df9af
  - JDK-8285097: Duplicate XML keys in XPATHErrorResources.java and XSLTErrorResources.java
0df9af
  - JDK-8285301: C2: assert(!requires_atomic_access) failed: can't ensure atomicity
0df9af
  - JDK-8285380: Fix typos in security
0df9af
  - JDK-8285398: Cache the results of constraint checks
0df9af
  - JDK-8285617: Fix java/awt/print/PrinterJob/ImagePrinting/PrintARGBImage.java manual test
0df9af
  - JDK-8285693: Create an automated test for JDK-4702199
0df9af
  - JDK-8285696: AlgorithmConstraints:permits not throwing IllegalArgumentException when 'alg'  is null
0df9af
  - JDK-8285730: unify _WIN32_WINNT settings
0df9af
  - JDK-8285820: C2: LCM prioritizes locally dependent CreateEx nodes over projections after 8270090
0df9af
  - JDK-8285923: [REDO] JDK-8285802 AArch64: Consistently handle offsets in MacroAssembler as 64-bit quantities
0df9af
  - JDK-8286114: [test] show real exception in bomb call in sun/rmi/runtime/Log/checkLogging/CheckLogging.java
0df9af
  - JDK-8286122: [macos]: App bundle cannot upload to Mac App Store due to info.plist embedded in java exe
0df9af
  - JDK-8286177: C2: "failed: non-reduction loop contains reduction nodes" assert failure
0df9af
  - JDK-8286211: Update PCSC-Lite for Suse Linux to 1.9.5
0df9af
  - JDK-8286266: [macos] Voice over moving JTable column to be the first column JVM crashes
0df9af
  - JDK-8286277: CDS VerifyError when calling clone() on object array
0df9af
  - JDK-8286314: Trampoline not created for far runtime targets outside small CodeCache
0df9af
  - JDK-8286429: jpackageapplauncher build fails intermittently in Tier[45]
0df9af
  - JDK-8286573: Remove the unnecessary method Attr#attribTopLevel and its usage
0df9af
  - JDK-8286582: Build fails on macos aarch64 when using --with-zlib=bundled
0df9af
  - JDK-8286625: C2 fails with assert(!n->is_Store() && !n->is_LoadStore()) failed: no node with a side effect
0df9af
  - JDK-8286638: C2: CmpU needs to do more precise over/underflow analysis
0df9af
  - JDK-8286869: unify os::dir_is_empty across posix platforms
0df9af
  - JDK-8286870: Memory leak with RepeatCompilation
0df9af
  - JDK-8287016: Bump update version for OpenJDK: jdk-17.0.5
0df9af
  - JDK-8287073: NPE from CgroupV2Subsystem.getInstance()
0df9af
  - JDK-8287091: aarch64 : guarantee(val < (1ULL << nbits)) failed: Field too big for insn
0df9af
  - JDK-8287107: CgroupSubsystemFactory.setCgroupV2Path asserts with freezer controller
0df9af
  - JDK-8287113: JFR: Periodic task thread uses period for method sampling events
0df9af
  - JDK-8287125: [macos] Multiple jpackage tests fail/timeout on same host
0df9af
  - JDK-8287202: GHA: Add macOS aarch64 to the list of default platforms for workflow_dispatch event
0df9af
  - JDK-8287223: C1: Inlining attempt through MH::invokeBasic() with null receiver
0df9af
  - JDK-8287366: Improve test failure reporting in GHA
0df9af
  - JDK-8287396: LIR_Opr::vreg_number() and data() can return negative number
0df9af
  - JDK-8287432: C2: assert(tn->in(0) != __null) failed: must have live top node
0df9af
  - JDK-8287463: JFR: Disable TestDevNull.java on Windows
0df9af
  - JDK-8287663: Add a regression test for JDK-8287073
0df9af
  - JDK-8287672: jtreg test com/sun/jndi/ldap/LdapPoolTimeoutTest.java fails intermittently in nightly run
0df9af
  - JDK-8287724: Fix various issues with msys2
0df9af
  - JDK-8287735: Provide separate event category for dll operations
0df9af
  - JDK-8287741: Fix of JDK-8287107 (unused cgv1 freezer controller) was incomplete
0df9af
  - JDK-8287824: The MTPerLineTransformValidation tests has a typo in the @run tag
0df9af
  - JDK-8287895: Some langtools tests fail on msys2
0df9af
  - JDK-8287896: PropertiesTest.sh fail on msys2
0df9af
  - JDK-8287902: UnreadableRB case in MissingResourceCauseTest is not working reliably on Windows
0df9af
  - JDK-8287906: Rewrite of GitHub Actions (GHA) sanity tests
0df9af
  - JDK-8287917: System.loadLibrary does not work on Big Sur if JDK is built with macOS SDK 10.15 and earlier
0df9af
  - JDK-8288000: compiler/loopopts/TestOverUnrolling2.java fails with release VMs
0df9af
  - JDK-8288003: log events for os::dll_unload
0df9af
  - JDK-8288303: C1: Miscompilation due to broken Class.getModifiers intrinsic
0df9af
  - JDK-8288360: CI: ciInstanceKlass::implementor() is not consistent for well-known classes
0df9af
  - JDK-8288399: MacOS debug symbol files not always deterministic in reproducible builds
0df9af
  - JDK-8288467: remove memory_operand assert for spilled instructions
0df9af
  - JDK-8288499: Restore cancel-in-progress in GHA
0df9af
  - JDK-8288599: com/sun/management/OperatingSystemMXBean/TestTotalSwap.java: Expected total swap size ... but getTotalSwapSpaceSize returned ...
0df9af
  - JDK-8288754: GCC 12 fails to build zReferenceProcessor.cpp
0df9af
  - JDK-8288781: C1: LIR_OpVisitState::maxNumberOfOperands too small
0df9af
  - JDK-8288985: P11TlsKeyMaterialGenerator should work with ChaCha20-Poly1305
0df9af
  - JDK-8288992: AArch64: CMN should be handled the same way as CMP
0df9af
  - JDK-8289127: Apache Lucene triggers: DEBUG MESSAGE: duplicated predicate failed which is impossible
0df9af
  - JDK-8289147: unify os::infinite_sleep on posix platforms
0df9af
  - JDK-8289197: [17u] Push of backport of 8286177 did not remove assertion
0df9af
  - JDK-8289471: Issue in Initialization of keys in ErrorMsg.java and XPATHErrorResources.java
0df9af
  - JDK-8289477: Memory corruption with CPU_ALLOC, CPU_FREE on muslc
0df9af
  - JDK-8289486: Improve XSLT XPath operators count efficiency
0df9af
  - JDK-8289549: ISO 4217 Amendment 172 Update
0df9af
  - JDK-8289569: [test] java/lang/ProcessBuilder/Basic.java fails on Alpine/musl
0df9af
  - JDK-8289695: [TESTBUG] TestMemoryAwareness.java fails on cgroups v2 and crun
0df9af
  - JDK-8289697: buffer overflow in MTLVertexCache.m: MTLVertexCache_AddGlyphQuad
0df9af
  - JDK-8289799: Build warning in methodData.cpp memset zero-length parameter
0df9af
  - JDK-8289856: [PPC64] SIGSEGV in C2Compiler::init_c2_runtime() after JDK-8289060
0df9af
  - JDK-8289910: unify os::message_box across posix platforms
0df9af
  - JDK-8290000: Bump macOS GitHub actions to macOS 11
0df9af
  - JDK-8290004: [PPC64] JfrGetCallTrace: assert(_pc != nullptr) failed: must have PC
0df9af
  - JDK-8290020: Deadlock in leakprofiler::emit_events during shutdown
0df9af
  - JDK-8290082: [PPC64] ZGC C2 load barrier stub needs to preserve vector registers
0df9af
  - JDK-8290246: test fails "assert(init != __null) failed: initialization not found"
0df9af
  - JDK-8290417: CDS cannot archive lamda proxy with useImplMethodHandle
0df9af
  - JDK-8290456: remove os::print_statistics()
0df9af
  - JDK-8291595: [17u] Delete files missed in backport of 8269039
0df9af
  - JDK-8291633: Build failures with GCC 11, Alpine 3 due to incompatible casts from nullptr
0df9af
  - JDK-8292579: (tz) Update Timezone Data to 2022c
0df9af
  - JDK-8295056: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.5
0df9af
0df9af
Notes on individual issues:
0df9af
===========================
0df9af
0df9af
core-libs/java.net:
0df9af
0df9af
JDK-8278067: Make HttpURLConnection Default Keep Alive Timeout Configurable
0df9af
===========================================================================
0df9af
Two system properties have been added which control the keep alive
0df9af
behavior of HttpURLConnection in the case where the server does not
0df9af
specify a keep alive time. Two properties are defined for controlling
0df9af
connections to servers and proxies separately. They are:
0df9af
0df9af
* `http.keepAlive.time.server`
0df9af
* `http.keepAlive.time.proxy`
0df9af
0df9af
respectively. More information about them can be found on the
0df9af
Networking Properties page:
0df9af
https://docs.oracle.com/en/java/javase/19/docs/api/java.base/java/net/doc-files/net-properties.html.
0df9af
0df9af
security-libs/javax.crypto:
0df9af
0df9af
JDK-6782021: Windows KeyStore Updated to Include Access to the Local Machine Location
0df9af
=====================================================================================
0df9af
The Windows KeyStore support in the SunMSCAPI provider has been
0df9af
expanded to include access to the local machine location. The new
0df9af
keystore types are:
0df9af
0df9af
* "Windows-MY-LOCALMACHINE"
0df9af
* "Windows-ROOT-LOCALMACHINE"
0df9af
0df9af
The following keystore types were also added, allowing developers to
0df9af
make it clear they map to the current user:
0df9af
0df9af
* "Windows-MY-CURRENTUSER" (same as "Windows-MY")
0df9af
* "Windows-ROOT-CURRENTUSER" (same as "Windows-ROOT")
0df9af
0df9af
JDK-8286918: Better HttpServer service
0df9af
======================================
0df9af
The HttpServer can be optionally configured with a maximum connection
0df9af
limit by setting the jdk.httpserver.maxConnections system property. A
0df9af
value of 0 or a negative integer is ignored and considered to
0df9af
represent no connection limit. In the case of a positive integer
0df9af
value, any newly accepted connections will be first checked against
0df9af
the current count of established connections and, if the configured
0df9af
limit has been reached, then the newly accepted connection will be
0df9af
closed immediately.
0df9af
0df9af
hotspot/runtime:
0df9af
0df9af
JDK-8281181: CPU Shares Ignored When Computing Active Processor Count
0df9af
=====================================================================
0df9af
Previous JDK releases used an incorrect interpretation of the Linux
0df9af
cgroups parameter "cpu.shares". This might cause the JVM to use fewer
0df9af
CPUs than available, leading to an under utilization of CPU resources
0df9af
when the JVM is used inside a container.
0df9af
0df9af
Starting from this JDK release, by default, the JVM no longer
0df9af
considers "cpu.shares" when deciding the number of threads to be used
0df9af
by the various thread pools. The `-XX:+UseContainerCpuShares`
0df9af
command-line option can be used to revert to the previous
0df9af
behavior. This option is deprecated and may be removed in a future JDK
0df9af
release.
0df9af
0df9af
security-libs/java.security:
0df9af
0df9af
JDK-8269039: Disabled SHA-1 Signed JARs
0df9af
=======================================
0df9af
JARs signed with SHA-1 algorithms are now restricted by default and
0df9af
treated as if they were unsigned. This applies to the algorithms used
0df9af
to digest, sign, and optionally timestamp the JAR. It also applies to
0df9af
the signature and digest algorithms of the certificates in the
0df9af
certificate chain of the code signer and the Timestamp Authority, and
0df9af
any CRLs or OCSP responses that are used to verify if those
0df9af
certificates have been revoked. These restrictions also apply to
0df9af
signed JCE providers.
0df9af
0df9af
To reduce the compatibility risk for JARs that have been previously
0df9af
timestamped, there is one exception to this policy:
0df9af
0df9af
- Any JAR signed with SHA-1 algorithms and timestamped prior to
0df9af
  January 01, 2019 will not be restricted.
0df9af
0df9af
This exception may be removed in a future JDK release. To determine if
0df9af
your signed JARs are affected by this change, run:
0df9af
0df9af
$ jarsigner -verify -verbose -certs`
0df9af
0df9af
on the signed JAR, and look for instances of "SHA1" or "SHA-1" and
0df9af
"disabled" and a warning that the JAR will be treated as unsigned in
0df9af
the output.
0df9af
0df9af
For example:
0df9af
0df9af
   Signed by "CN="Signer""
0df9af
   Digest algorithm: SHA-1 (disabled)
0df9af
   Signature algorithm: SHA1withRSA (disabled), 2048-bit key
0df9af
0df9af
   WARNING: The jar will be treated as unsigned, because it is signed with a weak algorithm that is now disabled by the security property:
0df9af
0df9af
   jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize < 1024, DSA keySize < 1024, SHA1 denyAfter 2019-01-01
0df9af
0df9af
JARs affected by these new restrictions should be replaced or
0df9af
re-signed with stronger algorithms.
0df9af
0df9af
Users can, *at their own risk*, remove these restrictions by modifying
0df9af
the `java.security` configuration file (or override it by using the
0df9af
`java.security.properties` system property) and removing "SHA1 usage
0df9af
SignedJAR & denyAfter 2019-01-01" from the
0df9af
`jdk.certpath.disabledAlgorithms` security property and "SHA1
0df9af
denyAfter 2019-01-01" from the `jdk.jar.disabledAlgorithms` security
0df9af
property.
0df9af
0df9af
New in release OpenJDK 17.0.4.1 (2022-08-16):
0df9af
===========================================
0df9af
Live versions of these release notes can be found at:
0df9af
  * https://bit.ly/openjdk17041
0df9af
  * https://builds.shipilev.net/backports-monitor/release-notes-17.0.4.1.txt
0df9af
0df9af
* Other changes
0df9af
  - JDK-8292258: Bump update version for OpenJDK: jdk-17.0.4.1
0df9af
  - JDK-8292260: [BACKOUT] JDK-8279219: [REDO] C2 crash when allocating array of size too large
0df9af
0df9af
Notes on individual issues:
0df9af
===========================
0df9af
0df9af
hotspot/compiler:
0df9af
0df9af
JDK-8292396: C2 Compilation Errors Unpredictably Crashes JVM
0df9af
============================================================
0df9af
Fixes a regression in the C2 JIT compiler which caused the Java
0df9af
Runtime to crash unpredictably.
0df9af
0df9af
New in release OpenJDK 17.0.4 (2022-07-19):
0df9af
===========================================
0df9af
Live versions of these release notes can be found at:
0df9af
  * https://bitly.com/openjdk1704
0df9af
  * https://builds.shipilev.net/backports-monitor/release-notes-17.0.4.txt
0df9af
0df9af
* Security fixes
0df9af
  - JDK-8272243: Improve DER parsing
0df9af
  - JDK-8272249: Better properties of loaded Properties
0df9af
  - JDK-8273056, JDK-8283875, CVE-2022-21549: java.util.random does not correctly sample exponential or Gaussian distributions
0df9af
  - JDK-8277608: Address IP Addressing
0df9af
  - JDK-8281859, CVE-2022-21540: Improve class compilation
0df9af
  - JDK-8281866, CVE-2022-21541: Enhance MethodHandle invocations
0df9af
  - JDK-8283190: Improve MIDI processing
0df9af
  - JDK-8284370: Improve zlib usage
0df9af
  - JDK-8285407, CVE-2022-34169: Improve Xalan supports
0df9af
* Other changes
0df9af
  - JDK-8139173: [macosx] JInternalFrame shadow is not properly drawn
0df9af
  - JDK-8181571: printing to CUPS fails on mac sandbox app
0df9af
  - JDK-8193682: Infinite loop in ZipOutputStream.close()
0df9af
  - JDK-8206187: javax/management/remote/mandatory/connection/DefaultAgentFilterTest.java fails with Port already in use
0df9af
  - JDK-8209776: Refactor jdk/security/JavaDotSecurity/ifdefs.sh to plain java test
0df9af
  - JDK-8214733: runtime/8176717/TestInheritFD.java timed out
0df9af
  - JDK-8236136: tests which use CompilationMode shouldn't be run w/ TieredStopAtLevel
0df9af
  - JDK-8240756: [macos] SwingSet2:TableDemo:Printed Japanese characters were garbled
0df9af
  - JDK-8249592: Robot.mouseMove moves cursor to incorrect location when display scale varies and Java runs in DPI Unaware mode
0df9af
  - JDK-8251904: vmTestbase/nsk/sysdict/vm/stress/btree/btree010/btree010.java fails with ClassNotFoundException: nsk.sysdict.share.BTree0LLRLRLRRLR
0df9af
  - JDK-8255266: Update Public Suffix List to 3c213aa
0df9af
  - JDK-8256368: Avoid repeated upcalls into Java to re-resolve MH/VH linkers/invokers
0df9af
  - JDK-8258814: Compilation logging crashes for thread suspension / debugging tests
0df9af
  - JDK-8263461: jdk/jfr/event/gc/detailed/TestEvacuationFailedEvent.java uses wrong mechanism to cause evacuation failure
0df9af
  - JDK-8263538: SharedArchiveConsistency.java should test -Xshare:auto as well
0df9af
  - JDK-8264605: vmTestbase/nsk/jvmti/SuspendThread/suspendthrd003/TestDescription.java failed with "agent_tools.cpp, 471: (foundThread = (jthread) jni_env->NewGlobalRef(foundThread)) != NULL"
0df9af
  - JDK-8265261: java/nio/file/Files/InterruptCopy.java fails with java.lang.RuntimeException: Copy was not interrupted
0df9af
  - JDK-8265317: [vector] assert(payload->is_object()) failed: expected 'object' value for scalar-replaced boxed vector but got: NULL
0df9af
  - JDK-8267163: Rename anonymous loader tests to hidden loader tests
0df9af
  - JDK-8268231: Aarch64: Use Ldp in intrinsics for String.compareTo
0df9af
  - JDK-8268558: [TESTBUG] Case 2 in TestP11KeyFactoryGetRSAKeySpec is skipped
0df9af
  - JDK-8268595: java/io/Serializable/serialFilter/GlobalFilterTest.java#id1 failed in timeout
0df9af
  - JDK-8268773: Improvements related to: Failed to start thread - pthread_create failed (EAGAIN)
0df9af
  - JDK-8268906: gc/g1/mixedgc/TestOldGenCollectionUsage.java assumes that GCs take 1ms minimum
0df9af
  - JDK-8269077: TestSystemGC uses "require vm.gc.G1" for large pages subtest
0df9af
  - JDK-8269129: Multiple tier1 tests in hotspot/jtreg/compiler are failing for client VMs
0df9af
  - JDK-8269135: TestDifferentProtectionDomains runs into timeout in client VM
0df9af
  - JDK-8269373: some tests in jdk/tools/launcher/ fails on localized Windows platform
0df9af
  - JDK-8269753: Misplaced caret in PatternSyntaxException's detail message
0df9af
  - JDK-8269933: test/jdk/javax/net/ssl/compatibility/JdkInfo incorrect verification of protocol and cipher support
0df9af
  - JDK-8270021: Incorrect log decorators in gc/g1/plab/TestPLABEvacuationFailure.java
0df9af
  - JDK-8270336: [TESTBUG] Fix initialization in NonbranchyTree
0df9af
  - JDK-8270435: UT: MonitorUsedDeflationThresholdTest failed: did not find too_many string in output
0df9af
  - JDK-8270468: TestRangeCheckEliminated fails because methods are not compiled
0df9af
  - JDK-8270797: ShortECDSA.java test is not complete
0df9af
  - JDK-8270837: fix typos in test TestSigParse.java
0df9af
  - JDK-8271008: appcds/*/MethodHandlesAsCollectorTest.java  tests time out because of excessive GC (CodeCache GC Threshold) in loom
0df9af
  - JDK-8271055: Crash during deoptimization with "assert(bb->is_reachable()) failed: getting result from unreachable basicblock" with -XX:+VerifyStack
0df9af
  - JDK-8271224: runtime/EnclosingMethodAttr/EnclMethodAttr.java doesn't check exit code
0df9af
  - JDK-8271302: Regex Test Refresh
0df9af
  - JDK-8272146: Disable Fibonacci test on memory constrained systems
0df9af
  - JDK-8272168: some hotspot runtime/logging tests don't check exit code
0df9af
  - JDK-8272169: runtime/logging/LoaderConstraintsTest.java doesn't build test.Empty
0df9af
  - JDK-8272358: Some tests may fail when executed with other locales than the US
0df9af
  - JDK-8272493: Suboptimal code generation around Preconditions.checkIndex intrinsic with AVX2
0df9af
  - JDK-8272908: Missing coverage for certain classes in com.sun.org.apache.xml.internal.security
0df9af
  - JDK-8272964: java/nio/file/Files/InterruptCopy.java fails with java.lang.RuntimeException: Copy was not interrupted
0df9af
  - JDK-8273095: vmTestbase/vm/mlvm/anonloader/stress/oome/heap/Test.java fails with "wrong OOME"
0df9af
  - JDK-8273139: C2: assert(f <= 1 && f >= 0) failed: Incorrect frequency
0df9af
  - JDK-8273142: Remove dependancy of TestHttpServer, HttpTransaction, HttpCallback from open/test/jdk/sun/net/www/protocol/http/ tests
0df9af
  - JDK-8273169: java/util/regex/NegativeArraySize.java failed after JDK-8271302
0df9af
  - JDK-8273804: Platform.isTieredSupported should handle the no-compiler case
0df9af
  - JDK-8274172: Convert JavadocTester to use NIO
0df9af
  - JDK-8274233: Minor cleanup for ToolBox
0df9af
  - JDK-8274244: ReportOnImportedModuleAnnotation.java fails on rerun
0df9af
  - JDK-8274561: sun/net/ftp/TestFtpTimeValue.java timed out on slow machines
0df9af
  - JDK-8274687: JDWP deadlocks if some Java thread reaches wait in blockOnDebuggerSuspend
0df9af
  - JDK-8274735: javax.imageio.IIOException: Unsupported Image Type  while processing a valid JPEG image
0df9af
  - JDK-8274751: Drag And Drop hangs on Windows
0df9af
  - JDK-8274855: vectorapi tests failing with assert(!vbox->is_Phi()) failed
0df9af
  - JDK-8274939: Incorrect size of the pixel storage is used by the robot on macOS
0df9af
  - JDK-8274983: C1 optimizes the invocation of private interface methods
0df9af
  - JDK-8275037: Test vmTestbase/nsk/sysdict/vm/stress/btree/btree011/btree011.java crashes with memory exhaustion on Windows
0df9af
  - JDK-8275337: C1: assert(false) failed: live_in set of first block must be empty
0df9af
  - JDK-8275638: GraphKit::combine_exception_states fails with "matching stack sizes" assert
0df9af
  - JDK-8275745: Reproducible copyright headers
0df9af
  - JDK-8275830: C2: Receiver downcast is missing when inlining through method handle linkers
0df9af
  - JDK-8275854: C2: assert(stride_con != 0) failed: missed some peephole opt
0df9af
  - JDK-8276260: (se) Remove java/nio/channels/Selector/Wakeup.java from ProblemList (win)
0df9af
  - JDK-8276657: XSLT compiler tries to define a class with empty name
0df9af
  - JDK-8276796: gc/TestSystemGC.java large pages subtest fails with ZGC
0df9af
  - JDK-8276825: hotspot/runtime/SelectionResolution test errors
0df9af
  - JDK-8276863: Remove test/jdk/sun/security/ec/ECDSAJavaVerify.java
0df9af
  - JDK-8276880: Remove java/lang/RuntimeTests/exec/ExecWithDir as unnecessary
0df9af
  - JDK-8276990: Memory leak in invoker.c fillInvokeRequest() during JDI operations
0df9af
  - JDK-8277055: Assert "missing inlining msg" with -XX:+PrintIntrinsics
0df9af
  - JDK-8277072: ObjectStreamClass caches keep ClassLoaders alive
0df9af
  - JDK-8277087: ZipException: zip END header not found at ZipFile#Source.findEND
0df9af
  - JDK-8277123: jdeps does not report some exceptions correctly
0df9af
  - JDK-8277165: jdeps --multi-release --print-module-deps fails if module-info.class in different versioned directories
0df9af
  - JDK-8277166: Data race in jdeps VersionHelper
0df9af
  - JDK-8277396: [TESTBUG] In DefaultButtonModelCrashTest.java, frame is accessed from main thread
0df9af
  - JDK-8277422: tools/jar/JarEntryTime.java fails with modified time mismatch
0df9af
  - JDK-8277893: Arraycopy stress tests
0df9af
  - JDK-8277906: Incorrect type for IV phi of long counted loops after CCP
0df9af
  - JDK-8277922: Unable to click JCheckBox in JTable through Java Access Bridge
0df9af
  - JDK-8278014: [vectorapi] Remove test run script
0df9af
  - JDK-8278065: Refactor subclassAudits to use ClassValue
0df9af
  - JDK-8278186: org.jcp.xml.dsig.internal.dom.Utils.parseIdFromSameDocumentURI throws StringIndexOutOfBoundsException when calling substring method
0df9af
  - JDK-8278472: Invalid value set to CANDIDATEFORM structure
0df9af
  - JDK-8278519: serviceability/jvmti/FieldAccessWatch/FieldAccessWatch.java failed "assert(handle != __null) failed: JNI handle should not be null"
0df9af
  - JDK-8278549: UNIX sun/font coding misses SUSE distro detection on recent distro SUSE 15
0df9af
  - JDK-8278766: Enable OpenJDK build support for reproducible jars and jmods using --date
0df9af
  - JDK-8278794: Infinite loop in DeflaterOutputStream.finish()
0df9af
  - JDK-8278796: Incorrect behavior of FloatVector.withLane on X86
0df9af
  - JDK-8278851: Correct signer logic for jars signed with multiple digestalgs
0df9af
  - JDK-8278948: compiler/vectorapi/reshape/TestVectorCastAVX1.java crashes in assembler
0df9af
  - JDK-8278966: two microbenchmarks tests fail "assert(!jvms->method()->has_exception_handlers()) failed: no exception handler expected" after JDK-8275638
0df9af
  - JDK-8279182: MakeZipReproducible ZipEntry timestamps not localized to UTC
0df9af
  - JDK-8279219: [REDO] C2 crash when allocating array of size too large
0df9af
  - JDK-8279227: Access Bridge: Wrong frame position and hit test result on HiDPI display
0df9af
  - JDK-8279356: Method linking fails with guarantee(mh->adapter() != NULL) failed: Adapter blob must already exist!
0df9af
  - JDK-8279437: [JVMCI] exception in HotSpotJVMCIRuntime.translate can exit the VM
0df9af
  - JDK-8279515: C1: No inlining through invokedynamic and invokestatic call sites when resolved class is not linked
0df9af
  - JDK-8279520: SPNEGO has not passed channel binding info into the underlying mechanism
0df9af
  - JDK-8279529: ProblemList java/nio/channels/DatagramChannel/ManySourcesAndTargets.java on macosx-aarch64
0df9af
  - JDK-8279532: ProblemList sun/security/ssl/SSLSessionImpl/NoInvalidateSocketException.java
0df9af
  - JDK-8279560: AArch64: generate_compare_long_string_same_encoding and LARGE_LOOP_PREFETCH alignment
0df9af
  - JDK-8279586: [macos] custom JCheckBox and JRadioBox with custom icon set: focus is still displayed after unchecking
0df9af
  - JDK-8279597: [TESTBUG] ReturnBlobToWrongHeapTest.java fails with -XX:TieredStopAtLevel=1 on machines with many cores
0df9af
  - JDK-8279668: x86: AVX2 versions of vpxor should be asserted
0df9af
  - JDK-8279822: CI: Constant pool entries in error state are not supported
0df9af
  - JDK-8279834: Alpine Linux fails to build when --with-source-date enabled
0df9af
  - JDK-8279837: C2: assert(is_Loop()) failed: invalid node class: Region
0df9af
  - JDK-8279842: HTTPS Channel Binding support for Java GSS/Kerberos
0df9af
  - JDK-8279958: Provide configure hints for Alpine/apk package managers
0df9af
  - JDK-8280004: DCmdArgument<jlong>::parse_value() should handle NULL input
0df9af
  - JDK-8280041: Retry loop issues in java.io.ClassCache
0df9af
  - JDK-8280123: C2: Infinite loop in CMoveINode::Ideal during IGVN
0df9af
  - JDK-8280401: [sspi] gss_accept_sec_context leaves output_token uninitialized
0df9af
  - JDK-8280476: [macOS] : hotspot arm64 bug exposed by latest clang
0df9af
  - JDK-8280543: Update the "java" and "jcmd" tool specification for CDS
0df9af
  - JDK-8280593: [PPC64, S390] redundant allocation of MacroAssembler in StubGenerator ctor
0df9af
  - JDK-8280600: C2: assert(!had_error) failed: bad dominance
0df9af
  - JDK-8280684: JfrRecorderService failes with guarantee(num_written > 0) when no space left on device.
0df9af
  - JDK-8280799: С2: assert(false) failed: cyclic dependency prevents range check elimination
0df9af
  - JDK-8280867: Cpuid1Ecx feature parsing is incorrect for AMD CPUs
0df9af
  - JDK-8280901: MethodHandle::linkToNative stub is missing w/ -Xint
0df9af
  - JDK-8280940: gtest os.release_multi_mappings_vm is racy
0df9af
  - JDK-8280941: os::print_memory_mappings() prints segment preceeding the inclusion range
0df9af
  - JDK-8280956: Re-examine copyright headers on files in src/java.desktop/macosx/native/libawt_lwawt/awt/a11y
0df9af
  - JDK-8280964: [Linux aarch64] : drawImage dithers TYPE_BYTE_INDEXED images incorrectly
0df9af
  - JDK-8281043: Intrinsify recursive ObjectMonitor locking for PPC64
0df9af
  - JDK-8281168: Micro-optimize VarForm.getMemberName for interpreter
0df9af
  - JDK-8281262: Windows builds in different directories are not fully reproducible
0df9af
  - JDK-8281266: [JVMCI] MetaUtil.toInternalName() doesn't handle hidden classes correctly
0df9af
  - JDK-8281274: deal with ActiveProcessorCount in os::Linux::print_container_info
0df9af
  - JDK-8281275: Upgrading from 8 to 11 no longer accepts '/' as filepath separator in gc paths
0df9af
  - JDK-8281318: Improve jfr/event/allocation tests reliability
0df9af
  - JDK-8281338: NSAccessibilityPressAction action for tree node and NSAccessibilityShowMenuAcgtion action not working
0df9af
  - JDK-8281450: Remove unnecessary operator new and delete from ObjectMonitor
0df9af
  - JDK-8281522: Rename ADLC classes which have the same name as hotspot variants
0df9af
  - JDK-8281544: assert(VM_Version::supports_avx512bw()) failed for Tests jdk/incubator/vector/
0df9af
  - JDK-8281615: Deadlock caused by jdwp agent
0df9af
  - JDK-8281638: jfr/event/allocation tests fail with release VMs after JDK-8281318 due to lack of -XX:+UnlockDiagnosticVMOptions
0df9af
  - JDK-8281771: Crash in java_lang_invoke_MethodType::print_signature
0df9af
  - JDK-8281811: assert(_base == Tuple) failed: Not a Tuple after JDK-8280799
0df9af
  - JDK-8281822: Test failures on non-DTrace builds due to incomplete DTrace* flags handling
0df9af
  - JDK-8282008: Incorrect handling of quoted arguments in ProcessBuilder
0df9af
  - JDK-8282045: When loop strip mining fails, safepoints are removed from loop anyway
0df9af
  - JDK-8282142: [TestCase] compiler/inlining/ResolvedClassTest.java will fail when --with-jvm-features=-compiler1
0df9af
  - JDK-8282170: JVMTI SetBreakpoint metaspace allocation test
0df9af
  - JDK-8282172: CompileBroker::log_metaspace_failure is called from non-Java/compiler threads
0df9af
  - JDK-8282225: GHA: Allow one concurrent run per PR only
0df9af
  - JDK-8282231: x86-32: runtime call to SharedRuntime::ldiv corrupts registers
0df9af
  - JDK-8282293: Domain value for system property jdk.https.negotiate.cbt should be case-insensitive
0df9af
  - JDK-8282295: SymbolPropertyEntry::set_method_type fails with assert
0df9af
  - JDK-8282312: Minor corrections to evbroadcasti32x4 intrinsic on x86
0df9af
  - JDK-8282345: handle latest VS2022 in abstract_vm_version
0df9af
  - JDK-8282382: Report glibc malloc tunables in error reports
0df9af
  - JDK-8282422: JTable.print() failed with UnsupportedCharsetException on AIX ko_KR locale
0df9af
  - JDK-8282444: Module finder incorrectly assumes default file system path-separator character
0df9af
  - JDK-8282499: Bump update version for OpenJDK: jdk-17.0.4
0df9af
  - JDK-8282509: [exploded image] ResolvedClassTest fails with similar output
0df9af
  - JDK-8282551: Properly initialize L32X64MixRandom state
0df9af
  - JDK-8282583: Update BCEL md to include the copyright notice
0df9af
  - JDK-8282590: C2: assert(addp->is_AddP() && addp->outcnt() > 0) failed: Don't process dead nodes
0df9af
  - JDK-8282592: C2: assert(false) failed: graph should be schedulable
0df9af
  - JDK-8282628: Potential memory leak in sun.font.FontConfigManager.getFontConfig()
0df9af
  - JDK-8282874: Bad performance on gather/scatter API caused by different IntSpecies of indexMap
0df9af
  - JDK-8282887: Potential memory leak in sun.util.locale.provider.HostLocaleProviderAdapterImpl.getNumberPattern() on Windows
0df9af
  - JDK-8282929: Localized monetary symbols are not reflected in `toLocalizedPattern` return value
0df9af
  - JDK-8283017: GHA: Workflows break with update release versions
0df9af
  - JDK-8283187: C2: loop candidate for superword not always unrolled fully if superword fails
0df9af
  - JDK-8283217: Leak FcObjectSet in getFontConfigLocations() in fontpath.c
0df9af
  - JDK-8283249: CompressedClassPointers.java fails on ppc with 'Narrow klass shift: 0' missing
0df9af
  - JDK-8283279: [Testbug] Improve TestGetSwapSpaceSize
0df9af
  - JDK-8283315: jrt-fs.jar not always deterministically built
0df9af
  - JDK-8283323: libharfbuzz optimization level results in extreme build times
0df9af
  - JDK-8283347: [macos] Bad JNI lookup accessibilityHitTest is shown when Screen magnifier is enabled
0df9af
  - JDK-8283350: (tz) Update Timezone Data to 2022a
0df9af
  - JDK-8283408: Fix a C2 crash when filling arrays with unsafe
0df9af
  - JDK-8283422: Create a new test for JDK-8254790
0df9af
  - JDK-8283451: C2: assert(_base == Long) failed: Not a Long
0df9af
  - JDK-8283469: Don't use memset to initialize members in FileMapInfo and fix memory leak
0df9af
  - JDK-8283497: [windows] print TMP and TEMP in hs_err and VM.info
0df9af
  - JDK-8283641: Large value for CompileThresholdScaling causes assert
0df9af
  - JDK-8283725: Launching java with "-Xlog:gc*=trace,safepoint*=trace,class*=trace" crashes the JVM
0df9af
  - JDK-8283834: Unmappable character for US-ASCII encoding in TestPredicateInputBelowLoopPredicate
0df9af
  - JDK-8284023: java.sun.awt.X11GraphicsDevice.getDoubleBufferVisuals() leaks XdbeScreenVisualInfo
0df9af
  - JDK-8284033: Leak XVisualInfo in getAllConfigs in awt_GraphicsEnv.c
0df9af
  - JDK-8284094: Memory leak in invoker_completeInvokeRequest()
0df9af
  - JDK-8284369: TestFailedAllocationBadGraph fails with -XX:TieredStopAtLevel < 4
0df9af
  - JDK-8284389: Improve stability of GHA Pre-submit testing by caching cygwin installer
0df9af
  - JDK-8284437: Building from different users/workspace is not always deterministic
0df9af
  - JDK-8284458: CodeHeapState::aggregate() leaks blob_name
0df9af
  - JDK-8284507: GHA: Only check test results if testing was not skipped
0df9af
  - JDK-8284532: Memory leak in BitSet::BitMapFragmentTable in JFR leak profiler
0df9af
  - JDK-8284549: JFR: FieldTable leaks FieldInfoTable member
0df9af
  - JDK-8284603: [17u] Update Boot JDK used in GHA to 17.0.2
0df9af
  - JDK-8284620: CodeBuffer may leak _overflow_arena
0df9af
  - JDK-8284622: Update versions of some Github Actions used in JDK workflow
0df9af
  - JDK-8284661: Reproducible assembly builds without relative linking
0df9af
  - JDK-8284754: print more interesting env variables in hs_err and VM.info
0df9af
  - JDK-8284758: [linux] improve print_container_info
0df9af
  - JDK-8284848: C2: Compiler blackhole arguments should be treated as globally escaping
0df9af
  - JDK-8284866: Add test to JDK-8273056
0df9af
  - JDK-8284884: Replace polling with waiting in javax/swing/text/html/parser/Parser/8078268/bug8078268.java
0df9af
  - JDK-8284992: Fix misleading Vector API doc for LSHR operator
0df9af
  - JDK-8285342: Zero build failure with clang due to values not handled in switch
0df9af
  - JDK-8285394: Compiler blackholes can be eliminated due to stale ciMethod::intrinsic_id()
0df9af
  - JDK-8285397: JNI exception pending in CUPSfuncs.c:250
0df9af
  - JDK-8285445: cannot open file "NUL:"
0df9af
  - JDK-8285515: (dc) DatagramChannel.disconnect fails with "Invalid argument" on macOS 12.4
0df9af
  - JDK-8285523: Improve test java/io/FileOutputStream/OpenNUL.java
0df9af
  - JDK-8285686: Update FreeType to 2.12.0
0df9af
  - JDK-8285726: [11u, 17u] Unify fix for JDK-8284548 with version from head
0df9af
  - JDK-8285727: [11u, 17u] Unify fix for JDK-8284920 with version from head
0df9af
  - JDK-8285728: Alpine Linux build fails with busybox tar
0df9af
  - JDK-8285828: runtime/execstack/TestCheckJDK.java fails with zipped debug symbols
0df9af
  - JDK-8285921: serviceability/dcmd/jvmti/AttachFailed/AttachReturnError.java fails on Alpine
0df9af
  - JDK-8285956: (fs) Excessive default poll interval in PollingWatchService
0df9af
  - JDK-8286013: Incorrect test configurations for compiler/stable/TestStableShort.java
0df9af
  - JDK-8286029: Add classpath exemption to globals_vectorApiSupport_***.S.inc
0df9af
  - JDK-8286198: [linux] Fix process-memory information
0df9af
  - JDK-8286293: Tests ShortResponseBody and ShortResponseBodyWithRetry should use less resources
0df9af
  - JDK-8286444: javac errors after JDK-8251329 are not helpful enough to find root cause
0df9af
  - JDK-8286594: (zipfs) Mention paths with dot elements in ZipException and cleanups
0df9af
  - JDK-8286601: Mac Aarch: Excessive warnings to be ignored for build jdk
0df9af
  - JDK-8286855: javac error on invalid jar should only print filename
0df9af
  - JDK-8287109: Distrust.java failed with CertificateExpiredException
0df9af
  - JDK-8287119: Add Distrust.java to ProblemList
0df9af
  - JDK-8287162: (zipfs) Performance regression related to support for POSIX file permissions
0df9af
  - JDK-8287336: GHA: Workflows break on patch versions
0df9af
  - JDK-8287362: FieldAccessWatch testcase failed on AIX platform
0df9af
  - JDK-8287378: GHA: Update cygwin to fix issues in langtools tests on Windows
0df9af
0df9af
Notes on individual issues:
0df9af
===========================
0df9af
0df9af
core-libs/java.net:
0df9af
0df9af
JDK-8285240: HTTPS Channel Binding support for Java GSS/Kerberos
0df9af
================================================================
0df9af
Support has been added for TLS channel binding tokens for
0df9af
Negotiate/Kerberos authentication over HTTPS through
0df9af
javax.net.HttpsURLConnection.
0df9af
0df9af
Channel binding tokens are increasingly required as an enhanced form
0df9af
of security which can mitigate certain kinds of socially engineered,
0df9af
man in the middle (MITM) attacks. They work by communicating from a
0df9af
client to a server the client's understanding of the binding between
0df9af
connection security (as represented by a TLS server cert) and higher
0df9af
level authentication credentials (such as a username and
0df9af
password). The server can then detect if the client has been fooled by
0df9af
a MITM and shutdown the session/connection.
0df9af
0df9af
The feature is controlled through a new system property
0df9af
`jdk.https.negotiate.cbt` which is described fully at the following
0df9af
page:
0df9af
0df9af
https://docs.oracle.com/en/java/javase/19/docs/api/java.base/java/net/doc-files/net-properties.html#jdk.https.negotiate.cbt
0df9af
0df9af
core-libs/java.lang:
0df9af
0df9af
JDK-8283137: Incorrect handling of quoted arguments in ProcessBuilder
0df9af
=====================================================================
0df9af
ProcessBuilder on Windows is restored to address a regression caused
0df9af
by JDK-8250568.  Previously, an argument to ProcessBuilder that
0df9af
started with a double-quote and ended with a backslash followed by a
0df9af
double-quote was passed to a command incorrectly and may cause the
0df9af
command to fail.  For example the argument `"C:\\Program Files\"`,
0df9af
would be seen by the command with extra double-quotes. This update
0df9af
restores the long standing behavior that does not treat the backslash
0df9af
before the final double-quote specially.
0df9af
0df9af
0df9af
core-libs/java.util.jar:
0df9af
0df9af
JDK-8278386: Default JDK compressor will be closed when IOException is encountered
0df9af
==================================================================================
0df9af
`DeflaterOutputStream.close()` and `GZIPOutputStream.finish()` methods
0df9af
have been modified to close out the associated default JDK compressor
0df9af
before propagating a Throwable up the
0df9af
stack. `ZIPOutputStream.closeEntry()` method has been modified to
0df9af
close out the associated default JDK compressor before propagating an
0df9af
IOException, not of type ZipException, up the stack.
0df9af
0df9af
core-libs/java.io:
0df9af
0df9af
JDK-8285660: New System Property to Disable Windows Alternate Data Stream Support in java.io.File
0df9af
=================================================================================================
0df9af
The Windows implementation of `java.io.File` allows access to NTFS
0df9af
Alternate Data Streams (ADS) by default. Such streams have a structure
0df9af
like “filename:streamname”. A system property `jdk.io.File.enableADS`
0df9af
has been added to control this behavior. To disable ADS support in
0df9af
`java.io.File`, the system property `jdk.io.File.enableADS` should be
0df9af
set to `false` (case ignored). Stricter path checking however prevents
0df9af
the use of special devices such as `NUL:`
0df9af
a904f9
New in release OpenJDK 17.0.3 (2022-04-19):
a904f9
===========================================
a904f9
Live versions of these release notes can be found at:
a904f9
  * https://bitly.com/openjdk1703
a904f9
  * https://builds.shipilev.net/backports-monitor/release-notes-17.0.3.txt
a904f9
ef2295
* Security fixes
ef2295
  - JDK-8269938: Enhance XML processing passes redux
ef2295
  - JDK-8270504, CVE-2022-21426: Better XPath expression handling
ef2295
  - JDK-8272255: Completely handle MIDI files
ef2295
  - JDK-8272261: Improve JFR recording file processing
ef2295
  - JDK-8272588: Enhanced recording parsing
ef2295
  - JDK-8272594: Better record of recordings
ef2295
  - JDK-8274221: More definite BER encodings
ef2295
  - JDK-8275082, JDK-8278008, CVE-2022-21476: Update XML Security for Java to 2.3.0
ef2295
  - JDK-8275151, CVE-2022-21443: Improved Object Identification
ef2295
  - JDK-8277227: Better identification of OIDs
ef2295
  - JDK-8277233, CVE-2022-21449: Improve ECDSA signature support
ef2295
  - JDK-8277672, CVE-2022-21434: Better invocation handler handling
ef2295
  - JDK-8278356: Improve file creation
ef2295
  - JDK-8278449: Improve keychain support
ef2295
  - JDK-8278798: Improve supported intrinsic
ef2295
  - JDK-8278805: Enhance BMP image loading
ef2295
  - JDK-8278972, CVE-2022-21496: Improve URL supports
ef2295
  - JDK-8281388: Change wrapping of EncryptedPrivateKeyInfo
a904f9
* Other changes
a904f9
  - JDK-8177814: jdk/editpad is not in jdk TEST.groups
a904f9
  - JDK-8186670: Implement _onSpinWait() intrinsic for AArch64
a904f9
  - JDK-8190748: java/text/Format/DateFormat/DateFormatTest.java and NonGregorianFormatTest fail intermittently
a904f9
  - JDK-8225559: assertion error at TransTypes.visitApply
a904f9
  - JDK-8236505: Mark jdk/editpad/EditPadTest.java as @headful
a904f9
  - JDK-8239502: [TEST_BUG] Test javax/swing/text/FlowView/6318524/bug6318524.java never fails
a904f9
  - JDK-8244602: Add JTREG_REPEAT_COUNT to repeat execution of a test
a904f9
  - JDK-8247980: Exclusive execution of java/util/stream tests slows down tier1
a904f9
  - JDK-8251216: Implement MD5 intrinsics on AArch64
a904f9
  - JDK-8253197: vmTestbase/nsk/jvmti/StopThread/stopthrd007/TestDescription.java fails with "ERROR: DebuggeeSleepingThread: ThreadDeath lost"
a904f9
  - JDK-8262134: compiler/uncommontrap/TestDeoptOOM.java failed with "guarantee(false) failed: wrong number of expression stack elements during deopt"
a904f9
  - JDK-8263567: gtests don't terminate the VM safely
a904f9
  - JDK-8265150: AsyncGetCallTrace crashes on ResourceMark
a904f9
  - JDK-8266490: Extend the OSContainer API to support the pids controller of cgroups
a904f9
  - JDK-8269032: Stringdedup tests are failing if the ergonomically select GC does not support it
a904f9
  - JDK-8269037: jsig/Testjsig.java doesn't have to be restricted to linux only
a904f9
  - JDK-8269087: CheckSegmentedCodeCache test fails in an emulated-client VM
a904f9
  - JDK-8269175: [macosx-aarch64] wrong CPU speed in hs_err file
a904f9
  - JDK-8269206: A small typo in comment in test/lib/sun/hotspot/WhiteBox.java
a904f9
  - JDK-8269523: runtime/Safepoint/TestAbortOnVMOperationTimeout.java failed when expecting 'VM operation took too long'
a904f9
  - JDK-8269616: serviceability/dcmd/framework/VMVersionTest.java fails with Address already in use error
a904f9
  - JDK-8269849: vmTestbase/gc/gctests/PhantomReference/phantom002/TestDescription.java failed with "OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects"
a904f9
  - JDK-8270117: Broken jtreg link in "Building the JDK" page
a904f9
  - JDK-8270874: JFrame paint artifacts when dragged from standard monitor to HiDPI monitor
a904f9
  - JDK-8271056: C2: "assert(no_dead_loop) failed: dead loop detected" due to cmoving identity
a904f9
  - JDK-8271199: Mutual TLS handshake fails signing client certificate with custom sensitive PKCS11 key
a904f9
  - JDK-8271202: C1: assert(false) failed: live_in set of first block must be empty
a904f9
  - JDK-8271506: Add ResourceHashtable support for deleting selected entries
a904f9
  - JDK-8271721: Split gc/g1/TestMixedGCLiveThreshold into separate tests
a904f9
  - JDK-8272167: AbsPathsInImage.java should skip *.dSYM directories
a904f9
  - JDK-8272327: Shenandoah: Avoid enqueuing duplicate string candidates
a904f9
  - JDK-8272398: Update DockerTestUtils.buildJdkDockerImage()
a904f9
  - JDK-8272541: Incorrect overflow test in Toom-Cook branch of BigInteger multiplication
a904f9
  - JDK-8272553: several hotspot runtime/CommandLine tests don't check exit code
a904f9
  - JDK-8272600: (test) Use native "sleep" in Basic.java
a904f9
  - JDK-8272866: java.util.random package summary contains incorrect mixing function in table
a904f9
  - JDK-8272996: JNDI DNS provider fails to resolve SRV entries when IPV6 stack is enabled
a904f9
  - JDK-8273162: AbstractSplittableWithBrineGenerator does not create a random salt
a904f9
  - JDK-8273277: C2: Move conditional negation into rc_predicate
a904f9
  - JDK-8273341: Update Siphash to version 1.0
a904f9
  - JDK-8273351: bad tag in jdk.random module-info.java
a904f9
  - JDK-8273366: [testbug] javax/swing/UIDefaults/6302464/bug6302464.java fails on macOS12
a904f9
  - JDK-8273381: Assert in PtrQueueBufferAllocatorTest.stress_free_list_allocator_vm
a904f9
  - JDK-8273387: remove some unreferenced gtk-related functions
a904f9
  - JDK-8273433: Enable parallelism in vmTestbase_nsk_sysdict tests
a904f9
  - JDK-8273438: Enable parallelism in vmTestbase/metaspace/stressHierarchy tests
a904f9
  - JDK-8273526: Extend the OSContainer API  pids controller with pids.current
a904f9
  - JDK-8273634: [TEST_BUG] Improve javax/swing/text/ParagraphView/6364882/bug6364882.java
a904f9
  - JDK-8273655: content-types.properties files are missing some common types
a904f9
  - JDK-8273682: Upgrade Jline to 3.20.0
a904f9
  - JDK-8273704: DrawStringWithInfiniteXform.java failed : drawString with InfiniteXform transform takes long time
a904f9
  - JDK-8273895: compiler/ciReplay/TestVMNoCompLevel.java fails due to wrong data size with TieredStopAtLevel=2,3
a904f9
  - JDK-8273933: [TESTBUG] Test must run without preallocated exceptions
a904f9
  - JDK-8273967: gtest os.dll_address_to_function_and_library_name_vm fails on macOS12
a904f9
  - JDK-8273972: Multi-core choke point in CMM engine (LCMSTransform.doTransform)
a904f9
  - JDK-8274130: C2: MulNode::Ideal chained transformations may act on wrong nodes
a904f9
  - JDK-8274171: java/nio/file/Files/probeContentType/Basic.java failed on "Content type" mismatches
a904f9
  - JDK-8274465: Fix javax/swing/text/ParagraphView/6364882/bug6364882.java failures
a904f9
  - JDK-8274471: Add support for RSASSA-PSS in OCSP Response
a904f9
  - JDK-8274506: TestPids.java and TestPidsLimit.java fail with podman run as root
a904f9
  - JDK-8274524: SSLSocket.close() hangs if it is called during the ssl handshake
a904f9
  - JDK-8274562: (fs) UserDefinedFileAttributeView doesn't correctly determine if supported when using OverlayFS
a904f9
  - JDK-8274658: ISO 4217 Amendment 170 Update
a904f9
  - JDK-8274714: Incorrect verifier protected access error message
a904f9
  - JDK-8274750: java/io/File/GetXSpace.java failed: '/dev': 191488 != 190976
a904f9
  - JDK-8274753: ZGC: SEGV in MetaspaceShared::link_shared_classes
a904f9
  - JDK-8274795: AArch64: avoid spilling and restoring r18 in macro assembler
a904f9
  - JDK-8274935: dumptime_table has stale entry
a904f9
  - JDK-8274944: AppCDS dump causes SEGV in VM thread while adjusting lambda proxy class info
a904f9
  - JDK-8275326: C2: assert(no_dead_loop) failed: dead loop detected
a904f9
  - JDK-8275330: C2:  assert(n->is_Root() || n->is_Region() || n->is_Phi() || n->is_MachMerge() || def_block->dominates(block)) failed: uses must be dominated by definitions
a904f9
  - JDK-8275536: Add test to check that File::lastModified returns same time stamp as Files.getLastModifiedTime
a904f9
  - JDK-8275586: Zero: Simplify interpreter initialization
a904f9
  - JDK-8275608: runtime/Metaspace/elastic/TestMetaspaceAllocationMT2 too slow
a904f9
  - JDK-8275610: C2: Object field load floats above its null check resulting in a segfault
a904f9
  - JDK-8275643: C2's unaryOp vector intrinsic does not properly handle LongVector.neg
a904f9
  - JDK-8275645: [JVMCI] avoid unaligned volatile reads on AArch64
a904f9
  - JDK-8275650: Problemlist java/io/File/createTempFile/SpecialTempFile.java for Windows 11
a904f9
  - JDK-8275687: runtime/CommandLine/PrintTouchedMethods test shouldn't catch RuntimeException
a904f9
  - JDK-8275800: Redefinition leaks MethodData::_extra_data_lock
a904f9
  - JDK-8275847: Scheduling fails with "too many D-U pinch points" on small method
a904f9
  - JDK-8275874: [JVMCI] only support aligned reads in c2v_readFieldValue
a904f9
  - JDK-8276057: Update JMH devkit to 1.33
a904f9
  - JDK-8276141: XPathFactory set/getProperty method
a904f9
  - JDK-8276177: nsk/jvmti/RedefineClasses/StressRedefineWithoutBytecodeCorruption failed with "assert(def_ik->is_being_redefined()) failed: should be being redefined to get here"
a904f9
  - JDK-8276314: [JVMCI] check alignment of call displacement during code installation
a904f9
  - JDK-8276623: JDK-8275650 accidentally pushed "out" file
a904f9
  - JDK-8276654: element-list order is non deterministic
a904f9
  - JDK-8276662: Scalability bottleneck in SymbolTable::lookup_common()
a904f9
  - JDK-8276764: Enable deterministic file content ordering for Jar and Jmod
a904f9
  - JDK-8276766: Enable jar and jmod to produce deterministic timestamped content
a904f9
  - JDK-8276841: Add support for Visual Studio 2022
a904f9
  - JDK-8277069: [REDO] JDK-8276743 Make openjdk build Zip Archive generation "reproducible"
a904f9
  - JDK-8277137: Set OnSpinWaitInst/OnSpinWaitInstCount defaults to "isb"/1 for Arm Neoverse N1
a904f9
  - JDK-8277180: Intrinsify recursive ObjectMonitor locking for C2 x64 and A64
a904f9
  - JDK-8277299: STACK_OVERFLOW in Java_sun_awt_shell_Win32ShellFolder2_getIconBits
a904f9
  - JDK-8277328: jdk/jshell/CommandCompletionTest.java failures on Windows
a904f9
  - JDK-8277342: vmTestbase/nsk/stress/strace/strace004.java fails with SIGSEGV in InstanceKlass::jni_id_for
a904f9
  - JDK-8277383: VM.metaspace optionally show chunk freelist details
a904f9
  - JDK-8277385: Zero: Enable CompactStrings support
a904f9
  - JDK-8277441: CompileQueue::add fails with assert(_last->next() == __null) failed: not last
a904f9
  - JDK-8277447: Hotspot C1 compiler crashes on Kotlin suspend fun with loop
a904f9
  - JDK-8277449: compiler/vectorapi/TestLongVectorNeg.java fails with release VMs
a904f9
  - JDK-8277488: Add expiry exception for Digicert (geotrustglobalca) expiring in May 2022
a904f9
  - JDK-8277497: Last column cell in the JTable row is read as empty cell
a904f9
  - JDK-8277503: compiler/onSpinWait/TestOnSpinWaitAArch64DefaultFlags.java failed with "OnSpinWaitInst with the expected value 'isb' not found."
a904f9
  - JDK-8277762: Allow configuration of HOTSPOT_BUILD_USER
a904f9
  - JDK-8277777: [Vector API] assert(r->is_XMMRegister()) failed: must be in x86_32.ad
a904f9
  - JDK-8277795: ldap connection timeout not honoured under contention
a904f9
  - JDK-8277846: Implement fast-path for ASCII-compatible CharsetEncoders on ppc64
a904f9
  - JDK-8277919: OldObjectSample event causing bloat in the class constant pool in JFR recording
a904f9
  - JDK-8277992: Add fast jdk_svc subtests to jdk:tier3
a904f9
  - JDK-8278016: Add compiler tests to tier{2,3}
a904f9
  - JDK-8278020: ~13% variation in Renaissance-Scrabble
a904f9
  - JDK-8278080: Add --with-cacerts-src='user cacerts folder' to enable deterministic cacerts generation
a904f9
  - JDK-8278099: two sun/security/pkcs11/Signature tests failed with AssertionError
a904f9
  - JDK-8278104: C1 should support the compiler directive 'BreakAtExecute'
a904f9
  - JDK-8278115: gc/stress/gclocker/TestGCLockerWithSerial.java has duplicate -Xmx
a904f9
  - JDK-8278116: runtime/modules/LoadUnloadModuleStress.java has duplicate -Xmx
a904f9
  - JDK-8278163: --with-cacerts-src variable resolved after GenerateCacerts recipe setup
a904f9
  - JDK-8278172: java/nio/channels/FileChannel/BlockDeviceSize.java should only run on Linux
a904f9
  - JDK-8278185: Custom JRE cannot find non-ASCII named module inside
a904f9
  - JDK-8278239: vmTestbase/nsk/jvmti/RedefineClasses/StressRedefine failed with EXCEPTION_ACCESS_VIOLATION at 0x000000000000000d
a904f9
  - JDK-8278241: Implement JVM SpinPause on linux-aarch64
a904f9
  - JDK-8278309: [windows] use of uninitialized OSThread::_state
a904f9
  - JDK-8278344: sun/security/pkcs12/KeytoolOpensslInteropTest.java test fails because of different openssl output
a904f9
  - JDK-8278346: java/nio/file/Files/probeContentType/Basic.java fails on Linux SLES15 machine
a904f9
  - JDK-8278381: [GCC 11] Address::make_raw() does not initialize rspec
a904f9
  - JDK-8278384: Bytecodes::result_type() for arraylength returns T_VOID instead of T_INT
a904f9
  - JDK-8278389: SuspendibleThreadSet::_suspend_all should be volatile/atomic
a904f9
  - JDK-8278526: [macos] Screen reader reads SwingSet2 JTable row selection as null, dimmed row for last column
a904f9
  - JDK-8278604: SwingSet2 table demo does not have accessible description set for images
a904f9
  - JDK-8278627: Shenandoah: TestHeapDump test failed
a904f9
  - JDK-8278758: runtime/BootstrapMethod/BSMCalledTwice.java fails with release VMs after JDK-8262134
a904f9
  - JDK-8278822: Bump update version for OpenJDK: jdk-17.0.3
a904f9
  - JDK-8278824: Uneven work distribution when scanning heap roots in G1
a904f9
  - JDK-8278871: [JVMCI] assert((uint)reason < 2* _trap_hist_limit) failed: oob
a904f9
  - JDK-8278951: containers/cgroup/PlainRead.java fails on Ubuntu 21.10
a904f9
  - JDK-8278987: RunThese24H.java failed with EXCEPTION_ACCESS_VIOLATION in __write_sample_info__
a904f9
  - JDK-8279011: JFR: JfrChunkWriter incorrectly handles int64_t chunk size as size_t
a904f9
  - JDK-8279076: C2: Bad AD file when matching SqrtF with UseSSE=0
a904f9
  - JDK-8279124: VM does not handle SIGQUIT during initialization
a904f9
  - JDK-8279225: [arm32] C1 longs comparison operation destroys argument registers
a904f9
  - JDK-8279300: [arm32] SIGILL when running GetObjectSizeIntrinsicsTest
a904f9
  - JDK-8279379: GHA: Print tests that are in error
a904f9
  - JDK-8279385: [test]  Adjust sun/security/pkcs12/KeytoolOpensslInteropTest.java after 8278344
a904f9
  - JDK-8279412: [JVMCI] failed speculations list must outlive any nmethod that refers to it
a904f9
  - JDK-8279445: Update JMH devkit to 1.34
a904f9
  - JDK-8279453: Disable tools/jar/ReproducibleJar.java on 32-bit platforms
a904f9
  - JDK-8279505: Update documentation for RETRY_COUNT and REPEAT_COUNT
a904f9
  - JDK-8279669: test/jdk/com/sun/jdi/TestScaffold.java uses wrong condition
a904f9
  - JDK-8279695: [TESTBUG] modify compiler/loopopts/TestSkeletonPredicateNegation.java to run on C1 also
a904f9
  - JDK-8279702: [macosx] ignore xcodebuild warnings on M1
a904f9
  - JDK-8279833: Loop optimization issue in String.encodeUTF8_UTF16
a904f9
  - JDK-8279924: [PPC64, s390] implement frame::is_interpreted_frame_valid checks
a904f9
  - JDK-8279998: PPC64 debug builds fail with "untested: RangeCheckStub: predicate_failed_trap_id"
a904f9
  - JDK-8280002: jmap -histo may leak stream
a904f9
  - JDK-8280155: [PPC64, s390] frame size checks are not yet correct
a904f9
  - JDK-8280373: Update Xalan serializer / SystemIDResolver to align with JDK-8270492
a904f9
  - JDK-8280414: Memory leak in DefaultProxySelector
a904f9
  - JDK-8280526: x86_32 Math.sqrt performance regression with -XX:UseSSE={0,1}
a904f9
  - JDK-8281061: [s390] JFR runs into assertions while validating interpreter frames
a904f9
  - JDK-8281460: Let ObjectMonitor have its own NMT category
a904f9
  - JDK-8282219: jdk/java/lang/ProcessBuilder/Basic.java fails on AIX
ef2295
  - JDK-8282300: Throws NamingException instead of InvalidNameException after JDK-8278972
ef2295
  - JDK-8282397: createTempFile method of java.io.File is failing when called with suffix of spaces character
a904f9
  - JDK-8282761: XPathFactoryImpl remove setProperty and getProperty methods
ef2295
  - JDK-8284548: Invalid XPath expression causes StringIndexOutOfBoundsException
ef2295
  - JDK-8284920: Incorrect Token type causes XPath expression to return empty result
a904f9
a904f9
Notes on individual issues:
a904f9
===========================
a904f9
a904f9
security-libs/java.security:
a904f9
a904f9
JDK-8274791: Support for RSASSA-PSS in OCSP Response
a904f9
====================================================
a904f9
An OCSP response signed with the RSASSA-PSS algorithm is now supported.
a904f9
840a84
New in release OpenJDK 17.0.2 (2022-01-18):
840a84
===========================================
840a84
Live versions of these release notes can be found at:
840a84
  * https://bitly.com/openjdk1702
840a84
  * https://builds.shipilev.net/backports-monitor/release-notes-17.0.2.txt
840a84
840a84
* Security fixes
840a84
  - JDK-8251329: (zipfs) Files.walkFileTree walks infinitely if zip has dir named "." inside
840a84
  - JDK-8264934, CVE-2022-21248: Enhance cross VM serialization
840a84
  - JDK-8268488: More valuable DerValues
840a84
  - JDK-8268494: Better inlining of inlined interfaces
840a84
  - JDK-8268512: More content for ContentInfo
840a84
  - JDK-8268813, CVE-2022-21283: Better String matching
840a84
  - JDK-8269151: Better construction of EncryptedPrivateKeyInfo
840a84
  - JDK-8269944: Better HTTP transport redux
840a84
  - JDK-8270386, CVE-2022-21291: Better verification of scan methods
840a84
  - JDK-8270392, CVE-2022-21293: Improve String constructions
840a84
  - JDK-8270416, CVE-2022-21294: Enhance construction of Identity maps
840a84
  - JDK-8270492, CVE-2022-21282: Better resolution of URIs
840a84
  - JDK-8270498, CVE-2022-21296: Improve SAX Parser configuration management
840a84
  - JDK-8270646, CVE-2022-21299: Improved scanning of XML entities
840a84
  - JDK-8270952, CVE-2022-21277: Improve TIFF file handling
840a84
  - JDK-8271962: Better TrueType font loading
840a84
  - JDK-8271968: Better canonical naming
840a84
  - JDK-8271987: Manifest improved manifest entries
840a84
  - JDK-8272014, CVE-2022-21305: Better array indexing
840a84
  - JDK-8272026, CVE-2022-21340: Verify Jar Verification
840a84
  - JDK-8272236, CVE-2022-21341: Improve serial forms for transport
840a84
  - JDK-8272272: Enhance jcmd communication
840a84
  - JDK-8272462: Enhance image handling
840a84
  - JDK-8273290: Enhance sound handling
840a84
  - JDK-8273756, CVE-2022-21360: Enhance BMP image support
840a84
  - JDK-8273838, CVE-2022-21365: Enhanced BMP processing
840a84
  - JDK-8274096, CVE-2022-21366: Improve decoding of image files
840a84
* Other changes
840a84
  - JDK-4819544: SwingSet2 JTable Demo throws NullPointerException
840a84
  - JDK-8137101: [TEST_BUG] javax/swing/plaf/basic/BasicHTML/4251579/bug4251579.java failure due to timing
840a84
  - JDK-8140241: (fc) Data transfer from FileChannel to itself causes hang in case of overlap
840a84
  - JDK-8174819: java/nio/file/WatchService/LotsOfEvents.java fails intermittently
840a84
  - JDK-8190753: (zipfs): Accessing a large entry (> 2^31 bytes) leads to a negative initial size for ByteArrayOutputStream
840a84
  - JDK-8214761: Bug in parallel Kahan summation implementation
840a84
  - JDK-8223923: C2: Missing interference with mismatched unsafe accesses
840a84
  - JDK-8233020: (fs) UnixFileSystemProvider should use StaticProperty.userDir().
840a84
  - JDK-8238649: Call new Win32 API SetThreadDescription in os::set_native_thread_name
840a84
  - JDK-8244675: assert(IncrementalInline || (_late_inlines.length() == 0 && !has_mh_late_inlines()))
840a84
  - JDK-8261236: C2: ClhsdbJstackXcompStress test fails when StressGCM is enabled
840a84
  - JDK-8261579: AArch64: Support for weaker memory ordering in Atomic
840a84
  - JDK-8262031: Create implementation for NSAccessibilityNavigableStaticText protocol
840a84
  - JDK-8262095: NPE in Flow$FlowAnalyzer.visitApply: Cannot invoke getThrownTypes because tree.meth.type is null
840a84
  - JDK-8263059: security/infra/java/security/cert/CertPathValidator/certification/ComodoCA.java fails due to revoked cert
840a84
  - JDK-8263364: sun/net/www/http/KeepAliveStream/KeepAliveStreamCloseWithWrongContentLength.java wedged in getInputStream
840a84
  - JDK-8263375: Support stack watermarks in Zero VM
840a84
  - JDK-8263773: Reenable German localization for builds at Oracle
840a84
  - JDK-8264286: Create implementation for NSAccessibilityColumn protocol peer
840a84
  - JDK-8264287: Create implementation for NSAccessibilityComboBox protocol peer
840a84
  - JDK-8264291: Create implementation for NSAccessibilityCell protocol peer
840a84
  - JDK-8264292: Create implementation for NSAccessibilityList protocol peer
840a84
  - JDK-8264293: Create implementation for NSAccessibilityMenu protocol peer
840a84
  - JDK-8264294: Create implementation for NSAccessibilityMenuBar protocol peer
840a84
  - JDK-8264295: Create implementation for NSAccessibilityMenuItem protocol peer
840a84
  - JDK-8264296: Create implementation for NSAccessibilityPopUpButton protocol peer
840a84
  - JDK-8264297: Create implementation for NSAccessibilityProgressIndicator protocol peer
840a84
  - JDK-8264298: Create implementation for NSAccessibilityRow protocol peer
840a84
  - JDK-8264303: Create implementation for NSAccessibilityTabGroup protocol peer
840a84
  - JDK-8266239: Some duplicated javac command-line options have repeated effect
840a84
  - JDK-8266510: Nimbus JTree default tree cell renderer does not use selected text color
840a84
  - JDK-8266988: compiler/jvmci/compilerToVM/IsMatureTest.java fails with Unexpected isMature state for multiple times invoked method: expected false to equal true
840a84
  - JDK-8267256: Extend minimal retry for loopback connections on Windows to PlainSocketImpl
840a84
  - JDK-8267385: Create NSAccessibilityElement implementation for JavaComponentAccessibility
840a84
  - JDK-8267387: Create implementation for NSAccessibilityOutline protocol
840a84
  - JDK-8267388: Create implementation for NSAccessibilityTable protocol
840a84
  - JDK-8268284: javax/swing/JComponent/7154030/bug7154030.java fails with "Exception: Failed to hide opaque button"
840a84
  - JDK-8268294: Reusing HttpClient in a WebSocket.Listener hangs.
840a84
  - JDK-8268361: Fix the infinite loop in next_line
840a84
  - JDK-8268457: XML Transformer outputs Unicode supplementary character incorrectly to HTML
840a84
  - JDK-8268464: Remove dependancy of TestHttpsServer, HttpTransaction, HttpCallback from open/test/jdk/sun/net/www/protocol/https/ tests
840a84
  - JDK-8268626: Remove native pre-jdk9 support for jtreg  failure handler
840a84
  - JDK-8268860: Windows-Aarch64 build is failing in GitHub actions
840a84
  - JDK-8268882: C2: assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc
840a84
  - JDK-8268885: duplicate checkcast when destination type is not first type of intersection type
840a84
  - JDK-8268893: jcmd to trim the glibc heap
840a84
  - JDK-8268894: forged ASTs can provoke an AIOOBE at com.sun.tools.javac.jvm.ClassWriter::writePosition
840a84
  - JDK-8268927: Windows: link error: unresolved external symbol "int __cdecl convert_to_unicode(char const *,wchar_t * *)"
840a84
  - JDK-8269031: linux x86_64 check for binutils 2.25 or higher after 8265783
840a84
  - JDK-8269113: Javac throws when compiling switch (null)
840a84
  - JDK-8269216: Useless initialization in com/sun/crypto/provider/PBES2Parameters.java
840a84
  - JDK-8269269: [macos11] SystemIconTest fails with ClassCastException
840a84
  - JDK-8269280: (bf) Replace StringBuffer in *Buffer.toString()
840a84
  - JDK-8269481: SctpMultiChannel never releases own file descriptor
840a84
  - JDK-8269637: javax/swing/JFileChooser/FileSystemView/SystemIconTest.java fails on windows
840a84
  - JDK-8269656: The test test/langtools/tools/javac/versions/Versions.java has duplicate test cycles
840a84
  - JDK-8269687: pauth_aarch64.hpp include name is incorrect
840a84
  - JDK-8269850: Most JDK releases report macOS version 12 as 10.16 instead of 12.0
840a84
  - JDK-8269924: Shenandoah: Introduce weak/strong marking asserts
840a84
  - JDK-8269951: [macos] Focus not painted in JButton when  setBorderPainted(false) is invoked
840a84
  - JDK-8270110: Shenandoah: Add test for JDK-8269661
840a84
  - JDK-8270116: Expand ButtonGroupLayoutTraversalTest.java to run in all LaFs, including Aqua on macOS
840a84
  - JDK-8270171: Shenandoah: Cleanup TestStringDedup and TestStringDedupStress tests
840a84
  - JDK-8270290: NTLM authentication fails if HEAD request is used
840a84
  - JDK-8270317: Large Allocation in CipherSuite
840a84
  - JDK-8270320: JDK-8270110 committed invalid copyright headers
840a84
  - JDK-8270517: Add Zero support for LoongArch
840a84
  - JDK-8270533: AArch64: size_fits_all_mem_uses should return false if its output is a CAS
840a84
  - JDK-8270886: Crash in PhaseIdealLoop::verify_strip_mined_scheduling
840a84
  - JDK-8270893: IndexOutOfBoundsException while reading large TIFF file
840a84
  - JDK-8270901: Typo PHASE_CPP in CompilerPhaseType
840a84
  - JDK-8270946: X509CertImpl.getFingerprint should not return the empty String
840a84
  - JDK-8271071: accessibility of a table on macOS lacks cell navigation
840a84
  - JDK-8271121: ZGC: stack overflow (segv) when -Xlog:gc+start=debug
840a84
  - JDK-8271142: package help is not displayed for missing X11/extensions/Xrandr.h
840a84
  - JDK-8271170: Add unit test for what jpackage app launcher puts in the environment
840a84
  - JDK-8271215: Fix data races in G1PeriodicGCTask
840a84
  - JDK-8271254: javac generates unreachable code when using empty semicolon statement
840a84
  - JDK-8271287: jdk/jshell/CommandCompletionTest.java fails with "lists don't have the same size expected"
840a84
  - JDK-8271308: (fc) FileChannel.transferTo() transfers no more than Integer.MAX_VALUE bytes in one call
840a84
  - JDK-8271315: Redo: Nimbus JTree renderer properties persist across L&F changes
840a84
  - JDK-8271323: [TESTBUG] serviceability/sa/ClhsdbCDSCore.java fails with -XX:TieredStopAtLevel=1
840a84
  - JDK-8271340: Crash PhaseIdealLoop::clone_outer_loop
840a84
  - JDK-8271341: Opcode() != Op_If && Opcode() != Op_RangeCheck) || outcnt() == 2 assert failure with Test7179138_1.java
840a84
  - JDK-8271459: C2: Missing NegativeArraySizeException when creating StringBuilder with negative capacity
840a84
  - JDK-8271463: Updating RE Configs for Upcoming CPU Release 17.0.2 on master branch for jdk17u-cpu and jdk17u-cpu-open repos.
840a84
  - JDK-8271490: [ppc] [s390]: Crash in JavaThread::pd_get_top_frame_for_profiling
840a84
  - JDK-8271560: sun/security/ssl/DHKeyExchange/LegacyDHEKeyExchange.java still fails due to "An established connection was aborted by the software in your host machine"
840a84
  - JDK-8271567: AArch64: AES Galois CounterMode (GCM) interleaved implementation using vector instructions
840a84
  - JDK-8271600: C2: CheckCastPP which should closely follow Allocate is sunk of a loop
840a84
  - JDK-8271605: Update JMH devkit to 1.32
840a84
  - JDK-8271718: Crash when during color transformation the color profile is replaced
840a84
  - JDK-8271722: [TESTBUG] gc/g1/TestMixedGCLiveThreshold.java can fail if G1 Full GC uses >1 workers
840a84
  - JDK-8271855: [TESTBUG] Wrong weakCompareAndSet assumption in UnsafeIntrinsicsTest
840a84
  - JDK-8271862: C2 intrinsic for Reference.refersTo() is often not used
840a84
  - JDK-8271868: Warn user when using mac-sign option with unsigned app-image.
840a84
  - JDK-8271895: UnProblemList javax/swing/JComponent/7154030/bug7154030.java in JDK18
840a84
  - JDK-8271954: C2: assert(false) failed: Bad graph detected in build_loop_late
840a84
  - JDK-8272047: java/nio/channels/FileChannel/Transfer2GPlus.java failed with Unexpected transfer size: 2147418112
840a84
  - JDK-8272095: ProblemList java/nio/channels/FileChannel/Transfer2GPlus.java on linux-aarch64
840a84
  - JDK-8272114: Unused _last_state in osThread_windows
840a84
  - JDK-8272170: Missing memory barrier when checking active state for regions
840a84
  - JDK-8272305: several hotspot runtime/modules don't check exit codes
840a84
  - JDK-8272318: Improve performance of HeapDumpAllTest
840a84
  - JDK-8272328: java.library.path is not set properly by Windows jpackage app launcher
840a84
  - JDK-8272335: runtime/cds/appcds/MoveJDKTest.java doesn't check exit codes
840a84
  - JDK-8272342: [TEST_BUG] java/awt/print/PrinterJob/PageDialogMarginTest.java catches all exceptions
840a84
  - JDK-8272345: macos doesn't check `os::set_boot_path()` result
840a84
  - JDK-8272369: java/io/File/GetXSpace.java failed with "RuntimeException: java.nio.file.NoSuchFileException: /run/user/0"
840a84
  - JDK-8272391: Undeleted debug information
840a84
  - JDK-8272413: Incorrect num of element count calculation for vector cast
840a84
  - JDK-8272473: Parsing epoch seconds at a DST transition with a non-UTC parser is wrong
840a84
  - JDK-8272562: C2: assert(false) failed: Bad graph detected in build_loop_late
840a84
  - JDK-8272570: C2: crash in PhaseCFG::global_code_motion
840a84
  - JDK-8272574: C2: assert(false) failed: Bad graph detected in build_loop_late
840a84
  - JDK-8272639: jpackaged applications using microphone on mac
840a84
  - JDK-8272703: StressSeed should be set via FLAG_SET_ERGO
840a84
  - JDK-8272720: Fix the implementation of loop unrolling heuristic with LoopPercentProfileLimit
840a84
  - JDK-8272783: Epsilon: Refactor tests to improve performance
840a84
  - JDK-8272836: Limit run time for java/lang/invoke/LFCaching tests
840a84
  - JDK-8272838: Move CriticalJNI tests out of tier1
840a84
  - JDK-8272846: Move some runtime/Metaspace/elastic/ tests out of tier1
840a84
  - JDK-8272850: Drop zapping values in the Zap* option descriptions
840a84
  - JDK-8272854: split runtime/CommandLine/PrintTouchedMethods.java test
840a84
  - JDK-8272856: DoubleFlagWithIntegerValue uses G1GC-only flag
840a84
  - JDK-8272859: Javadoc external links should only have feature version number in URL
840a84
  - JDK-8272914: Create hotspot:tier2 and hotspot:tier3 test groups
840a84
  - JDK-8272970: Parallelize runtime/InvocationTests/
840a84
  - JDK-8272973: Incorrect compile command used by TestIllegalArrayCopyBeforeInfiniteLoop
840a84
  - JDK-8273021: C2: Improve Add and Xor ideal optimizations
840a84
  - JDK-8273026: Slow LoginContext.login() on multi threading application
840a84
  - JDK-8273135: java/awt/color/ICC_ColorSpace/MTTransformReplacedProfile.java crashes in liblcms.dylib with NULLSeek+0x7
840a84
  - JDK-8273165: GraphKit::combine_exception_states fails with "matching stack sizes" assert
840a84
  - JDK-8273176: handle latest VS2019 in abstract_vm_version
840a84
  - JDK-8273229: Update OS detection code to recognize Windows Server 2022
840a84
  - JDK-8273234: extended 'for' with expression of type tvar causes the compiler to crash
840a84
  - JDK-8273235: tools/launcher/HelpFlagsTest.java Fails on Windows 32bit
840a84
  - JDK-8273278: Support XSLT on GraalVM Native Image--deterministic bytecode generation in XSLT
840a84
  - JDK-8273308: PatternMatchTest.java fails on CI
840a84
  - JDK-8273314: Add tier4 test groups
840a84
  - JDK-8273315: Parallelize and increase timeouts for java/foreign/TestMatrix.java test
840a84
  - JDK-8273318: Some containers/docker/TestJFREvents.java configs are running out of memory
840a84
  - JDK-8273333: Zero should warn about unimplemented -XX:+LogTouchedMethods
840a84
  - JDK-8273335: compiler/blackhole tests should not run with interpreter-only VMs
840a84
  - JDK-8273342: Null pointer dereference in classFileParser.cpp:2817
840a84
  - JDK-8273359: CI: ciInstanceKlass::get_canonical_holder() doesn't respect instance size
840a84
  - JDK-8273361: InfoOptsTest is failing in tier1
840a84
  - JDK-8273373: Zero: Cannot invoke JVM in primordial threads on Zero
840a84
  - JDK-8273375: Remove redundant 'new String' calls after concatenation in java.desktop
840a84
  - JDK-8273376: Zero: Disable vtable/itableStub gtests
840a84
  - JDK-8273378: Shenandoah: Remove the remaining uses of os::is_MP
840a84
  - JDK-8273408: java.lang.AssertionError: typeSig ERROR on generated class property of record
840a84
  - JDK-8273416: C2: assert(false) failed: bad AD file after JDK-8252372 with UseSSE={0,1}
840a84
  - JDK-8273440: Zero: Disable runtime/Unsafe/InternalErrorTest.java
840a84
  - JDK-8273450: Fix the copyright header of SVML files
840a84
  - JDK-8273451: Remove unreachable return in  mutexLocker::wait
840a84
  - JDK-8273483: Zero: Clear pending JNI exception check in native method handler
840a84
  - JDK-8273486: Zero: Handle DiagnoseSyncOnValueBasedClasses VM option
840a84
  - JDK-8273487: Zero: Handle "zero" variant in runtime tests
840a84
  - JDK-8273489: Zero: Handle UseHeavyMonitors on all monitorenter paths
840a84
  - JDK-8273498: compiler/c2/Test7179138_1.java timed out
840a84
  - JDK-8273505: runtime/cds/appcds/loaderConstraints/DynamicLoaderConstraintsTest.java#default-cl crashed with SIGSEGV in MetaspaceShared::link_shared_classes
840a84
  - JDK-8273514: java/util/DoubleStreamSums/CompensatedSums.java failure
840a84
  - JDK-8273575: memory leak in appendBootClassPath(), paths must be deallocated
840a84
  - JDK-8273592: Backout JDK-8271868
840a84
  - JDK-8273593: [REDO] Warn user when using mac-sign option with unsigned app-image.
840a84
  - JDK-8273595: tools/jpackage tests do not work on apt-based Linux distros like Debian
840a84
  - JDK-8273606: Zero: SPARC64 build fails with si_band type mismatch
840a84
  - JDK-8273614: Shenandoah: intermittent  timeout with ConcurrentGCBreakpoint tests
840a84
  - JDK-8273638: javax/swing/JTable/4235420/bug4235420.java fails in GTK L&F
840a84
  - JDK-8273646: Add openssl from path variable also in to Default System Openssl Path in OpensslArtifactFetcher
840a84
  - JDK-8273678: TableAccessibility and TableRowAccessibility miss autorelease
840a84
  - JDK-8273695: Safepoint deadlock on VMOperation_lock
840a84
  - JDK-8273790: Potential cyclic dependencies between Gregorian and CalendarSystem
840a84
  - JDK-8273806: compiler/cpuflags/TestSSE4Disabled.java should test for CPU feature explicitly
840a84
  - JDK-8273807: Zero: Drop incorrect test block from compiler/startup/NumCompilerThreadsCheck.java
840a84
  - JDK-8273808: Cleanup AddFontsToX11FontPath
840a84
  - JDK-8273826: Correct Manifest file name and NPE checks
840a84
  - JDK-8273887: [macos] java/awt/color/ICC_ColorSpace/MTTransformReplacedProfile.java timed out
840a84
  - JDK-8273894: ConcurrentModificationException raised every time ReferralsCache drops referral
840a84
  - JDK-8273902: Memory leak in OopStorage due to bug in OopHandle::release()
840a84
  - JDK-8273924: ArrayIndexOutOfBoundsException thrown in java.util.JapaneseImperialCalendar.add()
840a84
  - JDK-8273935: (zipfs) Files.getFileAttributeView() throws UOE instead of returning null when view not supported
840a84
  - JDK-8273958: gtest/MetaspaceGtests executes unnecessary tests in debug builds
840a84
  - JDK-8273961: jdk/nio/zipfs/ZipFSTester.java fails if file path contains '+' character
840a84
  - JDK-8273965: some testlibrary_tests/ir_framework tests fail when c1 disabled
840a84
  - JDK-8273968: JCK javax_xml tests fail in CI
840a84
  - JDK-8274056: JavaAccessibilityUtilities leaks JNI objects
840a84
  - JDK-8274074: SIGFPE with C2 compiled code with -XX:+StressGCM
840a84
  - JDK-8274083: Update testing docs to mention tiered testing
840a84
  - JDK-8274087: Windows DLL path not set correctly.
840a84
  - JDK-8274145: C2: condition incorrectly made redundant with dominating main loop exit condition
840a84
  - JDK-8274205: Handle KDC_ERR_SVC_UNAVAILABLE error code from KDC
840a84
  - JDK-8274215: Remove globalsignr2ca root from 17.0.2
840a84
  - JDK-8274242: Implement fast-path for ASCII-compatible CharsetEncoders on x86
840a84
  - JDK-8274265: Suspicious string concatenation in logTestUtils.inline.hpp
840a84
  - JDK-8274293: Build failure on macOS with Xcode 13.0 as vfork is deprecated
840a84
  - JDK-8274325: C4819 warning at vm_version_x86.cpp on Windows after JDK-8234160
840a84
  - JDK-8274326: [macos] Ensure initialisation of sun/lwawt/macosx/CAccessibility in JavaComponentAccessibility.m
840a84
  - JDK-8274329: Fix non-portable HotSpot code in MethodMatcher::parse_method_pattern
840a84
  - JDK-8274338: com/sun/jdi/RedefineCrossEvent.java failed "assert(m != __null) failed: NULL mirror"
840a84
  - JDK-8274347: Passing a *nested* switch expression as a parameter causes an NPE during compile
840a84
  - JDK-8274349: ForkJoinPool.commonPool() does not work with 1 CPU
840a84
  - JDK-8274381: missing CAccessibility definitions in JNI code
840a84
  - JDK-8274383: JNI call of getAccessibleSelection on a wrong thread
840a84
  - JDK-8274401: C2: GraphKit::load_array_element bypasses Access API
840a84
  - JDK-8274406: RunThese30M.java failed "assert(!LCA_orig->dominates(pred_block) || early->dominates(pred_block)) failed: early is high enough"
840a84
  - JDK-8274407: (tz) Update Timezone Data to 2021c
840a84
  - JDK-8274435: EXCEPTION_ACCESS_VIOLATION in BFSClosure::closure_impl
840a84
  - JDK-8274467: TestZoneInfo310.java fails with tzdata2021b
840a84
  - JDK-8274468: TimeZoneTest.java fails with tzdata2021b
840a84
  - JDK-8274501: c2i entry barriers read int as long on AArch64
840a84
  - JDK-8274521: jdk/jfr/event/gc/detailed/TestGCLockerEvent.java fails when other GC is selected
840a84
  - JDK-8274522: java/lang/management/ManagementFactory/MXBeanException.java test fails with Shenandoah
840a84
  - JDK-8274523: java/lang/management/MemoryMXBean/MemoryTest.java test should handle Shenandoah
840a84
  - JDK-8274550: c2i entry barriers read int as long on PPC
840a84
  - JDK-8274560: JFR: Add test for OldObjectSample event when using Shenandoah
840a84
  - JDK-8274606: Fix jaxp/javax/xml/jaxp/unittest/transform/SurrogateTest.java test
840a84
  - JDK-8274642: jdk/jshell/CommandCompletionTest.java fails with NoSuchElementException after JDK-8271287
840a84
  - JDK-8274716: JDWP Spec: the description for the Dispose command confuses suspend with resume.
840a84
  - JDK-8274736: Concurrent read/close of SSLSockets causes SSLSessions to be invalidated unnecessarily
840a84
  - JDK-8274770: [PPC64] resolve_jobject needs a generic implementation to support load barriers
840a84
  - JDK-8274773: [TESTBUG] UnsafeIntrinsicsTest intermittently fails on weak memory model platform
840a84
  - JDK-8274779: HttpURLConnection: HttpClient and HttpsClient incorrectly check request method when set to POST
840a84
  - JDK-8274840: Update OS detection code to recognize Windows 11
840a84
  - JDK-8274848: LambdaMetaFactory::metafactory on REF_invokeSpecial impl method has incorrect behavior
840a84
  - JDK-8274851: [ppc64] Port zgc to linux on ppc64le
840a84
  - JDK-8274942: AssertionError at jdk.compiler/com.sun.tools.javac.util.Assert.error(Assert.java:155)
840a84
  - JDK-8275008: gtest build failure due to stringop-overflow warning with gcc11
840a84
  - JDK-8275049: [ZGC] missing null check in ZNMethod::log_register
840a84
  - JDK-8275051: Shenandoah: Correct ordering of requested gc cause and gc request flag
840a84
  - JDK-8275071: [macos] A11y cursor gets stuck when combobox is closed
840a84
  - JDK-8275104: IR framework does not handle client VM builds correctly
840a84
  - JDK-8275110: Correct RE Configs for CPU Release 17.0.2 on master branch for jdk17u-cpu and jdk17u-cpu-open repos.
840a84
  - JDK-8275131: Exceptions after a touchpad gesture on macOS
840a84
  - JDK-8275141: recover corrupted line endings for the version-numbers.conf
840a84
  - JDK-8275145: file.encoding system property has an incorrect value on Windows
840a84
  - JDK-8275226: Shenandoah: Relax memory constraint for worker claiming tasks/ranges
840a84
  - JDK-8275302: unexpected compiler error: cast, intersection types and sealed
840a84
  - JDK-8275426: PretouchTask num_chunks calculation can overflow
840a84
  - JDK-8275604: Zero: Reformat opclabels_data
840a84
  - JDK-8275666: serviceability/jvmti/GetObjectSizeClass.java shouldn't have vm.flagless
840a84
  - JDK-8275703: System.loadLibrary fails on Big Sur for libraries hidden from filesystem
840a84
  - JDK-8275720: CommonComponentAccessibility.createWithParent isWrapped causes mem leak
840a84
  - JDK-8275766: (tz) Update Timezone Data to 2021e
840a84
  - JDK-8275809: crash in [CommonComponentAccessibility getCAccessible:withEnv:]
840a84
  - JDK-8275811: Incorrect instance to dispose
840a84
  - JDK-8275819: [TableRowAccessibility accessibilityChildren] method is ineffective
840a84
  - JDK-8275849: TestZoneInfo310.java fails with tzdata2021e
840a84
  - JDK-8275863: Use encodeASCII for ASCII-compatible DoubleByte encodings
840a84
  - JDK-8275872: Sync J2DBench run and analyze Makefile targets with build.xml
840a84
  - JDK-8276025: Hotspot's libsvml.so may conflict with user dependency
840a84
  - JDK-8276066: Reset LoopPercentProfileLimit for x86 due to suboptimal performance
840a84
  - JDK-8276076: Updating RE Configs for BUILD REQUEST 17.0.2+3
840a84
  - JDK-8276105: C2: Conv(D|F)2(I|L)Nodes::Ideal should handle rounding correctly
840a84
  - JDK-8276112: Inconsistent scalar replacement debug info at safepoints
840a84
  - JDK-8276122: Change openjdk project in jcheck to jdk-updates
840a84
  - JDK-8276130: Fix Github Actions of JDK17u to account for update version scheme
840a84
  - JDK-8276139: TestJpsHostName.java not reliable, better to expand HostIdentifierCreate.java test
840a84
  - JDK-8276157: C2: Compiler stack overflow during escape analysis on Linux x86_32
840a84
  - JDK-8276201: Shenandoah: Race results degenerated GC to enter wrong entry point
840a84
  - JDK-8276205: Shenandoah: CodeCache_lock should always be held for initializing code cache iteration
840a84
  - JDK-8276306: jdk/jshell/CustomInputToolBuilder.java fails intermittently on storage acquisition
840a84
  - JDK-8276536: Update TimeZoneNames files to follow the changes made by JDK-8275766
840a84
  - JDK-8276550: Use SHA256 hash in build.tools.depend.Depend
840a84
  - JDK-8276572: Fake libsyslookup.so library causes tooling issues
840a84
  - JDK-8276774: Cookie stored in CookieHandler not sent if user headers contain cookie
840a84
  - JDK-8276801: gc/stress/CriticalNativeStress.java fails intermittently with Shenandoah
840a84
  - JDK-8276805: java/awt/print/PrinterJob/CheckPrivilege.java fails due to disabled SecurityManager
840a84
  - JDK-8276845: (fs) java/nio/file/spi/SetDefaultProvider.java fails on x86_32
840a84
  - JDK-8276846: JDK-8273416 is incomplete for UseSSE=1
840a84
  - JDK-8276854: Windows GHA builds fail due to broken Cygwin
840a84
  - JDK-8276864: Update boot JDKs to 17.0.1 in GHA
840a84
  - JDK-8276905: Use appropriate macosx_version_minimum value while compiling metal shaders
840a84
  - JDK-8276927: [ppc64] Port shenandoahgc to linux on ppc64le
840a84
  - JDK-8277029: JMM GetDiagnosticXXXInfo APIs should verify output array sizes
840a84
  - JDK-8277093: Vector should throw ClassNotFoundException for a missing class of an element
840a84
  - JDK-8277159: Fix java/nio/file/FileStore/Basic.java test by ignoring /run/user/* mount points
840a84
  - JDK-8277195: missing CAccessibility definition in [CommonComponentAccessibility accessibilityHitTest]
840a84
  - JDK-8277212: GC accidentally cleans valid megamorphic vtable inline caches
840a84
  - JDK-8277224: sun.security.pkcs.PKCS9Attributes.toString() throws NPE
840a84
  - JDK-8277529: SIGSEGV in C2 CompilerThread Node::rematerialize() compiling Packet::readUnsignedTrint
840a84
  - JDK-8277981: String Deduplication table is never cleaned up due to bad dead_factor_for_cleanup
840a84
840a84
Notes on individual issues:
840a84
===========================
840a84
840a84
core-libs/java.io:serialization:
840a84
840a84
JDK-8277157: Vector should throw ClassNotFoundException for a missing class of an element
840a84
=========================================================================================
840a84
`java.util.Vector` is updated to correctly report
840a84
`ClassNotFoundException that occurs during deserialization using
840a84
`java.io.ObjectInputStream.GetField.get(name, object)` when the class
840a84
of an element of the Vector is not found. Without this fix, a
840a84
`StreamCorruptedException` is thrown that does not provide information
840a84
about the missing class.
840a84
840a84
security-libs/java.security:
840a84
840a84
JDK-8272535: Removed Google's GlobalSign Root Certificate
840a84
=========================================================
840a84
The following root certificate from Google has been removed from the
840a84
`cacerts` keystore:
840a84
840a84
Alias Name: globalsignr2ca [jdk]
840a84
Distinguished Name: CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R2
840a84
840a84
core-libs/java.io:
840a84
840a84
JDK-8275343: file.encoding System Property Has an Incorrect Value on Windows
840a84
============================================================================
840a84
The initialization of the `file.encoding` system property on non macOS
840a84
platforms has been reverted to align with the behavior on or before
840a84
JDK 11.  This has been an issue especially on Windows where the system
840a84
and user's locales are not the same.
840a84
840a84
hotspot/gc:
840a84
840a84
JDK-8277533: ZGC: Fixed long Process Non-Strong References times
840a84
================================================================
840a84
A bug has been fixed that could cause long "Concurrent Process
840a84
Non-Strong References" times with ZGC. The bug blocked the GC from
840a84
making significant progress, and caused both latency and throughput
840a84
issues for the Java application.
840a84
840a84
The long times could be seen in the GC logs when running with `-Xlog:gc*` e.g.
840a84
840a84
[17606.140s][info][gc,phases ] GC(719) Concurrent Process Non-Strong References 25781.928ms
840a84
840a84
core-libs/java.time:
840a84
840a84
JDK-8274857:  Update Timezone Data to 2021c
840a84
===========================================
840a84
IANA Time Zone Database, on which JDK's Date/Time libraries are based,
840a84
has been updated to version 2021c
840a84
(https://mm.icann.org/pipermail/tz-announce/2021-October/000067.html). Note
840a84
that with this update, some of the time zone rules prior to the year
840a84
1970 have been modified according to the changes which were introduced
840a84
with 2021b. For more detail, refer to the announcement of 2021b
840a84
(https://mm.icann.org/pipermail/tz-announce/2021-September/000066.html)
840a84
840a84
New in release OpenJDK 17.0.1 (2021-10-19):
840a84
===========================================
840a84
Live versions of these release notes can be found at:
840a84
  * https://builds.shipilev.net/backports-monitor/release-notes-17.0.1.txt
840a84
840a84
* Security fixes
840a84
  - JDK-8263314: Enhance XML Dsig modes
840a84
  - JDK-8265167, CVE-2021-35556: Richer Text Editors
840a84
  - JDK-8265574: Improve handling of sheets
840a84
  - JDK-8265580, CVE-2021-35559: Enhanced style for RTF kit
840a84
  - JDK-8265776: Improve Stream handling for SSL
840a84
  - JDK-8266097, CVE-2021-35561: Better hashing support
840a84
  - JDK-8266103: Better specified spec values
840a84
  - JDK-8266109: More Resilient Classloading
840a84
  - JDK-8266115: More Manifest Jar Loading
840a84
  - JDK-8266137, CVE-2021-35564: Improve Keystore integrity
840a84
  - JDK-8266689, CVE-2021-35567: More Constrained Delegation
840a84
  - JDK-8267086: ArrayIndexOutOfBoundsException in java.security.KeyFactory.generatePublic
840a84
  - JDK-8267712: Better LDAP reference processing
840a84
  - JDK-8267729, CVE-2021-35578: Improve TLS client handshaking
840a84
  - JDK-8267735, CVE-2021-35586: Better BMP support
840a84
  - JDK-8268193: Improve requests of certificates
840a84
  - JDK-8268199: Correct certificate requests
840a84
  - JDK-8268205: Enhance DTLS client handshake
840a84
  - JDK-8268500: Better specified ParameterSpecs
840a84
  - JDK-8268506: More Manifest Digests
840a84
  - JDK-8269618, CVE-2021-35603: Better session identification
840a84
  - JDK-8269624: Enhance method selection support
840a84
  - JDK-8270398: Enhance canonicalization
840a84
  - JDK-8270404: Better canonicalization
840a84
* Other changes
840a84
  - JDK-8225082: Remove IdenTrust certificate that is expiring in September 2021
840a84
  - JDK-8243543: jtreg test security/infra/java/security/cert/CertPathValidator/certification/BuypassCA.java fails
840a84
  - JDK-8248899: security/infra/java/security/cert/CertPathValidator/certification/QuoVadisCA.java fails, Certificate has been revoked
840a84
  - JDK-8261088: Repeatable annotations without @Target cannot have containers that target module declarations
840a84
  - JDK-8262731: [macOS] Exception from "Printable.print" is swallowed during "PrinterJob.print"
840a84
  - JDK-8263531: Remove unused buffer int
840a84
  - JDK-8266182: Automate manual steps listed in the test jdk/sun/security/pkcs12/ParamsTest.java
840a84
  - JDK-8267625: AARCH64: typo in LIR_Assembler::emit_profile_type
840a84
  - JDK-8267666: Add option to jcmd GC.heap_dump to use existing file
840a84
  - JDK-8268019: C2: assert(no_dead_loop) failed: dead loop detected
840a84
  - JDK-8268261: C2: assert(n != __null) failed: Bad immediate dominator info.
840a84
  - JDK-8268427: Improve AlgorithmConstraints:checkAlgorithm performance
840a84
  - JDK-8268963: [IR Framework] Some default regexes matching on PrintOptoAssembly in IRNode.java do not work on all platforms
840a84
  - JDK-8269297: Bump version numbers for JDK 17.0.1
840a84
  - JDK-8269478: Shenandoah: gc/shenandoah/mxbeans tests should be more resilient
840a84
  - JDK-8269574: C2: Avoid redundant uncommon traps in GraphKit::builtin_throw() for JVMTI exception events
840a84
  - JDK-8269763: The JEditorPane is blank after JDK-8265167
840a84
  - JDK-8269851: OperatingSystemMXBean getProcessCpuLoad reports incorrect process cpu usage in containers
840a84
  - JDK-8269882: stack-use-after-scope in NewObjectA
840a84
  - JDK-8269897: Shenandoah: Resolve UNKNOWN access strength, where possible
840a84
  - JDK-8269934: RunThese24H.java failed with EXCEPTION_ACCESS_VIOLATION in java_lang_Thread::get_thread_status
840a84
  - JDK-8269993: [Test]: java/net/httpclient/DigestEchoClientSSL.java contains redundant @run tags
840a84
  - JDK-8270094: Shenandoah: Provide human-readable labels for test configurations
840a84
  - JDK-8270096: Shenandoah: Optimize gc/shenandoah/TestRefprocSanity.java for interpreter mode
840a84
  - JDK-8270098: ZGC: ZBarrierSetC2::clone_at_expansion fails with "Guard against surprises" assert
840a84
  - JDK-8270137: Kerberos Credential Retrieval from Cache not Working in Cross-Realm Setup
840a84
  - JDK-8270280: security/infra/java/security/cert/CertPathValidator/certification/LetsEncryptCA.java  OCSP response error
840a84
  - JDK-8270344: Session resumption errors
840a84
  - JDK-8271203: C2: assert(iff->Opcode() == Op_If || iff->Opcode() == Op_CountedLoopEnd || iff->Opcode() == Op_RangeCheck) failed: Check this code when new subtype is added
840a84
  - JDK-8271276: C2: Wrong JVM state used for receiver null check
840a84
  - JDK-8271335: Updating RE Configs for BUILD REQUEST 17.0.1+4
840a84
  - JDK-8271589: fatal error with variable shift count integer rotate operation.
840a84
  - JDK-8271723: Unproblemlist runtime/InvocationTests/invokevirtualTests.java
840a84
  - JDK-8271730: Client authentication using RSASSA-PSS fails after correct certificate requests
840a84
  - JDK-8271925: ZGC: Arraycopy stub passes invalid oop to load barrier
840a84
  - JDK-8272124: Cgroup v1 initialization causes NullPointerException when cgroup path contains colon
840a84
  - JDK-8272131: PhaseMacroExpand::generate_slow_arraycopy crash when clone null CallProjections.fallthrough_ioproj
840a84
  - JDK-8272326: java/util/Random/RandomTestMoments.java had two Gaussian fails
840a84
  - JDK-8272332: --with-harfbuzz=system doesn't add -lharfbuzz after JDK-8255790
840a84
  - JDK-8272472: StackGuardPages test doesn't build with glibc 2.34
840a84
  - JDK-8272581: sun/security/pkcs11/Provider/MultipleLogins.sh fails after JDK-8266182
840a84
  - JDK-8272602: [macos] not all KEY_PRESSED events sent when control modifier is used
840a84
  - JDK-8272700: [macos] Build failure with Xcode 13.0 after JDK-8264848
840a84
  - JDK-8272708: [Test]: Cleanup: test/jdk/security/infra/java/security/cert/CertPathValidator/certification/BuypassCA.java no longer needs ocspEnabled
840a84
  - JDK-8272806: [macOS] "Apple AWT Internal Exception" when input method is changed
840a84
  - JDK-8273358: macOS Monterey does not have the font Times needed by Serif
840a84
840a84
Notes on individual issues:
840a84
===========================
840a84
840a84
security-libs/java.security:
840a84
840a84
JDK-8271434: Removed IdenTrust Root Certificate
840a84
===============================================
840a84
The following root certificate from IdenTrust has been removed from
840a84
the `cacerts` keystore:
840a84
840a84
Alias Name: identrustdstx3 [jdk]
840a84
Distinguished Name: CN=DST Root CA X3, O=Digital Signature Trust Co.
840a84
033d8e
New in release OpenJDK 17.0.0 (2021-09-14):
cadfac
===========================================
033d8e
The full list of changes in the interim releases from 11u to 17u can be found at:
033d8e
  * https://builds.shipilev.net/backports-monitor/release-notes-12.txt
033d8e
  * https://builds.shipilev.net/backports-monitor/release-notes-13.txt
033d8e
  * https://builds.shipilev.net/backports-monitor/release-notes-14.txt
033d8e
  * https://builds.shipilev.net/backports-monitor/release-notes-15.txt
033d8e
  * https://builds.shipilev.net/backports-monitor/release-notes-16.txt
033d8e
  * https://builds.shipilev.net/backports-monitor/release-notes-17.txt
033d8e
033d8e
Major changes are listed below.  Some changes may have been backported
033d8e
to earlier releases following their first appearance in OpenJDK 12
033d8e
through to 17.
033d8e
033d8e
NEW FEATURES
033d8e
============
033d8e
033d8e
Language Features
033d8e
=================
033d8e
033d8e
Switch Expressions
033d8e
==================
033d8e
https://openjdk.java.net/jeps/325
033d8e
https://openjdk.java.net/jeps/354
033d8e
https://openjdk.java.net/jeps/361
033d8e
033d8e
Extend the `switch` statement so that it can be used as either a
033d8e
statement or an expression, and that both forms can use either a
033d8e
"traditional" or "simplified" scoping and control flow behavior.  Both
033d8e
forms can use either traditional `case ... :` labels (with fall
033d8e
through) or new `case ... ->` labels (with no fall through), with a
033d8e
further new statement for yielding a value from a `switch`
033d8e
expression. These changes will simplify everyday coding, and also
033d8e
prepare the way for the use of pattern matching in `switch`.
033d8e
033d8e
This was a preview feature (http://openjdk.java.net/jeps/12) in
033d8e
OpenJDK 12 & 13 and became final in OpenJDK 14.
033d8e
033d8e
Text Blocks
033d8e
===========
033d8e
https://openjdk.java.net/jeps/355
033d8e
https://openjdk.java.net/jeps/368
033d8e
https://openjdk.java.net/jeps/378
033d8e
033d8e
Add text blocks to the Java language. A text block is a multi-line
033d8e
string literal that avoids the need for most escape sequences,
033d8e
automatically formats the string in a predictable way, and gives the
033d8e
developer control over format when desired.
033d8e
033d8e
This was a preview feature (http://openjdk.java.net/jeps/12) in
033d8e
OpenJDK 13 & 14 and became final in OpenJDK 15.
033d8e
033d8e
Pattern Matching for instanceof
033d8e
===============================
033d8e
https://openjdk.java.net/jeps/305
033d8e
https://openjdk.java.net/jeps/375
033d8e
https://openjdk.java.net/jeps/394
033d8e
http://cr.openjdk.java.net/~briangoetz/amber/pattern-match.html
033d8e
033d8e
Enhance the Java programming language with pattern matching for the
033d8e
`instanceof` operator. Pattern matching allows common logic in a
033d8e
program, namely the conditional extraction of components from objects,
033d8e
to be expressed more concisely and safely.
033d8e
033d8e
This was a preview feature (http://openjdk.java.net/jeps/12) in
033d8e
OpenJDK 14 & 15 and became final in OpenJDK 16.
033d8e
033d8e
Records
033d8e
=======
033d8e
https://openjdk.java.net/jeps/359
033d8e
https://openjdk.java.net/jeps/384
033d8e
https://openjdk.java.net/jeps/395
033d8e
033d8e
Enhance the Java programming language with records.  Records provide a
033d8e
compact syntax for declaring classes which are transparent holders for
033d8e
shallowly immutable data.
033d8e
033d8e
This was a preview feature (http://openjdk.java.net/jeps/12) in
033d8e
OpenJDK 14 & 15 and became final in OpenJDK 16.
033d8e
033d8e
Sealed Classes
033d8e
==============
033d8e
https://openjdk.java.net/jeps/360
033d8e
https://openjdk.java.net/jeps/397
033d8e
https://openjdk.java.net/jeps/409
033d8e
https://cr.openjdk.java.net/~briangoetz/amber/datum.html
033d8e
033d8e
Enhance the Java programming language with sealed classes and
033d8e
interfaces. Sealed classes and interfaces restrict which other classes
033d8e
or interfaces may extend or implement them.
033d8e
033d8e
This was a preview feature (http://openjdk.java.net/jeps/12) in
033d8e
OpenJDK 15 & 16 and became final in OpenJDK 17.
033d8e
033d8e
Restore Always-Strict Floating-Point Semantics
033d8e
==============================================
033d8e
https://openjdk.java.net/jeps/306
033d8e
033d8e
Make floating-point operations consistently strict, rather than have
033d8e
both strict floating-point semantics (`strictfp`) and subtly different
033d8e
default floating-point semantics. This will restore the original
033d8e
floating-point semantics to the language and VM, matching the
033d8e
semantics before the introduction of strict and default floating-point
033d8e
modes in Java SE 1.2.
033d8e
033d8e
Pattern Matching for switch
cadfac
===========================
033d8e
https://openjdk.java.net/jeps/406
cadfac
033d8e
Enhance the Java programming language with pattern matching for
033d8e
`switch` expressions and statements, along with extensions to the
033d8e
language of patterns. Extending pattern matching to `switch` allows an
033d8e
expression to be tested against a number of patterns, each with a
033d8e
specific action, so that complex data-oriented queries can be
033d8e
expressed concisely and safely.
cadfac
033d8e
This is a preview feature (http://openjdk.java.net/jeps/12) in OpenJDK
033d8e
17.
cadfac
033d8e
Library Features
033d8e
================
cadfac
033d8e
JVM Constants API
033d8e
=================
033d8e
https://openjdk.java.net/jeps/334
033d8e
033d8e
Introduce an API to model nominal descriptions of key class-file and
033d8e
run-time artifacts, in particular constants that are loadable from the
033d8e
constant pool.
033d8e
033d8e
Reimplement the Legacy Socket API
033d8e
=================================
033d8e
https://openjdk.java.net/jeps/353
033d8e
033d8e
Replace the underlying implementation used by the `java.net.Socket`
033d8e
and `java.net.ServerSocket` APIs with a simpler and more modern
033d8e
implementation that is easy to maintain and debug. The new
033d8e
implementation will be easy to adapt to work with user-mode threads,
033d8e
a.k.a. fibers, currently being explored in Project Loom
033d8e
(https://openjdk.java.net/projects/loom).
033d8e
033d8e
JFR Event Streaming
033d8e
===================
033d8e
https://openjdk.java.net/jeps/349
033d8e
033d8e
Expose JDK Flight Recorder data for continuous monitoring.
033d8e
033d8e
Non-Volatile Mapped Byte Buffers
033d8e
================================
033d8e
https://openjdk.java.net/jeps/352
033d8e
033d8e
Add new JDK-specific file mapping modes so that the `FileChannel` API
033d8e
can be used to create `MappedByteBuffer` instances that refer to
033d8e
non-volatile memory.
033d8e
033d8e
Helpful NullPointerExceptions
033d8e
=============================
033d8e
https://openjdk.java.net/jeps/358
033d8e
033d8e
Improve the usability of `NullPointerException`s generated by the JVM
033d8e
by describing precisely which variable was `null`.
033d8e
033d8e
Foreign-Memory Access API
033d8e
=========================
033d8e
https://openjdk.java.net/jeps/370
033d8e
https://openjdk.java.net/jeps/383
033d8e
https://openjdk.java.net/jeps/393
033d8e
033d8e
Introduce an API to allow Java programs to safely and efficiently
033d8e
access foreign memory outside of the Java heap.
033d8e
033d8e
This was a incubation feature (https://openjdk.java.net/jeps/11) in
033d8e
OpenJDK 14, 15 & 16, now superseded by the Foreign Function & Memory
033d8e
API in OpenJDK 17 (see below).
033d8e
033d8e
Edwards-Curve Digital Signature Algorithm (EdDSA)
033d8e
=================================================
033d8e
https://openjdk.java.net/jeps/339
033d8e
033d8e
Implement cryptographic signatures using the Edwards-Curve Digital
033d8e
Signature Algorithm (EdDSA) as described by RFC 8032
033d8e
(https://tools.ietf.org/html/rfc8032).
033d8e
033d8e
Hidden Classes
033d8e
==============
033d8e
https://openjdk.java.net/jeps/371
033d8e
033d8e
Introduce hidden classes, which are classes that cannot be used
033d8e
directly by the bytecode of other classes. Hidden classes are intended
033d8e
for use by frameworks that generate classes at run time and use them
033d8e
indirectly, via reflection. A hidden class may be defined as a member
033d8e
of an access control nest (https://openjdk.java.net/jeps/181), and may
033d8e
be unloaded independently of other classes.
033d8e
033d8e
Reimplement the Legacy DatagramSocket API
033d8e
=========================================
033d8e
https://openjdk.java.net/jeps/373
033d8e
033d8e
Replace the underlying implementations of the
033d8e
`java.net.DatagramSocket` and `java.net.MulticastSocket` APIs with
033d8e
simpler and more modern implementations that are easy to maintain and
033d8e
debug. The new implementations will be easy to adapt to work with
033d8e
virtual threads, currently being explored in Project Loom
033d8e
(https://openjdk.java.net/projects/loom). This is a follow-on to JEP
033d8e
353 (see above), which already reimplemented the legacy Socket API.
033d8e
033d8e
Vector API
033d8e
==========
033d8e
https://openjdk.java.net/jeps/338
033d8e
https://openjdk.java.net/jeps/414
033d8e
033d8e
Provide an initial iteration of an incubator module,
033d8e
`jdk.incubator.vector`, to express vector computations that reliably
033d8e
compile at runtime to optimal vector hardware instructions on
033d8e
supported CPU architectures and thus achieve superior performance to
033d8e
equivalent scalar computations.
033d8e
033d8e
This is an incubation feature (https://openjdk.java.net/jeps/11)
033d8e
introduced in OpenJDK 16.
033d8e
033d8e
Unix-Domain Socket Channels
033d8e
===========================
033d8e
https://openjdk.java.net/jeps/380
033d8e
033d8e
Add Unix-domain (`AF_UNIX`) socket support to the socket channel and
033d8e
server-socket channel APIs in the `java.nio.channels` package. Extend
033d8e
the inherited channel mechanism to support Unix-domain socket channels
033d8e
and server socket channels.
033d8e
033d8e
Foreign Linker API (Incubator)
033d8e
==============================
033d8e
https://openjdk.java.net/jeps/389
033d8e
033d8e
Introduce an API that offers statically-typed, pure-Java access to
033d8e
native code. This API, together with the Foreign-Memory API (see
033d8e
above), will considerably simplify the otherwise error-prone process
033d8e
of binding to a native library.
033d8e
033d8e
This was an incubation feature (https://openjdk.java.net/jeps/11)
033d8e
introduced in OpenJDK 16, now superseded by the Foreign Function &
033d8e
Memory API in OpenJDK 17 (see below).
033d8e
033d8e
Strongly Encapsulate JDK Internals by Default
033d8e
=============================================
033d8e
https://openjdk.java.net/jeps/396
033d8e
https://openjdk.java.net/jeps/403
033d8e
033d8e
Strongly encapsulate all internal elements of the JDK by default,
033d8e
except for critical internal APIs such as `sun.misc.Unsafe`.  It will
033d8e
no longer be possible to relax the strong encapsulation of internal
033d8e
elements via a single command-line option, as was possible in OpenJDK
033d8e
9 through 16.
033d8e
033d8e
Enhanced Pseudo-Random Number Generators
033d8e
========================================
033d8e
https://openjdk.java.net/jeps/356
033d8e
033d8e
Provide new interface types and implementations for pseudo-random
033d8e
number generators (PRNGs), including jumpable PRNGs and an additional
033d8e
class of splittable PRNG algorithms (LXM).
033d8e
033d8e
Foreign Function & Memory API
033d8e
=============================
033d8e
https://openjdk.java.net/jeps/412
033d8e
033d8e
Introduce an API by which Java programs can interoperate with code and
033d8e
data outside of the Java runtime. By efficiently invoking foreign
033d8e
functions (i.e., code outside the JVM), and by safely accessing
033d8e
foreign memory (i.e., memory not managed by the JVM), the API enables
033d8e
Java programs to call native libraries and process native data without
033d8e
the brittleness and danger of JNI.
033d8e
033d8e
This API is an incubation feature (https://openjdk.java.net/jeps/11)
033d8e
introduced in OpenJDK 17, and is an evolution of the Foreign Memory
033d8e
Access API (OpenJDK 14 through 16) and Foreign Linker API (OpenJDK
033d8e
16) (see above).
033d8e
033d8e
Context-Specific Deserialization Filters
033d8e
========================================
033d8e
https://openjdk.java.net/jeps/415
033d8e
033d8e
Allow applications to configure context-specific and
033d8e
dynamically-selected deserialization filters via a JVM-wide filter
033d8e
factory that is invoked to select a filter for each individual
033d8e
deserialization operation.
033d8e
033d8e
Tools
033d8e
=====
033d8e
033d8e
Packaging Tool
033d8e
==============
033d8e
https://openjdk.java.net/jeps/343
033d8e
https://openjdk.java.net/jeps/392
033d8e
033d8e
Provide the `jpackage` tool, for packaging self-contained Java
033d8e
applications.
033d8e
033d8e
JVM Features
033d8e
============
033d8e
033d8e
Shenandoah: A Low-Pause-Time Garbage Collector
033d8e
==============================================
033d8e
https://openjdk.java.net/jeps/189
033d8e
https://openjdk.java.net/jeps/379
033d8e
033d8e
Add a new garbage collection (GC) algorithm named Shenandoah which
033d8e
reduces GC pause times by doing evacuation work concurrently with the
033d8e
running Java threads.  Pause times with Shenandoah are independent of
033d8e
heap size, meaning you will have the same consistent pause times
033d8e
whether your heap is 200 MB or 200 GB.
033d8e
033d8e
Shenandoah has been provided in Red Hat builds of OpenJDK 8 since
033d8e
8u131 in April 2017 and in all 11u builds.
033d8e
033d8e
Upstream, it was introduced in OpenJDK 12 as an experimental feature
033d8e
and became a production feature in OpenJDK 15. It was backported to
033d8e
OpenJDK 11 with the 11.0.9 release in October 2020.
033d8e
033d8e
Abortable Mixed Collections for G1
033d8e
==================================
033d8e
https://openjdk.java.net/jeps/344
033d8e
033d8e
Make G1 mixed collections abortable if they might exceed the pause
033d8e
target.
033d8e
033d8e
Promptly Return Unused Committed Memory from G1
033d8e
===============================================
033d8e
https://openjdk.java.net/jeps/346
033d8e
033d8e
Enhance the G1 garbage collector to automatically return Java heap
033d8e
memory to the operating system when idle.
033d8e
033d8e
Dynamic CDS Archives
033d8e
====================
033d8e
https://openjdk.java.net/jeps/310
033d8e
https://openjdk.java.net/jeps/350
033d8e
033d8e
Extend application class-data sharing to allow the dynamic archiving
033d8e
of classes at the end of Java application execution. The archived
033d8e
classes will include all loaded application classes and library
033d8e
classes that are not present in the default, base-layer CDS archive.
033d8e
033d8e
ZGC: Uncommit Unused Memory (Experimental)
033d8e
==========================================
033d8e
https://openjdk.java.net/jeps/351
033d8e
033d8e
Enhance ZGC to return unused heap memory to the operating system.
033d8e
033d8e
NUMA-Aware Memory Allocation for G1
033d8e
===================================
033d8e
https://openjdk.java.net/jeps/345
033d8e
033d8e
Improve G1 performance on large machines by implementing NUMA-aware
033d8e
memory allocation.
033d8e
033d8e
ZGC on macOS (Experimental)
cadfac
===========================
033d8e
https://openjdk.java.net/jeps/364
033d8e
033d8e
Port the ZGC garbage collector to macOS.
033d8e
033d8e
ZGC on Windows (Experimental)
033d8e
=============================
033d8e
https://openjdk.java.net/jeps/365
033d8e
033d8e
Port the ZGC garbage collector to Windows.
033d8e
033d8e
ZGC: A Scalable Low-Latency Garbage Collector (Production)
033d8e
==========================================================
033d8e
https://openjdk.java.net/jeps/377
033d8e
033d8e
Change the Z Garbage Collector from an experimental feature into a
033d8e
product feature.
033d8e
033d8e
ZGC: Concurrent Thread-Stack Processing
033d8e
=======================================
033d8e
https://openjdk.java.net/jeps/376
033d8e
033d8e
Move ZGC thread-stack processing from safepoints to a concurrent
033d8e
phase.
cadfac
033d8e
Elastic Metaspace
033d8e
=================
033d8e
https://openjdk.java.net/jeps/387
cadfac
033d8e
Return unused HotSpot class-metadata (i.e., metaspace) memory to the
033d8e
operating system more promptly, reduce metaspace footprint, and
033d8e
simplify the metaspace code in order to reduce maintenance costs.
cadfac
033d8e
Ports
033d8e
=====
cadfac
033d8e
Alpine Linux Port
033d8e
=================
033d8e
https://openjdk.java.net/jeps/386
033d8e
033d8e
Port the JDK to Alpine Linux, and to other Linux distributions that
033d8e
use musl as their primary C library, on both the x64 and AArch64
033d8e
architectures,
033d8e
033d8e
Windows/AArch64 Port
033d8e
====================
033d8e
https://openjdk.java.net/jeps/388
033d8e
033d8e
Port the JDK to Windows/AArch64.
033d8e
033d8e
New macOS Rendering Pipeline
033d8e
============================
033d8e
https://openjdk.java.net/jeps/382
033d8e
033d8e
Implement a Java 2D internal rendering pipeline for macOS using the
033d8e
Apple Metal API as alternative to the existing pipeline, which uses
033d8e
the deprecated Apple OpenGL API.
033d8e
033d8e
macOS/AArch64 Port
033d8e
==================
033d8e
https://openjdk.java.net/jeps/391
033d8e
033d8e
Port the JDK to macOS/AArch64.
033d8e
033d8e
DEPRECATIONS
033d8e
============
033d8e
033d8e
Deprecate the ParallelScavenge + SerialOld GC Combination
cadfac
=========================================================
033d8e
https://openjdk.java.net/jeps/366
033d8e
033d8e
Deprecate the combination of the Parallel Scavenge and Serial Old
033d8e
garbage collection algorithms.
033d8e
033d8e
Deprecate and Disable Biased Locking
033d8e
====================================
033d8e
https://openjdk.java.net/jeps/374
033d8e
033d8e
Disable biased locking by default, and deprecate all related
033d8e
command-line options.
033d8e
033d8e
Warnings for Value-Based Classes
033d8e
================================
033d8e
https://openjdk.java.net/jeps/390
033d8e
033d8e
Designate the primitive wrapper classes as value-based and deprecate
033d8e
their constructors for removal, prompting new deprecation
033d8e
warnings. Provide warnings about improper attempts to synchronize on
033d8e
instances of any value-based classes in the Java Platform.
033d8e
033d8e
Deprecate the Applet API for Removal
033d8e
====================================
033d8e
https://openjdk.java.net/jeps/398
033d8e
033d8e
Deprecate the Applet API for removal.  It is essentially irrelevant
033d8e
since all web-browser vendors have either removed support for Java
033d8e
browser plug-ins or announced plans to do so.
033d8e
033d8e
Deprecate the Security Manager for Removal
033d8e
==========================================
033d8e
https://openjdk.java.net/jeps/411
033d8e
033d8e
Deprecate the Security Manager for removal in a future release. The
033d8e
Security Manager dates from Java 1.0. It has not been the primary
033d8e
means of securing client-side Java code for many years, and it has
033d8e
rarely been used to secure server-side code. To move Java forward, we
033d8e
intend to deprecate the Security Manager for removal in concert with
033d8e
the legacy Applet API (see above).  .
033d8e
033d8e
REMOVALS
033d8e
========
033d8e
033d8e
Remove the Concurrent Mark Sweep (CMS) Garbage Collector
033d8e
========================================================
033d8e
https://openjdk.java.net/jeps/363
033d8e
033d8e
Remove the Concurrent Mark Sweep (CMS) garbage collector.
033d8e
033d8e
Remove the Pack200 Tools and API
033d8e
================================
033d8e
https://openjdk.java.net/jeps/336
033d8e
https://openjdk.java.net/jeps/367
033d8e
033d8e
Remove the `pack200` and `unpack200` tools, and the `Pack200` API in
033d8e
the `java.util.jar` package.  These tools and API were deprecated for
033d8e
removal in OpenJDK 11 with the express intent to remove them in a
033d8e
future release.
033d8e
033d8e
Remove the Nashorn JavaScript Engine
033d8e
====================================
033d8e
https://openjdk.java.net/jeps/372
033d8e
033d8e
Remove the Nashorn JavaScript script engine and APIs, and the `jjs`
033d8e
tool. The engine, the APIs, and the tool were deprecated for removal
033d8e
in OpenJDK 11 with the express intent to remove them in a future
033d8e
release.
033d8e
033d8e
Remove the Solaris and SPARC Ports
033d8e
==================================
033d8e
https://openjdk.java.net/jeps/362
033d8e
https://openjdk.java.net/jeps/381
033d8e
033d8e
Remove the source code and build support for the Solaris/SPARC,
033d8e
Solaris/x64, and Linux/SPARC ports.  These ports were deprecated for
033d8e
removal in OpenJDK 14 (JEP 362) and removed in OpenJDK 15 (JEP 381).
033d8e
033d8e
Remove RMI Activation
033d8e
=====================
033d8e
https://openjdk.java.net/jeps/385
033d8e
https://openjdk.java.net/jeps/407
033d8e
https://docs.oracle.com/en/java/javase/14/docs/specs/rmi/activation.html
cadfac
033d8e
Remove the Remote Method Invocation (RMI) Activation mechanism, while
033d8e
preserving the rest of RMI.  RMI Activation is an obsolete part of RMI
033d8e
that has been optional since OpenJDK 8 and was deprecated in OpenJDK
033d8e
15.
cadfac
033d8e
Remove the Experimental AOT and JIT Compiler
033d8e
============================================
033d8e
https://openjdk.java.net/jeps/410
cadfac
033d8e
Remove the experimental Java-based ahead-of-time (AOT) and
033d8e
just-in-time (JIT) compiler.  This compiler has seen little use since
033d8e
its introduction and the effort required to maintain it is
033d8e
significant.  Retain the experimental Java-level JVM compiler
033d8e
interface (JVMCI) so that developers can continue to use
033d8e
externally-built versions of the compiler for JIT compilation.