import java-17-openjdk-17.0.6.0.9-0.3.ea.el8

This commit is contained in:
CentOS Sources 2023-03-28 11:07:05 +00:00 committed by Stepan Oksanichenko
parent dd06fa2eab
commit b3fbb42892
11 changed files with 4571 additions and 921 deletions

2
.gitignore vendored
View File

@ -1,2 +1,2 @@
SOURCES/openjdk-jdk17u-jdk-17.0.3+7.tar.xz
SOURCES/openjdk-jdk17u-jdk-17.0.6+9.tar.xz
SOURCES/tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz

View File

@ -1,2 +1,2 @@
48b4c7e58395ac81d19dae67b0f4d1cfe52c4e45 SOURCES/openjdk-jdk17u-jdk-17.0.3+7.tar.xz
95213324016613e314e5c97dc87f31a0576df00c SOURCES/openjdk-jdk17u-jdk-17.0.6+9.tar.xz
c8281ee37b77d535c9c1af86609a531958ff7b34 SOURCES/tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz

65
SOURCES/CheckVendor.java Normal file
View File

@ -0,0 +1,65 @@
/* CheckVendor -- Check the vendor properties match specified values.
Copyright (C) 2020 Red Hat, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* @test
*/
public class CheckVendor {
public static void main(String[] args) {
if (args.length < 4) {
System.err.println("CheckVendor <VENDOR> <VENDOR-URL> <VENDOR-BUG-URL> <VENDOR-VERSION-STRING>");
System.exit(1);
}
String vendor = System.getProperty("java.vendor");
String expectedVendor = args[0];
String vendorURL = System.getProperty("java.vendor.url");
String expectedVendorURL = args[1];
String vendorBugURL = System.getProperty("java.vendor.url.bug");
String expectedVendorBugURL = args[2];
String vendorVersionString = System.getProperty("java.vendor.version");
String expectedVendorVersionString = args[3];
if (!expectedVendor.equals(vendor)) {
System.err.printf("Invalid vendor %s, expected %s\n",
vendor, expectedVendor);
System.exit(2);
}
if (!expectedVendorURL.equals(vendorURL)) {
System.err.printf("Invalid vendor URL %s, expected %s\n",
vendorURL, expectedVendorURL);
System.exit(3);
}
if (!expectedVendorBugURL.equals(vendorBugURL)) {
System.err.printf("Invalid vendor bug URL %s, expected %s\n",
vendorBugURL, expectedVendorBugURL);
System.exit(4);
}
if (!expectedVendorVersionString.equals(vendorVersionString)) {
System.err.printf("Invalid vendor version string %s, expected %s\n",
vendorVersionString, expectedVendorVersionString);
System.exit(5);
}
System.err.printf("Vendor information verified as %s, %s, %s, %s\n",
vendor, vendorURL, vendorBugURL, vendorVersionString);
}
}

View File

@ -3,6 +3,990 @@ Key:
JDK-X - https://bugs.openjdk.java.net/browse/JDK-X
CVE-XXXX-YYYY: https://cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
New in release OpenJDK 17.0.6 (2023-01-17):
===========================================
Live versions of these release notes can be found at:
* https://bitly.com/openjdk1706
* https://builds.shipilev.net/backports-monitor/release-notes-17.0.6.html
* Other changes
- JDK-6829250: Reg test: java/awt/Toolkit/ScreenInsetsTest/ScreenInsetsTest.java fails in Windows
- JDK-7001973: java/awt/Graphics2D/CopyAreaOOB.java fails
- JDK-7188098: TEST_BUG: closed/javax/sound/midi/Synthesizer/Receiver/bug6186488.java fails
- JDK-8022403: sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java fails
- JDK-8029633: Raw inner class constructor ref should not perform diamond inference
- JDK-8030121: java/awt/dnd/MissingDragExitEventTest/MissingDragExitEventTest.java fails
- JDK-8065422: Trailing dot in hostname causes TLS handshake to fail with SNI disabled
- JDK-8129827: [TEST_BUG] Test java/awt/Robot/RobotWheelTest/RobotWheelTest.java fails
- JDK-8159599: [TEST_BUG] java/awt/Modal/ModalInternalFrameTest/ModalInternalFrameTest.java
- JDK-8169187: [macosx] Aqua: java/awt/image/multiresolution/MultiresolutionIconTest.java
- JDK-8178698: javax/sound/midi/Sequencer/MetaCallback.java failed with timeout
- JDK-8202836: [macosx] test java/awt/Graphics/TextAAHintsTest.java fails
- JDK-8210558: serviceability/sa/TestJhsdbJstackLock.java fails to find '^\s+- waiting to lock <0x[0-9a-f]+> \(a java\.lang\.Class ...'
- JDK-8222323: ChildAlwaysOnTopTest.java fails with "RuntimeException: Failed to unset alwaysOnTop"
- JDK-8233557: [TESTBUG] DoubleClickTitleBarTest.java fails on macOs
- JDK-8233558: [TESTBUG] WindowOwnedByEmbeddedFrameTest.java fails on macos
- JDK-8233648: [TESTBUG] DefaultMenuBarTest.java failing on macos
- JDK-8244670: convert clhsdb "whatis" command from javascript to java
- JDK-8251466: test/java/io/File/GetXSpace.java fails on Windows with mapped network drives.
- JDK-8255439: System Tray icons get corrupted when Windows scaling changes
- JDK-8256811: Delayed/missed jdwp class unloading events
- JDK-8257722: Improve "keytool -printcert -jarfile" output
- JDK-8262721: Add Tests to verify single iteration loops are properly optimized
- JDK-8265489: Stress test times out because of long ObjectSynchronizer::monitors_iterate(...) operation
- JDK-8266082: AssertionError in Annotate.fromAnnotations with -Xdoclint
- JDK-8266519: Cleanup resolve() leftovers from BarrierSet et al
- JDK-8267138: Stray suffix when starting gtests via GTestWrapper.java
- JDK-8268033: compiler/intrinsics/bmi/verifycode/BzhiTestI2L.java fails with "fatal error: Not compilable at tier 3: CodeBuffer overflow"
- JDK-8268276: Base64 Decoding optimization for x86 using AVX-512
- JDK-8268297: jdk/jfr/api/consumer/streaming/TestLatestEvent.java times out
- JDK-8268779: ZGC: runtime/InternalApi/ThreadCpuTimesDeadlock.java#id1 failed with "OutOfMemoryError: Java heap space"
- JDK-8269029: compiler/codegen/TestCharVect2.java fails for client VMs
- JDK-8269404: Base64 Encoding optimization enhancements for x86 using AVX-512
- JDK-8269571: NMT should print total malloc bytes and invocation count
- JDK-8269743: test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/stress/jni/nativeAndMH/Test.java crash with small heap (-Xmx50m)
- JDK-8270086: ARM32-softfp: Do not load CONSTANT_double using the condy helper methods in the interpreter
- JDK-8270155: ARM32: Improve register dump in hs_err
- JDK-8270609: [TESTBUG] java/awt/print/Dialog/DialogCopies.java does not show instruction
- JDK-8270848: Redundant unsafe opmask register allocation in some instruction patterns.
- JDK-8270947: AArch64: C1: use zero_words to initialize all objects
- JDK-8271015: Split cds/SharedBaseAddress.java test into smaller parts
- JDK-8271834: TestStringDeduplicationAgeThreshold intermittent failures on Shenandoah
- JDK-8271956: AArch64: C1 build failed after JDK-8270947
- JDK-8272094: compiler/codecache/TestStressCodeBuffers.java crashes with "failed to allocate space for trampoline"
- JDK-8272123: Problem list 4 jtreg tests which regularly fail on macos-aarch64
- JDK-8272608: java_lang_System::allow_security_manager() doesn't set its initialization flag
- JDK-8272776: NullPointerException not reported
- JDK-8272791: java -XX:BlockZeroingLowLimit=1 crashes after 8270947
- JDK-8272809: JFR thread sampler SI_KERNEL SEGV in metaspace::VirtualSpaceList::contains
- JDK-8273043: [TEST_BUG] Automate NimbusJTreeSelTextColor.java
- JDK-8273108: RunThese24H crashes with SEGV in markWord::displaced_mark_helper() after JDK-8268276
- JDK-8273236: keytool does not accurately warn about algorithms that are disabled but have additional constraints
- JDK-8273380: ARM32: Default to {ldrexd,strexd} in StubRoutines::atomic_{load|store}_long
- JDK-8273459: Update code segment alignment to 64 bytes
- JDK-8273497: building.md should link to both md and html
- JDK-8273553: sun.security.ssl.SSLEngineImpl.closeInbound also has similar error of JDK-8253368
- JDK-8273578: javax/swing/JMenu/4515762/bug4515762.java fails on macOS 12
- JDK-8273685: Remove jtreg tag manual=yesno for java/awt/Graphics/LCDTextAndGraphicsState.java & show test instruction
- JDK-8273880: Zero: Print warnings when unsupported intrinsics are enabled
- JDK-8273881: Metaspace: test repeated deallocations
- JDK-8274029: Remove jtreg tag manual=yesno for java/awt/print/Dialog/DialogOrient.java
- JDK-8274032: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/ImagePrinting/ImageTypes.java & show test UI
- JDK-8274160: java/awt/Window/ShapedAndTranslucentWindows/Common.java delay is too high
- JDK-8274296: Update or Problem List tests which may fail with uiScale=2 on macOS
- JDK-8274456: Remove jtreg tag manual=yesno java/awt/print/PrinterJob/PageDialogTest.java
- JDK-8274527: Minimal VM build fails after JDK-8273459
- JDK-8274563: jfr/event/oldobject/TestClassLoaderLeak.java fails when GC cycles are not happening
- JDK-8274903: Zero: Support AsyncGetCallTrace
- JDK-8275170: Some jtreg sound tests should be marked with sound keyword
- JDK-8275234: java/awt/GraphicsDevice/DisplayModes/CycleDMImage.java is entered twice in ProblemList
- JDK-8275535: Retrying a failed authentication on multiple LDAP servers can lead to users blocked
- JDK-8275569: Add linux-aarch64 to test-make profiles
- JDK-8276108: Wrong instruction generation in aarch64 backend
- JDK-8276904: Optional.toString() is unnecessarily expensive
- JDK-8277092: TestMetaspaceAllocationMT2.java#ndebug-default fails with "RuntimeException: Committed seems high: NNNN expected at most MMMM"
- JDK-8277346: ProblemList 7 serviceability/sa tests on macosx-x64
- JDK-8277351: ProblemList runtime/jni/checked/TestPrimitiveArrayCriticalWithBadParam.java on macosx-x64
- JDK-8277358: Accelerate CRC32-C
- JDK-8277411: C2 fast_unlock intrinsic on AArch64 has unnecessary ownership check
- JDK-8277576: ProblemList runtime/ErrorHandling/CreateCoredumpOnCrash.java on macosx-X64
- JDK-8277577: ProblemList compiler/onSpinWait/TestOnSpinWaitAArch64DefaultFlags.java on linux-aarch64
- JDK-8277578: ProblemList applications/jcstress/acqrel.java on linux-aarch64
- JDK-8277866: gc/epsilon/TestMemoryMXBeans.java failed with wrong initial heap size
- JDK-8277881: Missing SessionID in TLS1.3 resumption in compatibility mode
- JDK-8277928: Fix compilation on macosx-aarch64 after 8276108
- JDK-8277970: Test jdk/sun/security/ssl/SSLSessionImpl/NoInvalidateSocketException.java fails with "tag mismatch"
- JDK-8278826: Print error if Shenandoah flags are empty (instead of crashing)
- JDK-8279066: entries.remove(entry) is useless in PKCS12KeyStore
- JDK-8279398: jdk/jfr/api/recording/time/TestTimeMultiple.java failed with "RuntimeException: getStopTime() > afterStop"
- JDK-8279536: jdk/nio/zipfs/ZipFSOutputStreamTest.java timed out
- JDK-8279662: serviceability/sa/ClhsdbScanOops.java can fail due to unexpected GC
- JDK-8279941: sun/security/pkcs11/Signature/TestDSAKeyLength.java fails when NSS version detection fails
- JDK-8280016: gc/g1/TestShrinkAuxiliaryData30 test fails on large machines
- JDK-8280124: Reduce branches decoding latin-1 chars from UTF-8 encoded bytes
- JDK-8280234: AArch64 "core" variant does not build after JDK-8270947
- JDK-8280391: NMT: Correct NMT tag on CollectedHeap
- JDK-8280511: AArch64: Combine shift and negate to a single instruction
- JDK-8280554: resourcehogs/serviceability/sa/ClhsdbRegionDetailsScanOopsForG1.java can fail if GC is triggered
- JDK-8280555: serviceability/sa/TestObjectMonitorIterate.java is failing due to ObjectMonitor referencing a null Object
- JDK-8280872: Reorder code cache segments to improve code density
- JDK-8280890: Cannot use '-Djava.system.class.loader' with class loader in signed JAR
- JDK-8280948: Write a regression test for JDK-4659800
- JDK-8281296: Create a regression test for JDK-4515999
- JDK-8281744: x86: Use short jumps in TIG::set_vtos_entry_points
- JDK-8282049: AArch64: Use ZR for integer zero immediate volatile stores
- JDK-8282276: Problem list failing two Robot Screen Capture tests
- JDK-8282347: AARCH64: Untaken branch in has_negatives stub
- JDK-8282398: EndingDotHostname.java test fails because SSL cert expired
- JDK-8282402: Create a regression test for JDK-4666101
- JDK-8282511: Use fixed certificate validation date in SSLExampleCert template
- JDK-8282528: AArch64: Incorrect replicate2L_zero rule
- JDK-8282600: SSLSocketImpl should not use user_canceled workaround when not necessary
- JDK-8282642: vmTestbase/gc/gctests/LoadUnloadGC2/LoadUnloadGC2.java fails intermittently with exit code 1
- JDK-8282730: LdapLoginModule throw NPE from logout method after login failure
- JDK-8282777: Create a Regression test for JDK-4515031
- JDK-8282857: Create a regression test for JDK-4702690
- JDK-8283059: Uninitialized warning in check_code.c with GCC 11.2
- JDK-8283199: Linux os::cpu_microcode_revision() stalls cold startup
- JDK-8283298: Make CodeCacheSegmentSize a product flag
- JDK-8283337: Posix signal handler modification warning triggering incorrectly
- JDK-8283353: compiler/c2/cr6865031/Test.java and compiler/runtime/Test6826736.java fails on x86_32
- JDK-8283383: [macos] a11y : Screen magnifier shows extra characters (0) at the end JButton accessibility name
- JDK-8283999: Update JMH devkit to 1.35
- JDK-8284533: Improve InterpreterCodelet data footprint
- JDK-8284681: compiler/c2/aarch64/TestFarJump.java fails with "RuntimeException: for CodeHeap < 250MB the far jump is expected to be encoded with a single branch instruction"
- JDK-8284690: [macos] VoiceOver : Getting java.lang.IllegalArgumentException: Invalid location on Editable JComboBox
- JDK-8284732: FFI_GO_CLOSURES macro not defined but required for zero build on Mac OS X
- JDK-8284752: Zero does not build on Mac OS X due to missing os::current_thread_enable_wx implementation
- JDK-8284771: java/util/zip/CloseInflaterDeflaterTest.java failed with "AssertionError: Expected IOException to be thrown, but nothing was thrown"
- JDK-8284892: java/net/httpclient/http2/TLSConnection.java fails intermittently
- JDK-8284980: Test vmTestbase/nsk/stress/except/except010.java times out with -Xcomp -XX:+DeoptimizeALot
- JDK-8285093: Introduce UTIL_ARG_WITH
- JDK-8285305: Create an automated test for JDK-4495286
- JDK-8285373: Create an automated test for JDK-4702233
- JDK-8285604: closed sun/java2d/GdiRendering/ClipShapeRendering.java failed with "Incorrect color ffeeeeee instead of ff0000ff in pixel (100, 100)"
- JDK-8285612: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/ImagePrinting/ClippedImages.java
- JDK-8285687: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/PageRangesDlgTest.java
- JDK-8285698: Create a test to check the focus stealing of JPopupMenu from JComboBox
- JDK-8285794: AsyncGetCallTrace might acquire a lock via JavaThread::thread_from_jni_environment
- JDK-8285836: sun/net/www/http/KeepAliveCache/KeepAliveProperty.java failed with "RuntimeException: Failed in server"
- JDK-8286172: Create an automated test for JDK-4516019
- JDK-8286263: compiler/c1/TestPinnedIntrinsics.java failed with "RuntimeException: testCurrentTimeMillis failed with -3"
- JDK-8286313: [macos] Voice over reads the boolean value as null in the JTable
- JDK-8286452: The array length of testSmallConstArray should be small and const
- JDK-8286460: Remove dependence on JAR filename in CDS tests
- JDK-8286551: JDK-8286460 causes tests to fail to compile in Tier2
- JDK-8286624: Regression Test CoordinateTruncationBug.java fails on OL8.3
- JDK-8286663: Resolve IDE warnings in WTrayIconPeer and SystemTray
- JDK-8286772: java/awt/dnd/DropTargetInInternalFrameTest/DropTargetInInternalFrameTest.html times out and fails in Windows
- JDK-8286872: Refactor add/modify notification icon (TrayIcon)
- JDK-8287011: Improve container information
- JDK-8287076: Document.normalizeDocument() produces different results
- JDK-8287349: AArch64: Merge LDR instructions to improve C1 OSR performance
- JDK-8287425: Remove unnecessary register push for MacroAssembler::check_klass_subtype_slow_path
- JDK-8287609: macOS: SIGSEGV at [CoreFoundation] CFArrayGetCount / sun.font.CFont.getTableBytesNative
- JDK-8287740: NSAccessibilityShowMenuAction not working for text editors
- JDK-8287826: javax/accessibility/4702233/AccessiblePropertiesTest.java fails to compile
- JDK-8288132: Update test artifacts in QuoVadis CA interop tests
- JDK-8288302: Shenandoah: SIGSEGV in vm maybe related to jit compiling xerces
- JDK-8288377: [REDO] DST not applying properly with zone id offset set with TZ env variable
- JDK-8288445: AArch64: C2 compilation fails with guarantee(!true || (true && (shift != 0))) failed: impossible encoding
- JDK-8288651: CDS test HelloUnload.java should not use literal string as ClassLoader name
- JDK-8289044: ARM32: missing LIR_Assembler::cmove metadata type support
- JDK-8289146: containers/docker/TestMemoryWithCgroupV1.java fails on linux ppc64le machine with missing Memory and Swap Limit output
- JDK-8289257: Some custom loader tests failed due to symbol refcount not decremented
- JDK-8289301: P11Cipher should not throw out of bounds exception during padding
- JDK-8289524: Add JFR JIT restart event
- JDK-8289559: java/awt/a11y/AccessibleJPopupMenuTest.java test fails with java.lang.NullPointerException
- JDK-8289562: Change bugs.java.com and bugreport.java.com URL's to https
- JDK-8290207: Missing notice in dom.md
- JDK-8290209: jcup.md missing additional text
- JDK-8290374: Shenandoah: Remove inaccurate comment on SBS::load_reference_barrier()
- JDK-8290451: Incorrect result when switching to C2 OSR compilation from C1
- JDK-8290529: C2: assert(BoolTest(btest).is_canonical()) failure
- JDK-8290532: Adjust PKCS11Exception and handle more PKCS11 error codes
- JDK-8290687: serviceability/sa/TestClassDump.java could leave files owned by root on macOS
- JDK-8290705: StringConcat::validate_mem_flow asserts with "unexpected user: StoreI"
- JDK-8290711: assert(false) failed: infinite loop in PhaseIterGVN::optimize
- JDK-8290781: Segfault at PhaseIdealLoop::clone_loop_handle_data_uses
- JDK-8290839: jdk/jfr/event/compiler/TestJitRestart.java failed with "RuntimeException: No JIT restart event found: expected true, was false"
- JDK-8290908: misc tests fail: assert(!thread->owns_locks()) failed: must release all locks when leaving VM
- JDK-8290920: sspi_bridge.dll not built if BUILD_CRYPTO is false
- JDK-8291456: com/sun/jdi/ClassUnloadEventTest.java failed with: Wrong number of class unload events: expected 10 got 4
- JDK-8291459: JVM crash with GenerateOopMap::error_work(char const*, __va_list_tag*)
- JDK-8291599: Assertion in PhaseIdealLoop::skeleton_predicate_has_opaque after JDK-8289127
- JDK-8291650: Add delay to ClassUnloadEventTest before exiting to give time for JVM to send all events before VMDeath
- JDK-8291775: C2: assert(r != __null && r->is_Region()) failed: this phi must have a region
- JDK-8292083: Detected container memory limit may exceed physical machine memory
- JDK-8292158: AES-CTR cipher state corruption with AVX-512
- JDK-8292385: assert(ctrl == kit.control()) failed: Control flow was added although the intrinsic bailed out
- JDK-8292541: [Metrics] Reported memory limit may exceed physical machine memory
- JDK-8292586: simplify cleanups in NTLMAuthSequence getCredentialsHandle
- JDK-8292682: Code change of JDK-8282730 not updated to reflect CSR update
- JDK-8292695: SIGQUIT and jcmd attaching mechanism does not work with signal chaining library
- JDK-8292778: EncodingSupport_md.c convertUtf8ToPlatformString wrong placing of free
- JDK-8292816: GPL Classpath exception missing from assemblyprefix.h
- JDK-8292866: Java_sun_awt_shell_Win32ShellFolder2_getLinkLocation check MultiByteToWideChar return value for failures
- JDK-8292879: com/sun/jdi/ClassUnloadEventTest.java failed due to classes not unloading
- JDK-8292880: Improve debuggee logging for com/sun/jdi/ClassUnloadEventTest.java
- JDK-8292888: Bump update version for OpenJDK: jdk-17.0.6
- JDK-8292899: CustomTzIDCheckDST.java testcase failed on AIX platform
- JDK-8292903: enhance round_up_power_of_2 assertion output
- JDK-8293010: JDI ObjectReference/referringObjects/referringObjects001 fails: assert(env->is_enabled(JVMTI_EVENT_OBJECT_FREE)) failed: checking
- JDK-8293044: C1: Missing access check on non-accessible class
- JDK-8293232: Fix race condition in pkcs11 SessionManager
- JDK-8293319: [C2 cleanup] Remove unused other_path arg in Parse::adjust_map_after_if
- JDK-8293472: Incorrect container resource limit detection if manual cgroup fs mounts present
- JDK-8293489: Accept CAs with BasicConstraints without pathLenConstraint
- JDK-8293535: jdk/javadoc/doclet/testJavaFX/TestJavaFxMode.java fail with jfx
- JDK-8293540: [Metrics] Incorrectly detected resource limits with additional cgroup fs mounts
- JDK-8293550: Optionally add get-task-allow entitlement to macos binaries
- JDK-8293578: Duplicate ldc generated by javac
- JDK-8293657: sun/management/jmxremote/bootstrap/RmiBootstrapTest.java#id1 failed with "SSLHandshakeException: Remote host terminated the handshake"
- JDK-8293659: Improve UnsatisfiedLinkError error message to include dlopen error details
- JDK-8293672: Update freetype md file
- JDK-8293701: jdeps InverseDepsAnalyzer runs into NoSuchElementException: No value present
- JDK-8293808: mscapi destroyKeyContainer enhance KeyStoreException: Access is denied exception
- JDK-8293815: P11PSSSignature.engineUpdate should not print debug messages during normal operation
- JDK-8293816: CI: ciBytecodeStream::get_klass() is not consistent
- JDK-8293826: Closed test fails after JDK-8276108 on aarch64
- JDK-8293828: JFR: jfr/event/oldobject/TestClassLoaderLeak.java still fails when GC cycles are not happening
- JDK-8293834: Update CLDR data following tzdata 2022c update
- JDK-8293891: gc/g1/mixedgc/TestOldGenCollectionUsage.java (still) assumes that GCs take 1ms minimum
- JDK-8293965: Code signing warnings after JDK-8293550
- JDK-8293998: [PPC64] JfrGetCallTrace: assert(_pc != nullptr) failed: must have PC
- JDK-8294307: ISO 4217 Amendment 173 Update
- JDK-8294310: compare.sh fails on macos after JDK-8293550
- JDK-8294357: (tz) Update Timezone Data to 2022d
- JDK-8294578: [PPC64] C2: Missing is_oop information when using disjoint compressed oops mode
- JDK-8294740: Add cgroups keyword to TestDockerBasic.java
- JDK-8294837: unify Windows 2019 version check in os_windows and java_props_md
- JDK-8294840: langtools OptionalDependencyTest.java use File.pathSeparator
- JDK-8295173: (tz) Update Timezone Data to 2022e
- JDK-8295288: Some vm_flags tests associate with a wrong BugID
- JDK-8295405: Add cause in a couple of IllegalArgumentException and InvalidParameterException shown by sun/security/pkcs11 tests
- JDK-8295412: support latest VS2022 MSC_VER in abstract_vm_version.cpp
- JDK-8295419: JFR: Change name of jdk.JitRestart
- JDK-8295429: Update harfbuzz md file
- JDK-8295469: S390X: Optimized builds are broken
- JDK-8295554: Move the "sizecalc.h" to the correct location
- JDK-8295641: Fix DEFAULT_PROMOTED_VERSION_PRE=ea for -dev
- JDK-8295714: GHA ::set-output is deprecated and will be removed
- JDK-8295872: [PPC64] JfrGetCallTrace: Need pc == nullptr check before frame constructor
- JDK-8295952: Problemlist existing compiler/rtm tests also on x86
- JDK-8296083: javax/swing/JTree/6263446/bug6263446.java fails intermittently on a VM
- JDK-8296108: (tz) Update Timezone Data to 2022f
- JDK-8296480: java/security/cert/pkix/policyChanges/TestPolicy.java is failing
- JDK-8296485: BuildEEBasicConstraints.java test fails with SunCertPathBuilderException
- JDK-8296496: Overzealous check in sizecalc.h prevents large memory allocation
- JDK-8296632: Write a test to verify the content change of TextArea sends TextEvent
- JDK-8296715: CLDR v42 update for tzdata 2022f
- JDK-8296733: JFR: File Read event for RandomAccessFile::write(byte[]) is incorrect
- JDK-8296945: PublicMethodsTest is slow due to dependency verification with debug builds
- JDK-8296956: [JVMCI] HotSpotResolvedJavaFieldImpl.getIndex returns wrong value
- JDK-8296957: One more cast in SAFE_SIZE_NEW_ARRAY2
- JDK-8296958: [JVMCI] add API for retrieving ConstantValue attributes
- JDK-8296960: [JVMCI] list HotSpotConstantPool.loadReferencedType to ConstantPool
- JDK-8296961: [JVMCI] Access to j.l.r.Method/Constructor/Field for ResolvedJavaMethod/ResolvedJavaField
- JDK-8296967: [JVMCI] rationalize relationship between getCodeSize and getCode in ResolvedJavaMethod
- JDK-8297147: UnexpectedSourceImageSize test times out on slow machines when fastdebug is used
- JDK-8297153: sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java fails again
- JDK-8297241: Update sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java
- JDK-8297309: Memory leak in ShenandoahFullGC
- JDK-8297481: Create a regression test for JDK-4424517
- JDK-8297530: java.lang.IllegalArgumentException: Negative length on strings concatenation
- JDK-8297590: [TESTBUG] HotSpotResolvedJavaFieldTest does not run
- JDK-8297656: AArch64: Enable AES/GCM Intrinsics
- JDK-8297804: (tz) Update Timezone Data to 2022g
Notes on individual issues:
===========================
security-libs/java.security:
JDK-8282730: New Implementation Note for LoginModule on Removing Null from a Principals or Credentials Set
==========================================================================================================
Back in OpenJDK 9, JDK-8015081 changed the Set implementation used to
hold principals and credentials so that it rejected null
values. Attempts to call add(null), contains(null) or remove(null)
were changed to throw a NullPointerException.
However, the logout() methods in the LoginModule implementations
within the JDK were not updated to check for null values, which may
occur in the event of a failed login. As a result, a logout() call may
throw a NullPointerException.
The LoginModule implementations have now been updated with such checks
and an implementation note added to the specification to suggest that
the same change is made in third party modules. Developers of third
party modules are advised to verify that their logout() method does not
throw a NullPointerException.
New in release OpenJDK 17.0.5 (2022-10-18):
===========================================
Live versions of these release notes can be found at:
* https://bitly.com/openjdk1705
* https://builds.shipilev.net/backports-monitor/release-notes-17.0.5.html
* Security fixes
- JDK-8282252: Improve BigInteger/Decimal validation
- JDK-8285662: Better permission resolution
- JDK-8286077, CVE-2022-21618: Wider MultiByte conversions
- JDK-8286511: Improve macro allocation
- JDK-8286519: Better memory handling
- JDK-8286526, CVE-2022-21619: Improve NTLM support
- JDK-8286910, CVE-2022-21624: Improve JNDI lookups
- JDK-8286918, CVE-2022-21628: Better HttpServer service
- JDK-8287446: Enhance icon presentations
- JDK-8288508: Enhance ECDSA usage
- JDK-8289366, CVE-2022-39399: Improve HTTP/2 client usage
- JDK-8289853: Update HarfBuzz to 4.4.1
- JDK-8290334: Update FreeType to 2.12.1
* Other changes
- JDK-6782021: It is not possible to read local computer certificates with the SunMSCAPI provider
- JDK-6854300: [TEST_BUG] java/awt/event/MouseEvent/SpuriousExitEnter/SpuriousExitEnter_3.java fails in jdk6u14 & jdk7
- JDK-7131823: bug in GIFImageReader
- JDK-8017175: [TESTBUG] javax/swing/JPopupMenu/4634626/bug4634626.java sometimes failed on mac
- JDK-8028265: Add legacy tz tests to OpenJDK
- JDK-8028998: [TEST_BUG] [macosx] java/awt/dnd/DropTargetEnterExitTest/MissedDragExitTest.java failed
- JDK-8079267: [TEST_BUG] Test java/awt/Frame/MiscUndecorated/RepaintTest.java fails
- JDK-8159694: HiDPI, Unity, java/awt/dnd/DropTargetEnterExitTest/MissedDragExitTest.java
- JDK-8169468: NoResizeEventOnDMChangeTest.java fails because FS Window didn't receive all resizes!
- JDK-8172065: javax/swing/JTree/4908142/bug4908142.java The selected index should be "aad"
- JDK-8178969: [TESTBUG] Wrong reporting of gc/g1/humongousObjects/TestHeapCounters test.
- JDK-8211002: test/jdk/java/lang/Math/PowTests.java skips testing for non-corner-case values
- JDK-8212096: javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java failed intermittently due to SSLException: Tag mismatch
- JDK-8223543: [TESTBUG] Regression test java/awt/Graphics2D/DrawString/LCDTextSrcEa.java has issues
- JDK-8225122: Test AncestorResized.java fails when Windows desktop is scaled.
- JDK-8227651: Tests fail with SSLProtocolException: Input record too big
- JDK-8240903: Add test to check that jmod hashes are reproducible
- JDK-8254318: Remove .hgtags
- JDK-8255724: [XRender] the BlitRotateClippedArea test fails on Linux in the XR pipeline
- JDK-8256844: Make NMT late-initializable
- JDK-8257534: misc tests failed with "NoClassDefFoundError: Could not initialize class java.util.concurrent.ThreadLocalRandom"
- JDK-8264666: Change implementation of safeAdd/safeMult in the LCMSImageLayout class
- JDK-8264792: The NumberFormat for locale sq_XK formats price incorrectly.
- JDK-8265360: several compiler/whitebox tests fail with "private compiler.whitebox.SimpleTestCaseHelper(int) must be compiled"
- JDK-8269039: Disable SHA-1 Signed JARs
- JDK-8269556: sun/tools/jhsdb/JShellHeapDumpTest.java fails with RuntimeException 'JShellToolProvider' missing from stdout/stderr
- JDK-8270090: C2: LCM may prioritize CheckCastPP nodes over projections
- JDK-8270312: Error: Not a test or directory containing tests: java/awt/print/PrinterJob/XparColor.java
- JDK-8271078: jdk/incubator/vector/Float128VectorTests.java failed a subtest
- JDK-8271344: Windows product version issue
- JDK-8272352: Java launcher can not parse Chinese character when system locale is set to UTF-8
- JDK-8272417: ZGC: fastdebug build crashes when printing ClassLoaderData
- JDK-8272736: [JVMCI] Add API for reading and writing JVMCI thread locals
- JDK-8272815: jpackage --type rpm produces an error: Invalid or unsupported type: [null]
- JDK-8273040: Turning off JpAllowDowngrades (or Upgrades)
- JDK-8273115: CountedLoopEndNode::stride_con crash in debug build with -XX:+TraceLoopOpts
- JDK-8273506: java Robot API did the 'm' keypress and caused /awt/event/KeyEvent/KeyCharTest/KeyCharTest.html is timing out on macOS 12
- JDK-8274434: move os::get_default_process_handle and os::dll_lookup to os_posix for POSIX platforms
- JDK-8274517: java/util/DoubleStreamSums/CompensatedSums.java fails with expected [true] but found [false]
- JDK-8274597: Some of the dnd tests time out and fail intermittently
- JDK-8274856: Failing jpackage tests with fastdebug/release build
- JDK-8275689: [TESTBUG] Use color tolerance only for XRender in BlitRotateClippedArea test
- JDK-8275887: jarsigner prints invalid digest/signature algorithm warnings if keysize is weak/disabled
- JDK-8276546: [IR Framework] Whitelist and ignore CompileThreshold
- JDK-8276837: [macos]: Error when signing the additional launcher
- JDK-8277429: Conflicting jpackage static library name
- JDK-8277493: [REDO] Quarantined jpackage apps are labeled as "damaged"
- JDK-8278067: Make HttpURLConnection default keep alive timeout configurable
- JDK-8278233: [macos] tools/jpackage tests timeout due to /usr/bin/osascript
- JDK-8278311: Debian packaging doesn't work
- JDK-8278609: [macos] accessibility frame is misplaced on a secondary monitor on macOS
- JDK-8278612: [macos] test/jdk/java/awt/dnd/RemoveDropTargetCrashTest crashes with VoiceOver on macOS
- JDK-8279032: compiler/loopopts/TestSkeletonPredicateNegation.java times out with -XX:TieredStopAtLevel < 4
- JDK-8279370: jdk.jpackage/share/native/applauncher/JvmLauncher.cpp fails to build with GCC 6.3.0
- JDK-8279622: C2: miscompilation of map pattern as a vector reduction
- JDK-8280233: Temporarily disable Unix domain sockets in Windows PipeImpl
- JDK-8280550: SplittableRandom#nextDouble(double,double) can return result >= bound
- JDK-8280696: C2 compilation hits assert(is_dominator(c, n_ctrl)) failed
- JDK-8280863: Update build README to reflect that MSYS2 is supported
- JDK-8280913: Create a regression test for JRootPane.setDefaultButton() method
- JDK-8280944: Enable Unix domain sockets in Windows Selector notification mechanism
- JDK-8280950: RandomGenerator:NextDouble() default behavior non conformant after JDK-8280550 fix
- JDK-8281181: Do not use CPU Shares to compute active processor count
- JDK-8281183: RandomGenerator:NextDouble() default behavior partially fixed by JDK-8280950
- JDK-8281297: TestStressG1Humongous fails with guarantee(is_range_uncommitted)
- JDK-8281535: Create a regression test for JDK-4670051
- JDK-8281569: Create tests for Frame.setMinimumSize() method
- JDK-8281628: KeyAgreement : generateSecret intermittently not resetting
- JDK-8281738: Create a regression test for checking the 'Space' key activation of focused Button
- JDK-8281745: Create a regression test for JDK-4514331
- JDK-8281988: Create a regression test for JDK-4618767
- JDK-8282007: Assorted enhancements to jpackage testing framework
- JDK-8282046: Create a regression test for JDK-8000326
- JDK-8282214: Upgrade JQuery to version 3.6.0
- JDK-8282234: Create a regression test for JDK-4532513
- JDK-8282280: Update Xerces to Version 2.12.2
- JDK-8282306: os::is_first_C_frame(frame*) crashes on invalid link access
- JDK-8282343: Create a regression test for JDK-4518432
- JDK-8282351: jpackage does not work if class file has `$$` in the name on windows
- JDK-8282407: Missing ')' in MacResources.properties
- JDK-8282467: add extra diagnostics for JDK-8268184
- JDK-8282477: [x86, aarch64] vmassert(_last_Java_pc == NULL, "already walkable"); fails with async profiler
- JDK-8282538: PKCS11 tests fail on CentOS Stream 9
- JDK-8282548: Create a regression test for JDK-4330998
- JDK-8282555: Missing memory edge when spilling MoveF2I, MoveD2L etc
- JDK-8282640: Create a test for JDK-4740761
- JDK-8282778: Create a regression test for JDK-4699544
- JDK-8282789: Create a regression test for the JTree usecase of JDK-4618767
- JDK-8282860: Write a regression test for JDK-4164779
- JDK-8282933: Create a test for JDK-4529616
- JDK-8282936: Write a regression test for JDK-4615365
- JDK-8282937: Write a regression test for JDK-4820080
- JDK-8282947: JFR: Dump on shutdown live-locks in some conditions
- JDK-8283015: Create a test for JDK-4715496
- JDK-8283087: Create a test or JDK-4715503
- JDK-8283245: Create a test for JDK-4670319
- JDK-8283277: ISO 4217 Amendment 171 Update
- JDK-8283441: C2: segmentation fault in ciMethodBlocks::make_block_at(int)
- JDK-8283457: [macos] libpng build failures with Xcode13.3
- JDK-8283493: Create an automated regression test for RFE 4231298
- JDK-8283507: Create a regression test for RFE 4287690
- JDK-8283562: JDK-8282306 breaks gtests on zero
- JDK-8283597: [REDO] Invalid generic signature for redefined classes
- JDK-8283621: Write a regression test for CCC4400728
- JDK-8283623: Create an automated regression test for JDK-4525475
- JDK-8283624: Create an automated regression test for RFE-4390885
- JDK-8283712: Create a manual test framework class
- JDK-8283723: Update Visual Studio 2022 to version 17.1.0 for Oracle builds on Windows
- JDK-8283803: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/PrintGlyphVectorTest.java and fix test
- JDK-8283849: AsyncGetCallTrace may crash JVM on guarantee
- JDK-8283903: GetContainerCpuLoad does not return the correct result in share mode
- JDK-8283911: DEFAULT_PROMOTED_VERSION_PRE not reset to 'ea' for jdk-17.0.4
- JDK-8284014: Menu items with submenus in JPopupMenu are not spoken on macOS
- JDK-8284067: jpackage'd launcher reports non-zero exit codes with error prompt
- JDK-8284077: Create an automated test for JDK-4170173
- JDK-8284294: Create an automated regression test for RFE 4138746
- JDK-8284358: Unreachable loop is not removed from C2 IR, leading to a broken graph
- JDK-8284367: JQuery UI upgrade from 1.12.1 to 1.13.1
- JDK-8284521: Write an automated regression test for RFE 4371575
- JDK-8284535: Fix PrintLatinCJKTest.java test that is failing with Parse Exception
- JDK-8284675: "jpackage.exe" creates application launcher without Windows Application Manfiest
- JDK-8284680: sun.font.FontConfigManager.getFontConfig() leaks charset
- JDK-8284686: Interval of < 1 ms disables ExecutionSample events
- JDK-8284694: Avoid evaluating SSLAlgorithmConstraints twice
- JDK-8284883: JVM crash: guarantee(sect->end() <= sect->limit()) failed: sanity on AVX512
- JDK-8284898: Enhance PassFailJFrame
- JDK-8284944: assert(cnt++ < 40) failed: infinite cycle in loop optimization
- JDK-8284950: CgroupV1 detection code should consider memory.swappiness
- JDK-8284956: Potential leak awtImageData/color_data when initializes X11GraphicsEnvironment
- JDK-8284977: MetricsTesterCgroupV2.getLongValueEntryFromFile fails when named value doesn't exist
- JDK-8285081: Improve XPath operators count accuracy
- JDK-8285097: Duplicate XML keys in XPATHErrorResources.java and XSLTErrorResources.java
- JDK-8285301: C2: assert(!requires_atomic_access) failed: can't ensure atomicity
- JDK-8285380: Fix typos in security
- JDK-8285398: Cache the results of constraint checks
- JDK-8285617: Fix java/awt/print/PrinterJob/ImagePrinting/PrintARGBImage.java manual test
- JDK-8285693: Create an automated test for JDK-4702199
- JDK-8285696: AlgorithmConstraints:permits not throwing IllegalArgumentException when 'alg' is null
- JDK-8285730: unify _WIN32_WINNT settings
- JDK-8285820: C2: LCM prioritizes locally dependent CreateEx nodes over projections after 8270090
- JDK-8285923: [REDO] JDK-8285802 AArch64: Consistently handle offsets in MacroAssembler as 64-bit quantities
- JDK-8286114: [test] show real exception in bomb call in sun/rmi/runtime/Log/checkLogging/CheckLogging.java
- JDK-8286122: [macos]: App bundle cannot upload to Mac App Store due to info.plist embedded in java exe
- JDK-8286177: C2: "failed: non-reduction loop contains reduction nodes" assert failure
- JDK-8286211: Update PCSC-Lite for Suse Linux to 1.9.5
- JDK-8286266: [macos] Voice over moving JTable column to be the first column JVM crashes
- JDK-8286277: CDS VerifyError when calling clone() on object array
- JDK-8286314: Trampoline not created for far runtime targets outside small CodeCache
- JDK-8286429: jpackageapplauncher build fails intermittently in Tier[45]
- JDK-8286573: Remove the unnecessary method Attr#attribTopLevel and its usage
- JDK-8286582: Build fails on macos aarch64 when using --with-zlib=bundled
- JDK-8286625: C2 fails with assert(!n->is_Store() && !n->is_LoadStore()) failed: no node with a side effect
- JDK-8286638: C2: CmpU needs to do more precise over/underflow analysis
- JDK-8286869: unify os::dir_is_empty across posix platforms
- JDK-8286870: Memory leak with RepeatCompilation
- JDK-8287016: Bump update version for OpenJDK: jdk-17.0.5
- JDK-8287073: NPE from CgroupV2Subsystem.getInstance()
- JDK-8287091: aarch64 : guarantee(val < (1ULL << nbits)) failed: Field too big for insn
- JDK-8287107: CgroupSubsystemFactory.setCgroupV2Path asserts with freezer controller
- JDK-8287113: JFR: Periodic task thread uses period for method sampling events
- JDK-8287125: [macos] Multiple jpackage tests fail/timeout on same host
- JDK-8287202: GHA: Add macOS aarch64 to the list of default platforms for workflow_dispatch event
- JDK-8287223: C1: Inlining attempt through MH::invokeBasic() with null receiver
- JDK-8287366: Improve test failure reporting in GHA
- JDK-8287396: LIR_Opr::vreg_number() and data() can return negative number
- JDK-8287432: C2: assert(tn->in(0) != __null) failed: must have live top node
- JDK-8287463: JFR: Disable TestDevNull.java on Windows
- JDK-8287663: Add a regression test for JDK-8287073
- JDK-8287672: jtreg test com/sun/jndi/ldap/LdapPoolTimeoutTest.java fails intermittently in nightly run
- JDK-8287724: Fix various issues with msys2
- JDK-8287735: Provide separate event category for dll operations
- JDK-8287741: Fix of JDK-8287107 (unused cgv1 freezer controller) was incomplete
- JDK-8287824: The MTPerLineTransformValidation tests has a typo in the @run tag
- JDK-8287895: Some langtools tests fail on msys2
- JDK-8287896: PropertiesTest.sh fail on msys2
- JDK-8287902: UnreadableRB case in MissingResourceCauseTest is not working reliably on Windows
- JDK-8287906: Rewrite of GitHub Actions (GHA) sanity tests
- JDK-8287917: System.loadLibrary does not work on Big Sur if JDK is built with macOS SDK 10.15 and earlier
- JDK-8288000: compiler/loopopts/TestOverUnrolling2.java fails with release VMs
- JDK-8288003: log events for os::dll_unload
- JDK-8288303: C1: Miscompilation due to broken Class.getModifiers intrinsic
- JDK-8288360: CI: ciInstanceKlass::implementor() is not consistent for well-known classes
- JDK-8288399: MacOS debug symbol files not always deterministic in reproducible builds
- JDK-8288467: remove memory_operand assert for spilled instructions
- JDK-8288499: Restore cancel-in-progress in GHA
- JDK-8288599: com/sun/management/OperatingSystemMXBean/TestTotalSwap.java: Expected total swap size ... but getTotalSwapSpaceSize returned ...
- JDK-8288754: GCC 12 fails to build zReferenceProcessor.cpp
- JDK-8288781: C1: LIR_OpVisitState::maxNumberOfOperands too small
- JDK-8288985: P11TlsKeyMaterialGenerator should work with ChaCha20-Poly1305
- JDK-8288992: AArch64: CMN should be handled the same way as CMP
- JDK-8289127: Apache Lucene triggers: DEBUG MESSAGE: duplicated predicate failed which is impossible
- JDK-8289147: unify os::infinite_sleep on posix platforms
- JDK-8289197: [17u] Push of backport of 8286177 did not remove assertion
- JDK-8289471: Issue in Initialization of keys in ErrorMsg.java and XPATHErrorResources.java
- JDK-8289477: Memory corruption with CPU_ALLOC, CPU_FREE on muslc
- JDK-8289486: Improve XSLT XPath operators count efficiency
- JDK-8289549: ISO 4217 Amendment 172 Update
- JDK-8289569: [test] java/lang/ProcessBuilder/Basic.java fails on Alpine/musl
- JDK-8289695: [TESTBUG] TestMemoryAwareness.java fails on cgroups v2 and crun
- JDK-8289697: buffer overflow in MTLVertexCache.m: MTLVertexCache_AddGlyphQuad
- JDK-8289799: Build warning in methodData.cpp memset zero-length parameter
- JDK-8289856: [PPC64] SIGSEGV in C2Compiler::init_c2_runtime() after JDK-8289060
- JDK-8289910: unify os::message_box across posix platforms
- JDK-8290000: Bump macOS GitHub actions to macOS 11
- JDK-8290004: [PPC64] JfrGetCallTrace: assert(_pc != nullptr) failed: must have PC
- JDK-8290020: Deadlock in leakprofiler::emit_events during shutdown
- JDK-8290082: [PPC64] ZGC C2 load barrier stub needs to preserve vector registers
- JDK-8290246: test fails "assert(init != __null) failed: initialization not found"
- JDK-8290417: CDS cannot archive lamda proxy with useImplMethodHandle
- JDK-8290456: remove os::print_statistics()
- JDK-8291595: [17u] Delete files missed in backport of 8269039
- JDK-8291633: Build failures with GCC 11, Alpine 3 due to incompatible casts from nullptr
- JDK-8292579: (tz) Update Timezone Data to 2022c
- JDK-8295056: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.5
Notes on individual issues:
===========================
core-libs/java.net:
JDK-8278067: Make HttpURLConnection Default Keep Alive Timeout Configurable
===========================================================================
Two system properties have been added which control the keep alive
behavior of HttpURLConnection in the case where the server does not
specify a keep alive time. Two properties are defined for controlling
connections to servers and proxies separately. They are:
* `http.keepAlive.time.server`
* `http.keepAlive.time.proxy`
respectively. More information about them can be found on the
Networking Properties page:
https://docs.oracle.com/en/java/javase/19/docs/api/java.base/java/net/doc-files/net-properties.html.
security-libs/javax.crypto:
JDK-6782021: Windows KeyStore Updated to Include Access to the Local Machine Location
=====================================================================================
The Windows KeyStore support in the SunMSCAPI provider has been
expanded to include access to the local machine location. The new
keystore types are:
* "Windows-MY-LOCALMACHINE"
* "Windows-ROOT-LOCALMACHINE"
The following keystore types were also added, allowing developers to
make it clear they map to the current user:
* "Windows-MY-CURRENTUSER" (same as "Windows-MY")
* "Windows-ROOT-CURRENTUSER" (same as "Windows-ROOT")
JDK-8286918: Better HttpServer service
======================================
The HttpServer can be optionally configured with a maximum connection
limit by setting the jdk.httpserver.maxConnections system property. A
value of 0 or a negative integer is ignored and considered to
represent no connection limit. In the case of a positive integer
value, any newly accepted connections will be first checked against
the current count of established connections and, if the configured
limit has been reached, then the newly accepted connection will be
closed immediately.
hotspot/runtime:
JDK-8281181: CPU Shares Ignored When Computing Active Processor Count
=====================================================================
Previous JDK releases used an incorrect interpretation of the Linux
cgroups parameter "cpu.shares". This might cause the JVM to use fewer
CPUs than available, leading to an under utilization of CPU resources
when the JVM is used inside a container.
Starting from this JDK release, by default, the JVM no longer
considers "cpu.shares" when deciding the number of threads to be used
by the various thread pools. The `-XX:+UseContainerCpuShares`
command-line option can be used to revert to the previous
behavior. This option is deprecated and may be removed in a future JDK
release.
security-libs/java.security:
JDK-8269039: Disabled SHA-1 Signed JARs
=======================================
JARs signed with SHA-1 algorithms are now restricted by default and
treated as if they were unsigned. This applies to the algorithms used
to digest, sign, and optionally timestamp the JAR. It also applies to
the signature and digest algorithms of the certificates in the
certificate chain of the code signer and the Timestamp Authority, and
any CRLs or OCSP responses that are used to verify if those
certificates have been revoked. These restrictions also apply to
signed JCE providers.
To reduce the compatibility risk for JARs that have been previously
timestamped, there is one exception to this policy:
- Any JAR signed with SHA-1 algorithms and timestamped prior to
January 01, 2019 will not be restricted.
This exception may be removed in a future JDK release. To determine if
your signed JARs are affected by this change, run:
$ jarsigner -verify -verbose -certs`
on the signed JAR, and look for instances of "SHA1" or "SHA-1" and
"disabled" and a warning that the JAR will be treated as unsigned in
the output.
For example:
Signed by "CN="Signer""
Digest algorithm: SHA-1 (disabled)
Signature algorithm: SHA1withRSA (disabled), 2048-bit key
WARNING: The jar will be treated as unsigned, because it is signed with a weak algorithm that is now disabled by the security property:
jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize < 1024, DSA keySize < 1024, SHA1 denyAfter 2019-01-01
JARs affected by these new restrictions should be replaced or
re-signed with stronger algorithms.
Users can, *at their own risk*, remove these restrictions by modifying
the `java.security` configuration file (or override it by using the
`java.security.properties` system property) and removing "SHA1 usage
SignedJAR & denyAfter 2019-01-01" from the
`jdk.certpath.disabledAlgorithms` security property and "SHA1
denyAfter 2019-01-01" from the `jdk.jar.disabledAlgorithms` security
property.
New in release OpenJDK 17.0.4.1 (2022-08-16):
===========================================
Live versions of these release notes can be found at:
* https://bit.ly/openjdk17041
* https://builds.shipilev.net/backports-monitor/release-notes-17.0.4.1.txt
* Other changes
- JDK-8292258: Bump update version for OpenJDK: jdk-17.0.4.1
- JDK-8292260: [BACKOUT] JDK-8279219: [REDO] C2 crash when allocating array of size too large
Notes on individual issues:
===========================
hotspot/compiler:
JDK-8292396: C2 Compilation Errors Unpredictably Crashes JVM
============================================================
Fixes a regression in the C2 JIT compiler which caused the Java
Runtime to crash unpredictably.
New in release OpenJDK 17.0.4 (2022-07-19):
===========================================
Live versions of these release notes can be found at:
* https://bitly.com/openjdk1704
* https://builds.shipilev.net/backports-monitor/release-notes-17.0.4.txt
* Security fixes
- JDK-8272243: Improve DER parsing
- JDK-8272249: Better properties of loaded Properties
- JDK-8273056, JDK-8283875, CVE-2022-21549: java.util.random does not correctly sample exponential or Gaussian distributions
- JDK-8277608: Address IP Addressing
- JDK-8281859, CVE-2022-21540: Improve class compilation
- JDK-8281866, CVE-2022-21541: Enhance MethodHandle invocations
- JDK-8283190: Improve MIDI processing
- JDK-8284370: Improve zlib usage
- JDK-8285407, CVE-2022-34169: Improve Xalan supports
* Other changes
- JDK-8139173: [macosx] JInternalFrame shadow is not properly drawn
- JDK-8181571: printing to CUPS fails on mac sandbox app
- JDK-8193682: Infinite loop in ZipOutputStream.close()
- JDK-8206187: javax/management/remote/mandatory/connection/DefaultAgentFilterTest.java fails with Port already in use
- JDK-8209776: Refactor jdk/security/JavaDotSecurity/ifdefs.sh to plain java test
- JDK-8214733: runtime/8176717/TestInheritFD.java timed out
- JDK-8236136: tests which use CompilationMode shouldn't be run w/ TieredStopAtLevel
- JDK-8240756: [macos] SwingSet2:TableDemo:Printed Japanese characters were garbled
- JDK-8249592: Robot.mouseMove moves cursor to incorrect location when display scale varies and Java runs in DPI Unaware mode
- JDK-8251904: vmTestbase/nsk/sysdict/vm/stress/btree/btree010/btree010.java fails with ClassNotFoundException: nsk.sysdict.share.BTree0LLRLRLRRLR
- JDK-8255266: Update Public Suffix List to 3c213aa
- JDK-8256368: Avoid repeated upcalls into Java to re-resolve MH/VH linkers/invokers
- JDK-8258814: Compilation logging crashes for thread suspension / debugging tests
- JDK-8263461: jdk/jfr/event/gc/detailed/TestEvacuationFailedEvent.java uses wrong mechanism to cause evacuation failure
- JDK-8263538: SharedArchiveConsistency.java should test -Xshare:auto as well
- JDK-8264605: vmTestbase/nsk/jvmti/SuspendThread/suspendthrd003/TestDescription.java failed with "agent_tools.cpp, 471: (foundThread = (jthread) jni_env->NewGlobalRef(foundThread)) != NULL"
- JDK-8265261: java/nio/file/Files/InterruptCopy.java fails with java.lang.RuntimeException: Copy was not interrupted
- JDK-8265317: [vector] assert(payload->is_object()) failed: expected 'object' value for scalar-replaced boxed vector but got: NULL
- JDK-8267163: Rename anonymous loader tests to hidden loader tests
- JDK-8268231: Aarch64: Use Ldp in intrinsics for String.compareTo
- JDK-8268558: [TESTBUG] Case 2 in TestP11KeyFactoryGetRSAKeySpec is skipped
- JDK-8268595: java/io/Serializable/serialFilter/GlobalFilterTest.java#id1 failed in timeout
- JDK-8268773: Improvements related to: Failed to start thread - pthread_create failed (EAGAIN)
- JDK-8268906: gc/g1/mixedgc/TestOldGenCollectionUsage.java assumes that GCs take 1ms minimum
- JDK-8269077: TestSystemGC uses "require vm.gc.G1" for large pages subtest
- JDK-8269129: Multiple tier1 tests in hotspot/jtreg/compiler are failing for client VMs
- JDK-8269135: TestDifferentProtectionDomains runs into timeout in client VM
- JDK-8269373: some tests in jdk/tools/launcher/ fails on localized Windows platform
- JDK-8269753: Misplaced caret in PatternSyntaxException's detail message
- JDK-8269933: test/jdk/javax/net/ssl/compatibility/JdkInfo incorrect verification of protocol and cipher support
- JDK-8270021: Incorrect log decorators in gc/g1/plab/TestPLABEvacuationFailure.java
- JDK-8270336: [TESTBUG] Fix initialization in NonbranchyTree
- JDK-8270435: UT: MonitorUsedDeflationThresholdTest failed: did not find too_many string in output
- JDK-8270468: TestRangeCheckEliminated fails because methods are not compiled
- JDK-8270797: ShortECDSA.java test is not complete
- JDK-8270837: fix typos in test TestSigParse.java
- JDK-8271008: appcds/*/MethodHandlesAsCollectorTest.java tests time out because of excessive GC (CodeCache GC Threshold) in loom
- JDK-8271055: Crash during deoptimization with "assert(bb->is_reachable()) failed: getting result from unreachable basicblock" with -XX:+VerifyStack
- JDK-8271224: runtime/EnclosingMethodAttr/EnclMethodAttr.java doesn't check exit code
- JDK-8271302: Regex Test Refresh
- JDK-8272146: Disable Fibonacci test on memory constrained systems
- JDK-8272168: some hotspot runtime/logging tests don't check exit code
- JDK-8272169: runtime/logging/LoaderConstraintsTest.java doesn't build test.Empty
- JDK-8272358: Some tests may fail when executed with other locales than the US
- JDK-8272493: Suboptimal code generation around Preconditions.checkIndex intrinsic with AVX2
- JDK-8272908: Missing coverage for certain classes in com.sun.org.apache.xml.internal.security
- JDK-8272964: java/nio/file/Files/InterruptCopy.java fails with java.lang.RuntimeException: Copy was not interrupted
- JDK-8273095: vmTestbase/vm/mlvm/anonloader/stress/oome/heap/Test.java fails with "wrong OOME"
- JDK-8273139: C2: assert(f <= 1 && f >= 0) failed: Incorrect frequency
- JDK-8273142: Remove dependancy of TestHttpServer, HttpTransaction, HttpCallback from open/test/jdk/sun/net/www/protocol/http/ tests
- JDK-8273169: java/util/regex/NegativeArraySize.java failed after JDK-8271302
- JDK-8273804: Platform.isTieredSupported should handle the no-compiler case
- JDK-8274172: Convert JavadocTester to use NIO
- JDK-8274233: Minor cleanup for ToolBox
- JDK-8274244: ReportOnImportedModuleAnnotation.java fails on rerun
- JDK-8274561: sun/net/ftp/TestFtpTimeValue.java timed out on slow machines
- JDK-8274687: JDWP deadlocks if some Java thread reaches wait in blockOnDebuggerSuspend
- JDK-8274735: javax.imageio.IIOException: Unsupported Image Type while processing a valid JPEG image
- JDK-8274751: Drag And Drop hangs on Windows
- JDK-8274855: vectorapi tests failing with assert(!vbox->is_Phi()) failed
- JDK-8274939: Incorrect size of the pixel storage is used by the robot on macOS
- JDK-8274983: C1 optimizes the invocation of private interface methods
- JDK-8275037: Test vmTestbase/nsk/sysdict/vm/stress/btree/btree011/btree011.java crashes with memory exhaustion on Windows
- JDK-8275337: C1: assert(false) failed: live_in set of first block must be empty
- JDK-8275638: GraphKit::combine_exception_states fails with "matching stack sizes" assert
- JDK-8275745: Reproducible copyright headers
- JDK-8275830: C2: Receiver downcast is missing when inlining through method handle linkers
- JDK-8275854: C2: assert(stride_con != 0) failed: missed some peephole opt
- JDK-8276260: (se) Remove java/nio/channels/Selector/Wakeup.java from ProblemList (win)
- JDK-8276657: XSLT compiler tries to define a class with empty name
- JDK-8276796: gc/TestSystemGC.java large pages subtest fails with ZGC
- JDK-8276825: hotspot/runtime/SelectionResolution test errors
- JDK-8276863: Remove test/jdk/sun/security/ec/ECDSAJavaVerify.java
- JDK-8276880: Remove java/lang/RuntimeTests/exec/ExecWithDir as unnecessary
- JDK-8276990: Memory leak in invoker.c fillInvokeRequest() during JDI operations
- JDK-8277055: Assert "missing inlining msg" with -XX:+PrintIntrinsics
- JDK-8277072: ObjectStreamClass caches keep ClassLoaders alive
- JDK-8277087: ZipException: zip END header not found at ZipFile#Source.findEND
- JDK-8277123: jdeps does not report some exceptions correctly
- JDK-8277165: jdeps --multi-release --print-module-deps fails if module-info.class in different versioned directories
- JDK-8277166: Data race in jdeps VersionHelper
- JDK-8277396: [TESTBUG] In DefaultButtonModelCrashTest.java, frame is accessed from main thread
- JDK-8277422: tools/jar/JarEntryTime.java fails with modified time mismatch
- JDK-8277893: Arraycopy stress tests
- JDK-8277906: Incorrect type for IV phi of long counted loops after CCP
- JDK-8277922: Unable to click JCheckBox in JTable through Java Access Bridge
- JDK-8278014: [vectorapi] Remove test run script
- JDK-8278065: Refactor subclassAudits to use ClassValue
- JDK-8278186: org.jcp.xml.dsig.internal.dom.Utils.parseIdFromSameDocumentURI throws StringIndexOutOfBoundsException when calling substring method
- JDK-8278472: Invalid value set to CANDIDATEFORM structure
- JDK-8278519: serviceability/jvmti/FieldAccessWatch/FieldAccessWatch.java failed "assert(handle != __null) failed: JNI handle should not be null"
- JDK-8278549: UNIX sun/font coding misses SUSE distro detection on recent distro SUSE 15
- JDK-8278766: Enable OpenJDK build support for reproducible jars and jmods using --date
- JDK-8278794: Infinite loop in DeflaterOutputStream.finish()
- JDK-8278796: Incorrect behavior of FloatVector.withLane on X86
- JDK-8278851: Correct signer logic for jars signed with multiple digestalgs
- JDK-8278948: compiler/vectorapi/reshape/TestVectorCastAVX1.java crashes in assembler
- JDK-8278966: two microbenchmarks tests fail "assert(!jvms->method()->has_exception_handlers()) failed: no exception handler expected" after JDK-8275638
- JDK-8279182: MakeZipReproducible ZipEntry timestamps not localized to UTC
- JDK-8279219: [REDO] C2 crash when allocating array of size too large
- JDK-8279227: Access Bridge: Wrong frame position and hit test result on HiDPI display
- JDK-8279356: Method linking fails with guarantee(mh->adapter() != NULL) failed: Adapter blob must already exist!
- JDK-8279437: [JVMCI] exception in HotSpotJVMCIRuntime.translate can exit the VM
- JDK-8279515: C1: No inlining through invokedynamic and invokestatic call sites when resolved class is not linked
- JDK-8279520: SPNEGO has not passed channel binding info into the underlying mechanism
- JDK-8279529: ProblemList java/nio/channels/DatagramChannel/ManySourcesAndTargets.java on macosx-aarch64
- JDK-8279532: ProblemList sun/security/ssl/SSLSessionImpl/NoInvalidateSocketException.java
- JDK-8279560: AArch64: generate_compare_long_string_same_encoding and LARGE_LOOP_PREFETCH alignment
- JDK-8279586: [macos] custom JCheckBox and JRadioBox with custom icon set: focus is still displayed after unchecking
- JDK-8279597: [TESTBUG] ReturnBlobToWrongHeapTest.java fails with -XX:TieredStopAtLevel=1 on machines with many cores
- JDK-8279668: x86: AVX2 versions of vpxor should be asserted
- JDK-8279822: CI: Constant pool entries in error state are not supported
- JDK-8279834: Alpine Linux fails to build when --with-source-date enabled
- JDK-8279837: C2: assert(is_Loop()) failed: invalid node class: Region
- JDK-8279842: HTTPS Channel Binding support for Java GSS/Kerberos
- JDK-8279958: Provide configure hints for Alpine/apk package managers
- JDK-8280004: DCmdArgument<jlong>::parse_value() should handle NULL input
- JDK-8280041: Retry loop issues in java.io.ClassCache
- JDK-8280123: C2: Infinite loop in CMoveINode::Ideal during IGVN
- JDK-8280401: [sspi] gss_accept_sec_context leaves output_token uninitialized
- JDK-8280476: [macOS] : hotspot arm64 bug exposed by latest clang
- JDK-8280543: Update the "java" and "jcmd" tool specification for CDS
- JDK-8280593: [PPC64, S390] redundant allocation of MacroAssembler in StubGenerator ctor
- JDK-8280600: C2: assert(!had_error) failed: bad dominance
- JDK-8280684: JfrRecorderService failes with guarantee(num_written > 0) when no space left on device.
- JDK-8280799: С2: assert(false) failed: cyclic dependency prevents range check elimination
- JDK-8280867: Cpuid1Ecx feature parsing is incorrect for AMD CPUs
- JDK-8280901: MethodHandle::linkToNative stub is missing w/ -Xint
- JDK-8280940: gtest os.release_multi_mappings_vm is racy
- JDK-8280941: os::print_memory_mappings() prints segment preceeding the inclusion range
- JDK-8280956: Re-examine copyright headers on files in src/java.desktop/macosx/native/libawt_lwawt/awt/a11y
- JDK-8280964: [Linux aarch64] : drawImage dithers TYPE_BYTE_INDEXED images incorrectly
- JDK-8281043: Intrinsify recursive ObjectMonitor locking for PPC64
- JDK-8281168: Micro-optimize VarForm.getMemberName for interpreter
- JDK-8281262: Windows builds in different directories are not fully reproducible
- JDK-8281266: [JVMCI] MetaUtil.toInternalName() doesn't handle hidden classes correctly
- JDK-8281274: deal with ActiveProcessorCount in os::Linux::print_container_info
- JDK-8281275: Upgrading from 8 to 11 no longer accepts '/' as filepath separator in gc paths
- JDK-8281318: Improve jfr/event/allocation tests reliability
- JDK-8281338: NSAccessibilityPressAction action for tree node and NSAccessibilityShowMenuAcgtion action not working
- JDK-8281450: Remove unnecessary operator new and delete from ObjectMonitor
- JDK-8281522: Rename ADLC classes which have the same name as hotspot variants
- JDK-8281544: assert(VM_Version::supports_avx512bw()) failed for Tests jdk/incubator/vector/
- JDK-8281615: Deadlock caused by jdwp agent
- JDK-8281638: jfr/event/allocation tests fail with release VMs after JDK-8281318 due to lack of -XX:+UnlockDiagnosticVMOptions
- JDK-8281771: Crash in java_lang_invoke_MethodType::print_signature
- JDK-8281811: assert(_base == Tuple) failed: Not a Tuple after JDK-8280799
- JDK-8281822: Test failures on non-DTrace builds due to incomplete DTrace* flags handling
- JDK-8282008: Incorrect handling of quoted arguments in ProcessBuilder
- JDK-8282045: When loop strip mining fails, safepoints are removed from loop anyway
- JDK-8282142: [TestCase] compiler/inlining/ResolvedClassTest.java will fail when --with-jvm-features=-compiler1
- JDK-8282170: JVMTI SetBreakpoint metaspace allocation test
- JDK-8282172: CompileBroker::log_metaspace_failure is called from non-Java/compiler threads
- JDK-8282225: GHA: Allow one concurrent run per PR only
- JDK-8282231: x86-32: runtime call to SharedRuntime::ldiv corrupts registers
- JDK-8282293: Domain value for system property jdk.https.negotiate.cbt should be case-insensitive
- JDK-8282295: SymbolPropertyEntry::set_method_type fails with assert
- JDK-8282312: Minor corrections to evbroadcasti32x4 intrinsic on x86
- JDK-8282345: handle latest VS2022 in abstract_vm_version
- JDK-8282382: Report glibc malloc tunables in error reports
- JDK-8282422: JTable.print() failed with UnsupportedCharsetException on AIX ko_KR locale
- JDK-8282444: Module finder incorrectly assumes default file system path-separator character
- JDK-8282499: Bump update version for OpenJDK: jdk-17.0.4
- JDK-8282509: [exploded image] ResolvedClassTest fails with similar output
- JDK-8282551: Properly initialize L32X64MixRandom state
- JDK-8282583: Update BCEL md to include the copyright notice
- JDK-8282590: C2: assert(addp->is_AddP() && addp->outcnt() > 0) failed: Don't process dead nodes
- JDK-8282592: C2: assert(false) failed: graph should be schedulable
- JDK-8282628: Potential memory leak in sun.font.FontConfigManager.getFontConfig()
- JDK-8282874: Bad performance on gather/scatter API caused by different IntSpecies of indexMap
- JDK-8282887: Potential memory leak in sun.util.locale.provider.HostLocaleProviderAdapterImpl.getNumberPattern() on Windows
- JDK-8282929: Localized monetary symbols are not reflected in `toLocalizedPattern` return value
- JDK-8283017: GHA: Workflows break with update release versions
- JDK-8283187: C2: loop candidate for superword not always unrolled fully if superword fails
- JDK-8283217: Leak FcObjectSet in getFontConfigLocations() in fontpath.c
- JDK-8283249: CompressedClassPointers.java fails on ppc with 'Narrow klass shift: 0' missing
- JDK-8283279: [Testbug] Improve TestGetSwapSpaceSize
- JDK-8283315: jrt-fs.jar not always deterministically built
- JDK-8283323: libharfbuzz optimization level results in extreme build times
- JDK-8283347: [macos] Bad JNI lookup accessibilityHitTest is shown when Screen magnifier is enabled
- JDK-8283350: (tz) Update Timezone Data to 2022a
- JDK-8283408: Fix a C2 crash when filling arrays with unsafe
- JDK-8283422: Create a new test for JDK-8254790
- JDK-8283451: C2: assert(_base == Long) failed: Not a Long
- JDK-8283469: Don't use memset to initialize members in FileMapInfo and fix memory leak
- JDK-8283497: [windows] print TMP and TEMP in hs_err and VM.info
- JDK-8283641: Large value for CompileThresholdScaling causes assert
- JDK-8283725: Launching java with "-Xlog:gc*=trace,safepoint*=trace,class*=trace" crashes the JVM
- JDK-8283834: Unmappable character for US-ASCII encoding in TestPredicateInputBelowLoopPredicate
- JDK-8284023: java.sun.awt.X11GraphicsDevice.getDoubleBufferVisuals() leaks XdbeScreenVisualInfo
- JDK-8284033: Leak XVisualInfo in getAllConfigs in awt_GraphicsEnv.c
- JDK-8284094: Memory leak in invoker_completeInvokeRequest()
- JDK-8284369: TestFailedAllocationBadGraph fails with -XX:TieredStopAtLevel < 4
- JDK-8284389: Improve stability of GHA Pre-submit testing by caching cygwin installer
- JDK-8284437: Building from different users/workspace is not always deterministic
- JDK-8284458: CodeHeapState::aggregate() leaks blob_name
- JDK-8284507: GHA: Only check test results if testing was not skipped
- JDK-8284532: Memory leak in BitSet::BitMapFragmentTable in JFR leak profiler
- JDK-8284549: JFR: FieldTable leaks FieldInfoTable member
- JDK-8284603: [17u] Update Boot JDK used in GHA to 17.0.2
- JDK-8284620: CodeBuffer may leak _overflow_arena
- JDK-8284622: Update versions of some Github Actions used in JDK workflow
- JDK-8284661: Reproducible assembly builds without relative linking
- JDK-8284754: print more interesting env variables in hs_err and VM.info
- JDK-8284758: [linux] improve print_container_info
- JDK-8284848: C2: Compiler blackhole arguments should be treated as globally escaping
- JDK-8284866: Add test to JDK-8273056
- JDK-8284884: Replace polling with waiting in javax/swing/text/html/parser/Parser/8078268/bug8078268.java
- JDK-8284992: Fix misleading Vector API doc for LSHR operator
- JDK-8285342: Zero build failure with clang due to values not handled in switch
- JDK-8285394: Compiler blackholes can be eliminated due to stale ciMethod::intrinsic_id()
- JDK-8285397: JNI exception pending in CUPSfuncs.c:250
- JDK-8285445: cannot open file "NUL:"
- JDK-8285515: (dc) DatagramChannel.disconnect fails with "Invalid argument" on macOS 12.4
- JDK-8285523: Improve test java/io/FileOutputStream/OpenNUL.java
- JDK-8285686: Update FreeType to 2.12.0
- JDK-8285726: [11u, 17u] Unify fix for JDK-8284548 with version from head
- JDK-8285727: [11u, 17u] Unify fix for JDK-8284920 with version from head
- JDK-8285728: Alpine Linux build fails with busybox tar
- JDK-8285828: runtime/execstack/TestCheckJDK.java fails with zipped debug symbols
- JDK-8285921: serviceability/dcmd/jvmti/AttachFailed/AttachReturnError.java fails on Alpine
- JDK-8285956: (fs) Excessive default poll interval in PollingWatchService
- JDK-8286013: Incorrect test configurations for compiler/stable/TestStableShort.java
- JDK-8286029: Add classpath exemption to globals_vectorApiSupport_***.S.inc
- JDK-8286198: [linux] Fix process-memory information
- JDK-8286293: Tests ShortResponseBody and ShortResponseBodyWithRetry should use less resources
- JDK-8286444: javac errors after JDK-8251329 are not helpful enough to find root cause
- JDK-8286594: (zipfs) Mention paths with dot elements in ZipException and cleanups
- JDK-8286601: Mac Aarch: Excessive warnings to be ignored for build jdk
- JDK-8286855: javac error on invalid jar should only print filename
- JDK-8287109: Distrust.java failed with CertificateExpiredException
- JDK-8287119: Add Distrust.java to ProblemList
- JDK-8287162: (zipfs) Performance regression related to support for POSIX file permissions
- JDK-8287336: GHA: Workflows break on patch versions
- JDK-8287362: FieldAccessWatch testcase failed on AIX platform
- JDK-8287378: GHA: Update cygwin to fix issues in langtools tests on Windows
Notes on individual issues:
===========================
core-libs/java.net:
JDK-8285240: HTTPS Channel Binding support for Java GSS/Kerberos
================================================================
Support has been added for TLS channel binding tokens for
Negotiate/Kerberos authentication over HTTPS through
javax.net.HttpsURLConnection.
Channel binding tokens are increasingly required as an enhanced form
of security which can mitigate certain kinds of socially engineered,
man in the middle (MITM) attacks. They work by communicating from a
client to a server the client's understanding of the binding between
connection security (as represented by a TLS server cert) and higher
level authentication credentials (such as a username and
password). The server can then detect if the client has been fooled by
a MITM and shutdown the session/connection.
The feature is controlled through a new system property
`jdk.https.negotiate.cbt` which is described fully at the following
page:
https://docs.oracle.com/en/java/javase/19/docs/api/java.base/java/net/doc-files/net-properties.html#jdk.https.negotiate.cbt
core-libs/java.lang:
JDK-8283137: Incorrect handling of quoted arguments in ProcessBuilder
=====================================================================
ProcessBuilder on Windows is restored to address a regression caused
by JDK-8250568. Previously, an argument to ProcessBuilder that
started with a double-quote and ended with a backslash followed by a
double-quote was passed to a command incorrectly and may cause the
command to fail. For example the argument `"C:\\Program Files\"`,
would be seen by the command with extra double-quotes. This update
restores the long standing behavior that does not treat the backslash
before the final double-quote specially.
core-libs/java.util.jar:
JDK-8278386: Default JDK compressor will be closed when IOException is encountered
==================================================================================
`DeflaterOutputStream.close()` and `GZIPOutputStream.finish()` methods
have been modified to close out the associated default JDK compressor
before propagating a Throwable up the
stack. `ZIPOutputStream.closeEntry()` method has been modified to
close out the associated default JDK compressor before propagating an
IOException, not of type ZipException, up the stack.
core-libs/java.io:
JDK-8285660: New System Property to Disable Windows Alternate Data Stream Support in java.io.File
=================================================================================================
The Windows implementation of `java.io.File` allows access to NTFS
Alternate Data Streams (ADS) by default. Such streams have a structure
like “filename:streamname”. A system property `jdk.io.File.enableADS`
has been added to control this behavior. To disable ADS support in
`java.io.File`, the system property `jdk.io.File.enableADS` should be
set to `false` (case ignored). Stricter path checking however prevents
the use of special devices such as `NUL:`
New in release OpenJDK 17.0.3 (2022-04-19):
===========================================
Live versions of these release notes can be found at:

View File

@ -1,3 +1,20 @@
/* TestSecurityProperties -- Ensure system security properties can be used to
enable the crypto policies.
Copyright (C) 2022 Red Hat, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import java.io.File;
import java.io.FileInputStream;
import java.security.Security;

View File

@ -0,0 +1,160 @@
/* TestTranslations -- Ensure translations are available for new timezones
Copyright (C) 2022 Red Hat, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import java.text.DateFormatSymbols;
import java.time.ZoneId;
import java.time.format.TextStyle;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Locale;
import java.util.Objects;
import java.util.TimeZone;
public class TestTranslations {
private static Map<Locale,String[]> KYIV, CIUDAD_JUAREZ;
static {
Map<Locale,String[]> map = new HashMap<Locale,String[]>();
map.put(Locale.US, new String[] { "Eastern European Standard Time", "GMT+02:00", "EET",
"Eastern European Summer Time", "GMT+03:00", "EEST",
"Eastern European Time", "GMT+02:00", "EET"});
map.put(Locale.FRANCE, new String[] { "heure normale d\u2019Europe de l\u2019Est", "UTC+02:00", "EET",
"heure d\u2019\u00e9t\u00e9 d\u2019Europe de l\u2019Est", "UTC+03:00", "EEST",
"heure d\u2019Europe de l\u2019Est", "UTC+02:00", "EET"});
map.put(Locale.GERMANY, new String[] { "Osteurop\u00e4ische Normalzeit", "OEZ", "OEZ",
"Osteurop\u00e4ische Sommerzeit", "OESZ", "OESZ",
"Osteurop\u00e4ische Zeit", "OEZ", "OEZ"});
KYIV = Collections.unmodifiableMap(map);
map = new HashMap<Locale,String[]>();
map.put(Locale.US, new String[] { "Mountain Standard Time", "MST", "MST",
"Mountain Daylight Time", "MDT", "MDT",
"Mountain Time", "MT", "MT"});
map.put(Locale.FRANCE, new String[] { "heure normale des Rocheuses", "UTC\u221207:00", "MST",
"heure d\u2019\u00e9t\u00e9 des Rocheuses", "UTC\u221206:00", "MDT",
"heure des Rocheuses", "UTC\u221207:00", "MT"});
map.put(Locale.GERMANY, new String[] { "Rocky Mountain-Normalzeit", "GMT-07:00", "MST",
"Rocky-Mountain-Sommerzeit", "GMT-06:00", "MDT",
"Rocky-Mountain-Zeit", "GMT-07:00", "MT"});
CIUDAD_JUAREZ = Collections.unmodifiableMap(map);
}
public static void main(String[] args) {
if (args.length < 1) {
System.err.println("Test must be started with the name of the locale provider.");
System.exit(1);
}
System.out.println("Checking sanity of full zone string set...");
boolean invalid = Arrays.stream(Locale.getAvailableLocales())
.peek(l -> System.out.println("Locale: " + l))
.map(l -> DateFormatSymbols.getInstance(l).getZoneStrings())
.flatMap(zs -> Arrays.stream(zs))
.flatMap(names -> Arrays.stream(names))
.filter(name -> Objects.isNull(name) || name.isEmpty())
.findAny()
.isPresent();
if (invalid) {
System.err.println("Zone string for a locale returned null or empty string");
System.exit(2);
}
String localeProvider = args[0];
testZone(localeProvider, KYIV,
new String[] { "Europe/Kiev", "Europe/Kyiv", "Europe/Uzhgorod", "Europe/Zaporozhye" });
testZone(localeProvider, CIUDAD_JUAREZ,
new String[] { "America/Cambridge_Bay", "America/Ciudad_Juarez" });
}
private static void testZone(String localeProvider, Map<Locale,String[]> exp, String[] ids) {
for (Locale l : exp.keySet()) {
String[] expected = exp.get(l);
System.out.printf("Expected values for %s are %s\n", l, Arrays.toString(expected));
for (String id : ids) {
String expectedShortStd = null;
String expectedShortDST = null;
String expectedShortGen = null;
System.out.printf("Checking locale %s for %s...\n", l, id);
if ("JRE".equals(localeProvider)) {
expectedShortStd = expected[2];
expectedShortDST = expected[5];
expectedShortGen = expected[8];
} else if ("CLDR".equals(localeProvider)) {
expectedShortStd = expected[1];
expectedShortDST = expected[4];
expectedShortGen = expected[7];
} else {
System.err.printf("Invalid locale provider %s\n", localeProvider);
System.exit(3);
}
System.out.printf("Locale Provider is %s, using short values %s, %s and %s\n",
localeProvider, expectedShortStd, expectedShortDST, expectedShortGen);
String longStd = TimeZone.getTimeZone(id).getDisplayName(false, TimeZone.LONG, l);
String shortStd = TimeZone.getTimeZone(id).getDisplayName(false, TimeZone.SHORT, l);
String longDST = TimeZone.getTimeZone(id).getDisplayName(true, TimeZone.LONG, l);
String shortDST = TimeZone.getTimeZone(id).getDisplayName(true, TimeZone.SHORT, l);
String longGen = ZoneId.of(id).getDisplayName(TextStyle.FULL, l);
String shortGen = ZoneId.of(id).getDisplayName(TextStyle.SHORT, l);
if (!expected[0].equals(longStd)) {
System.err.printf("Long standard display name for %s in %s was %s, expected %s\n",
id, l, longStd, expected[0]);
System.exit(4);
}
if (!expectedShortStd.equals(shortStd)) {
System.err.printf("Short standard display name for %s in %s was %s, expected %s\n",
id, l, shortStd, expectedShortStd);
System.exit(5);
}
if (!expected[3].equals(longDST)) {
System.err.printf("Long DST display name for %s in %s was %s, expected %s\n",
id, l, longDST, expected[3]);
System.exit(6);
}
if (!expectedShortDST.equals(shortDST)) {
System.err.printf("Short DST display name for %s in %s was %s, expected %s\n",
id, l, shortDST, expectedShortDST);
System.exit(7);
}
if (!expected[6].equals(longGen)) {
System.err.printf("Long generic display name for %s in %s was %s, expected %s\n",
id, l, longGen, expected[6]);
System.exit(8);
}
if (!expectedShortGen.equals(shortGen)) {
System.err.printf("Short generic display name for %s in %s was %s, expected %s\n",
id, l, shortGen, expectedShortGen);
System.exit(9);
}
}
}
}
}

View File

@ -1,26 +0,0 @@
diff --git openjdk.orig/src/java.naming/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java openjdk/src/java.naming/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java
index 70903206ea0..09956084cf9 100644
--- openjdk.orig/src/java.naming/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java
+++ openjdk/src/java.naming/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java
@@ -189,6 +189,10 @@ public final class LdapCtxFactory implements ObjectFactory, InitialContextFactor
ctx = getLdapCtxFromUrl(
r.getDomainName(), url, new LdapURL(u), env);
return ctx;
+ } catch (AuthenticationException e) {
+ // do not retry on a different endpoint to avoid blocking
+ // the user if authentication credentials are wrong.
+ throw e;
} catch (NamingException e) {
// try the next element
lastException = e;
@@ -241,6 +245,10 @@ public final class LdapCtxFactory implements ObjectFactory, InitialContextFactor
for (String u : urls) {
try {
return getUsingURL(u, env);
+ } catch (AuthenticationException e) {
+ // do not retry on a different URL to avoid blocking
+ // the user if authentication credentials are wrong.
+ throw e;
} catch (NamingException e) {
ex = e;
}

View File

@ -1,8 +0,0 @@
name = NSS-FIPS
nssLibraryDirectory = @NSS_LIBDIR@
nssSecmodDirectory = sql:/etc/pki/nssdb
nssDbMode = readOnly
nssModule = fips
attributes(*,CKO_SECRET_KEY,CKK_GENERIC_SECRET)={ CKA_SIGN=true }

View File

@ -5,6 +5,7 @@ TREE=${1}
TYPE=${2}
ZIP_SRC=src/java.base/share/native/libzip/zlib/
FREETYPE_SRC=src/java.desktop/share/native/libfreetype/
JPEG_SRC=src/java.desktop/share/native/libjavajpeg/
GIF_SRC=src/java.desktop/share/native/libsplashscreen/giflib/
PNG_SRC=src/java.desktop/share/native/libsplashscreen/libpng/
@ -31,15 +32,21 @@ cd ${TREE}
echo "Removing built-in libs (they will be linked)"
# On full runs, allow for zlib having already been deleted by minimal
# On full runs, allow for zlib & freetype having already been deleted by minimal
echo "Removing zlib"
if [ "x${TYPE}" = "xminimal" -a ! -d ${ZIP_SRC} ]; then
echo "${ZIP_SRC} does not exist. Refusing to proceed."
exit 1
fi
rm -rvf ${ZIP_SRC}
echo "Removing freetype"
if [ "x${TYPE}" = "xminimal" -a ! -d ${FREETYPE_SRC} ]; then
echo "${FREETYPE_SRC} does not exist. Refusing to proceed."
exit 1
fi
rm -rvf ${FREETYPE_SRC}
# Minimal is limited to just zlib so finish here
# Minimal is limited to just zlib and freetype so finish here
if test "x${TYPE}" = "xminimal"; then
echo "Finished.";
exit 0;

File diff suppressed because it is too large Load Diff