Compare commits
No commits in common. "c9s" and "changed/a10s/java-21-openjdk-21.0.6.0.7-2.el10.alma.1" have entirely different histories.
c9s
...
changed/a1
6
.gitignore
vendored
6
.gitignore
vendored
@ -28,9 +28,3 @@
|
||||
/openjdk-21.0.5+11.tar.xz
|
||||
/openjdk-21.0.6+6-ea.tar.xz
|
||||
/openjdk-21.0.6+7.tar.xz
|
||||
/openjdk-21.0.7+1-ea.tar.xz
|
||||
/openjdk-21.0.7+2-ea.tar.xz
|
||||
/openjdk-21.0.7+3-ea.tar.xz
|
||||
/openjdk-21.0.7+4-ea.tar.xz
|
||||
/openjdk-21.0.7+5-ea.tar.xz
|
||||
/openjdk-21.0.7+6.tar.xz
|
||||
|
352
NEWS
352
NEWS
@ -3,358 +3,6 @@ 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 21.0.7 (2025-04-15):
|
||||
===========================================
|
||||
Live versions of these release notes can be found at:
|
||||
* https://bit.ly/openjdk2107
|
||||
|
||||
* CVEs
|
||||
- CVE-2025-21587
|
||||
- CVE-2025-30691
|
||||
- CVE-2025-30698
|
||||
* Changes
|
||||
- JDK-8198237: [macos] Test java/awt/Frame/ExceptionOnSetExtendedStateTest/ExceptionOnSetExtendedStateTest.java fails
|
||||
- JDK-8211851: (ch) java/nio/channels/AsynchronousSocketChannel/StressLoopback.java times out (aix)
|
||||
- JDK-8226933: [TEST_BUG]GTK L&F: There is no swatches or RGB tab in JColorChooser
|
||||
- JDK-8226938: [TEST_BUG]GTK L&F: There is no Details button in FileChooser Dialog
|
||||
- JDK-8227529: With malformed --app-image the error messages are awful
|
||||
- JDK-8277240: java/awt/Graphics2D/ScaledTransform/ScaledTransform.java dialog does not get disposed
|
||||
- JDK-8283664: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/PrintTextTest.java
|
||||
- JDK-8286875: ProgrammableUpcallHandler::on_entry/on_exit access thread fields from native
|
||||
- JDK-8293345: SunPKCS11 provider checks on PKCS11 Mechanism are problematic
|
||||
- JDK-8294316: SA core file support is broken on macosx-x64 starting with macOS 12.x
|
||||
- JDK-8295159: DSO created with -ffast-math breaks Java floating-point arithmetic
|
||||
- JDK-8302111: Serialization considerations
|
||||
- JDK-8304701: Request with timeout aborts later in-flight request on HTTP/1.1 cxn
|
||||
- JDK-8309841: Jarsigner should print a warning if an entry is removed
|
||||
- JDK-8311546: Certificate name constraints improperly validated with leading period
|
||||
- JDK-8312570: [TESTBUG] Jtreg compiler/loopopts/superword/TestDependencyOffsets.java fails on 512-bit SVE
|
||||
- JDK-8313633: [macOS] java/awt/dnd/NextDropActionTest/NextDropActionTest.java fails with java.lang.RuntimeException: wrong next drop action!
|
||||
- JDK-8313905: Checked_cast assert in CDS compare_by_loader
|
||||
- JDK-8314752: Use google test string comparison macros
|
||||
- JDK-8314909: tools/jpackage/windows/Win8282351Test.java fails with java.lang.AssertionError: Expected [0]. Actual [1618]:
|
||||
- JDK-8315486: vmTestbase/nsk/jdwp/ThreadReference/ForceEarlyReturn/forceEarlyReturn002/forceEarlyReturn002.java timed out
|
||||
- JDK-8315825: Open some swing tests
|
||||
- JDK-8315882: Open some swing tests 2
|
||||
- JDK-8315883: Open source several Swing JToolbar tests
|
||||
- JDK-8315952: Open source several Swing JToolbar JTooltip JTree tests
|
||||
- JDK-8316056: Open source several Swing JTree tests
|
||||
- JDK-8316146: Open some swing tests 4
|
||||
- JDK-8316149: Open source several Swing JTree JViewport KeyboardManager tests
|
||||
- JDK-8316218: Open some swing tests 5
|
||||
- JDK-8316371: Open some swing tests 6
|
||||
- JDK-8316627: JViewport Test headless failure
|
||||
- JDK-8316885: jcmd: Compiler.CodeHeap_Analytics cmd does not inform about missing aggregate
|
||||
- JDK-8317283: jpackage tests run osx-specific checks on windows and linux
|
||||
- JDK-8317636: Improve heap walking API tests to verify correctness of field indexes
|
||||
- JDK-8317808: HTTP/2 stream cancelImpl may leave subscriber registered
|
||||
- JDK-8317919: pthread_attr_init handle return value and destroy pthread_attr_t object
|
||||
- JDK-8319233: AArch64: Build failure with clang due to -Wformat-nonliteral warning
|
||||
- JDK-8320372: test/jdk/sun/security/x509/DNSName/LeadingPeriod.java validity check failed
|
||||
- JDK-8320676: Manual printer tests have no Pass/Fail buttons, instructions close set 1
|
||||
- JDK-8320691: Timeout handler on Windows takes 2 hours to complete
|
||||
- JDK-8320706: RuntimePackageTest.testUsrInstallDir test fails on Linux
|
||||
- JDK-8320916: jdk/jfr/event/gc/stacktrace/TestParallelMarkSweepAllocationPendingStackTrace.java failed with "OutOfMemoryError: GC overhead limit exceeded"
|
||||
- JDK-8321818: vmTestbase/nsk/stress/strace/strace015.java failed with 'Cannot read the array length because "<local4>" is null'
|
||||
- JDK-8322983: Virtual Threads: exclude 2 tests
|
||||
- JDK-8324672: Update jdk/java/time/tck/java/time/TCKInstant.java now() to be more robust
|
||||
- JDK-8324807: Manual printer tests have no Pass/Fail buttons, instructions close set 2
|
||||
- JDK-8324838: test_nmt_locationprinting.cpp broken in the gcc windows build
|
||||
- JDK-8325042: Remove unused JVMDITools test files
|
||||
- JDK-8325529: Remove unused imports from `ModuleGenerator` test file
|
||||
- JDK-8325659: Normalize Random usage by incubator vector tests
|
||||
- JDK-8325937: runtime/handshake/HandshakeDirectTest.java causes "monitor end should be strictly below the frame pointer" assertion failure on AArch64
|
||||
- JDK-8326421: Add jtreg test for large arrayCopy disjoint case.
|
||||
- JDK-8326525: com/sun/tools/attach/BasicTests.java does not verify AgentLoadException case
|
||||
- JDK-8327098: GTest needs larger combination limit
|
||||
- JDK-8327390: JitTester: Implement temporary folder functionality
|
||||
- JDK-8327460: Compile tests with the same visibility rules as product code
|
||||
- JDK-8327476: Upgrade JLine to 3.26.1
|
||||
- JDK-8327505: Test com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.java fails
|
||||
- JDK-8327857: Remove applet usage from JColorChooser tests Test4222508
|
||||
- JDK-8327859: Remove applet usage from JColorChooser tests Test4319113
|
||||
- JDK-8327986: ASAN reports use-after-free in DirectivesParserTest.empty_object_vm
|
||||
- JDK-8327994: Update code gen in CallGeneratorHelper
|
||||
- JDK-8328005: Convert java/awt/im/JTextFieldTest.java applet test to main
|
||||
- JDK-8328085: C2: Use after free in PhaseChaitin::Register_Allocate()
|
||||
- JDK-8328121: Remove applet usage from JColorChooser tests Test4759306
|
||||
- JDK-8328130: Remove applet usage from JColorChooser tests Test4759934
|
||||
- JDK-8328185: Convert java/awt/image/MemoryLeakTest/MemoryLeakTest.java applet test to main
|
||||
- JDK-8328227: Remove applet usage from JColorChooser tests Test4887836
|
||||
- JDK-8328368: Convert java/awt/image/multiresolution/MultiDisplayTest/MultiDisplayTest.java applet test to main
|
||||
- JDK-8328370: Convert java/awt/print/Dialog/PrintApplet.java applet test to main
|
||||
- JDK-8328380: Remove applet usage from JColorChooser tests Test6348456
|
||||
- JDK-8328387: Convert java/awt/Frame/FrameStateTest/FrameStateTest.html applet test to main
|
||||
- JDK-8328403: Remove applet usage from JColorChooser tests Test6977726
|
||||
- JDK-8328553: Get rid of JApplet in test/jdk/sanity/client/lib/SwingSet2/src/DemoModule.java
|
||||
- JDK-8328558: Convert javax/swing/JCheckBox/8032667/bug8032667.java applet test to main
|
||||
- JDK-8328717: Convert javax/swing/JColorChooser/8065098/bug8065098.java applet test to main
|
||||
- JDK-8328719: Convert java/awt/print/PageFormat/SetOrient.html applet test to main
|
||||
- JDK-8328730: Convert java/awt/print/bug8023392/bug8023392.html applet test to main
|
||||
- JDK-8328753: Open source few Undecorated Frame tests
|
||||
- JDK-8328819: Remove applet usage from JFileChooser tests bug6698013
|
||||
- JDK-8328827: Convert java/awt/print/PrinterJob/PrinterDialogsModalityTest/PrinterDialogsModalityTest.html applet test to main
|
||||
- JDK-8329210: Delete Redundant Printer Dialog Modality Test
|
||||
- JDK-8329320: Simplify awt/print/PageFormat/NullPaper.java test
|
||||
- JDK-8329322: Convert PageFormat/Orient.java to use PassFailJFrame
|
||||
- JDK-8329692: Add more details to FrameStateTest.java test instructions
|
||||
- JDK-8330647: Two CDS tests fail with -UseCompressedOops and UseSerialGC/UseParallelGC
|
||||
- JDK-8330702: Update failure handler to don't generate Error message if cores actions are empty
|
||||
- JDK-8331735: UpcallLinker::on_exit races with GC when copying frame anchor
|
||||
- JDK-8331959: Update PKCS#11 Cryptographic Token Interface to v3.1
|
||||
- JDK-8331977: Crash: SIGSEGV in dlerror()
|
||||
- JDK-8331993: Add counting leading/trailing zero tests for Integer
|
||||
- JDK-8332158: [XWayland] test/jdk/java/awt/Mouse/EnterExitEvents/ResizingFrameTest.java
|
||||
- JDK-8332494: java/util/zip/EntryCount64k.java failing with java.lang.RuntimeException: '\\A\\Z' missing from stderr
|
||||
- JDK-8332917: failure_handler should execute gdb "info threads" command on linux
|
||||
- JDK-8333116: test/jdk/tools/jpackage/share/ServiceTest.java test fails
|
||||
- JDK-8333360: PrintNullString.java doesn't use float arguments
|
||||
- JDK-8333391: Test com/sun/jdi/InterruptHangTest.java failed: Thread was never interrupted during sleep
|
||||
- JDK-8333403: Write a test to check various components events are triggered properly
|
||||
- JDK-8333647: C2 SuperWord: some additional PopulateIndex tests
|
||||
- JDK-8334305: Remove all code for nsk.share.Log verbose mode
|
||||
- JDK-8334371: [AIX] Beginning with AIX 7.3 TL1 mmap() supports 64K memory pages
|
||||
- JDK-8334490: Normalize string with locale invariant `toLowerCase()`
|
||||
- JDK-8334777: Test javax/management/remote/mandatory/notif/NotifReconnectDeadlockTest.java failed with NullPointerException
|
||||
- JDK-8335288: SunPKCS11 initialization will call C_GetMechanismInfo on unsupported mechanisms
|
||||
- JDK-8335468: [XWayland] JavaFX hangs when calling java.awt.Robot.getPixelColor
|
||||
- JDK-8335789: [TESTBUG] XparColor.java test fails with Error. Parse Exception: Invalid or unrecognized bugid: @
|
||||
- JDK-8336012: Fix usages of jtreg-reserved properties
|
||||
- JDK-8336498: [macos] [build]: install-file macro may run into permission denied error
|
||||
- JDK-8336692: Redo fix for JDK-8284620
|
||||
- JDK-8336942: Improve test coverage for class loading elements with annotations of different retentions
|
||||
- JDK-8337222: gc/TestDisableExplicitGC.java fails due to unexpected CodeCache GC
|
||||
- JDK-8337494: Clarify JarInputStream behavior
|
||||
- JDK-8337660: C2: basic blocks with only BoxLock nodes are wrongly treated as empty
|
||||
- JDK-8337692: Better TLS connection support
|
||||
- JDK-8337886: java/awt/Frame/MaximizeUndecoratedTest.java fails in OEL due to a slight color difference
|
||||
- JDK-8337951: Test sun/security/validator/samedn.sh CertificateNotYetValidException: NotBefore validation
|
||||
- JDK-8337994: [REDO] Native memory leak when not recording any events
|
||||
- JDK-8338100: C2: assert(!n_loop->is_member(get_loop(lca))) failed: control must not be back in the loop
|
||||
- JDK-8338303: Linux ppc64le with toolchain clang - detection failure in early JVM startup
|
||||
- JDK-8338426: Test java/nio/channels/Selector/WakeupNow.java failed
|
||||
- JDK-8338430: Improve compiler transformations
|
||||
- JDK-8338571: [TestBug] DefaultCloseOperation.java test not working as expected wrt instruction after JDK-8325851 fix
|
||||
- JDK-8338595: Add more linesize for MIME decoder in macro bench test Base64Decode
|
||||
- JDK-8338668: Test javax/swing/JFileChooser/8080628/bug8080628.java doesn't test for GTK L&F
|
||||
- JDK-8339154: Cleanups and JUnit conversion of test/jdk/java/util/zip/Available.java
|
||||
- JDK-8339261: Logs truncated in test javax/net/ssl/DTLS/DTLSRehandshakeTest.java
|
||||
- JDK-8339356: Test javax/net/ssl/SSLSocket/Tls13PacketSize.java failed with java.net.SocketException: An established connection was aborted by the software in your host machine
|
||||
- JDK-8339475: Clean up return code handling for pthread calls in library coding
|
||||
- JDK-8339524: Clean up a few ExtendedRobot tests
|
||||
- JDK-8339542: compiler/codecache/CheckSegmentedCodeCache.java fails
|
||||
- JDK-8339687: Rearrange reachabilityFence()s in jdk.test.lib.util.ForceGC
|
||||
- JDK-8339728: [Accessibility,Windows,JAWS] Bug in the getKeyChar method of the AccessBridge class
|
||||
- JDK-8339810: Clean up the code in sun.tools.jar.Main to properly close resources and use ZipFile during extract
|
||||
- JDK-8339834: Replace usages of -mx and -ms in some tests
|
||||
- JDK-8339883: Open source several AWT/2D related tests
|
||||
- JDK-8339902: Open source couple TextField related tests
|
||||
- JDK-8339943: Frame not disposed in java/awt/dnd/DropActionChangeTest.java
|
||||
- JDK-8340078: Open source several 2D tests
|
||||
- JDK-8340116: test/jdk/sun/security/tools/jarsigner/PreserveRawManifestEntryAndDigest.java can fail due to regex
|
||||
- JDK-8340313: Crash due to invalid oop in nmethod after C1 patching
|
||||
- JDK-8340411: open source several 2D imaging tests
|
||||
- JDK-8340480: Bad copyright notices in changes from JDK-8339902
|
||||
- JDK-8340687: Open source closed frame tests #1
|
||||
- JDK-8340719: Open source AWT List tests
|
||||
- JDK-8340824: C2: Memory for TypeInterfaces not reclaimed by hashcons()
|
||||
- JDK-8340969: jdk/jfr/startupargs/TestStartDuration.java should be marked as flagless
|
||||
- JDK-8341037: Use standard layouts in DefaultFrameIconTest.java and MenuCrash.java
|
||||
- JDK-8341111: open source several AWT tests including menu shortcut tests
|
||||
- JDK-8341135: Incorrect format string after JDK-8339475
|
||||
- JDK-8341194: [REDO] Implement C2 VectorizedHashCode on AArch64
|
||||
- JDK-8341316: [macos] javax/swing/ProgressMonitor/ProgressMonitorEscapeKeyPress.java fails sometimes in macos
|
||||
- JDK-8341412: Various test failures after JDK-8334305
|
||||
- JDK-8341424: GHA: Collect hs_errs from build time failures
|
||||
- JDK-8341453: java/awt/a11y/AccessibleJTableTest.java fails in some cases where the test tables are not visible
|
||||
- JDK-8341715: PPC64: ObjectMonitor::_owner should be reset unconditionally in nmethod unlocking
|
||||
- JDK-8341820: Check return value of hcreate_r
|
||||
- JDK-8341862: PPC64: C1 unwind_handler fails to unlock synchronized methods with LM_MONITOR
|
||||
- JDK-8341881: [REDO] java/nio/file/attribute/BasicFileAttributeView/CreationTime.java#tmp fails on alinux3
|
||||
- JDK-8341978: Improve JButton/bug4490179.java
|
||||
- JDK-8341982: Simplify JButton/bug4323121.java
|
||||
- JDK-8342098: Write a test to compare the images
|
||||
- JDK-8342145: File libCreationTimeHelper.c compile fails on Alpine
|
||||
- JDK-8342270: Test sun/security/pkcs11/Provider/RequiredMechCheck.java needs write access to src tree
|
||||
- JDK-8342498: Add test for Allocation elimination after use as alignment reference by SuperWord
|
||||
- JDK-8342508: Use latch in BasicMenuUI/bug4983388.java instead of delay
|
||||
- JDK-8342541: Exclude List/KeyEventsTest/KeyEventsTest.java from running on macOS
|
||||
- JDK-8342562: Enhance Deflater operations
|
||||
- JDK-8342602: Remove JButton/PressedButtonRightClickTest test
|
||||
- JDK-8342609: jpackage test helper function incorrectly removes a directory instead of its contents only
|
||||
- JDK-8342634: javax/imageio/plugins/wbmp/WBMPStreamTruncateTest.java creates temp file in src dir
|
||||
- JDK-8342635: javax/swing/JFileChooser/FileSystemView/WindowsDefaultIconSizeTest.java creates tmp file in src dir
|
||||
- JDK-8342704: GHA: Report truncation is broken after JDK-8341424
|
||||
- JDK-8342811: java/net/httpclient/PlainProxyConnectionTest.java failed: Unexpected connection count: 5
|
||||
- JDK-8342858: Make target mac-jdk-bundle fails on chmod command
|
||||
- JDK-8342988: GHA: Build JTReg in single step
|
||||
- JDK-8343007: Enhance Buffered Image handling
|
||||
- JDK-8343100: Consolidate EmptyFolderTest and EmptyFolderPackageTest jpackage tests into single java file
|
||||
- JDK-8343101: Rework BasicTest.testTemp test cases
|
||||
- JDK-8343102: Remove `--compress` from jlink command lines from jpackage tests
|
||||
- JDK-8343118: [TESTBUG] java/awt/PrintJob/PrintCheckboxTest/PrintCheckboxManualTest.java fails with rror. Can't find HTML file PrintCheckboxManualTest.html
|
||||
- JDK-8343128: PassFailJFrame.java test result: Error. Bad action for script: build}
|
||||
- JDK-8343129: Disable unstable check of ThreadsListHandle.sanity_vm ThreadList values
|
||||
- JDK-8343144: UpcallLinker::on_entry racingly clears pending exception with GC safepoints
|
||||
- JDK-8343149: Cleanup os::print_tos_pc on AIX
|
||||
- JDK-8343178: Test BasicTest.java javac compile fails cannot find symbol
|
||||
- JDK-8343205: CompileBroker::possibly_add_compiler_threads excessively polls available memory
|
||||
- JDK-8343314: Move common properties from jpackage jtreg test declarations to TEST.properties file
|
||||
- JDK-8343343: Misc crash dump improvements on more platforms after JDK-8294160
|
||||
- JDK-8343378: Exceptions in javax/management DeadLockTest.java do not cause test failure
|
||||
- JDK-8343396: Use OperatingSystem, Architecture, and OSVersion in jpackage tests
|
||||
- JDK-8343491: javax/management/remote/mandatory/connection/DeadLockTest.java failing with NoSuchObjectException: no such object in table
|
||||
- JDK-8343599: Kmem limit and max values swapped when printing container information
|
||||
- JDK-8343882: BasicAnnoTests doesn't handle multiple annotations at the same position
|
||||
- JDK-8344275: tools/jpackage/windows/Win8301247Test.java fails on localized Windows platform
|
||||
- JDK-8344326: Move jpackage tests from "jdk.jpackage.tests" package to the default package
|
||||
- JDK-8344581: [TESTBUG] java/awt/Robot/ScreenCaptureRobotTest.java failing on macOS
|
||||
- JDK-8344589: Update IANA Language Subtag Registry to Version 2024-11-19
|
||||
- JDK-8344646: The libjsig deprecation warning should go to stderr not stdout
|
||||
- JDK-8345296: AArch64: VM crashes with SIGILL when prctl is disallowed
|
||||
- JDK-8345368: java/io/File/createTempFile/SpecialTempFile.java fails on Windows Server 2025
|
||||
- JDK-8345370: Bump update version for OpenJDK: jdk-21.0.7
|
||||
- JDK-8345375: Improve debuggability of test/jdk/java/net/Socket/CloseAvailable.java
|
||||
- JDK-8345414: Google CAInterop test failures
|
||||
- JDK-8345468: test/jdk/javax/swing/JScrollBar/4865918/bug4865918.java fails in ubuntu22.04
|
||||
- JDK-8345569: [ubsan] adjustments to filemap.cpp and virtualspace.cpp for macOS aarch64
|
||||
- JDK-8345614: Improve AnnotationFormatError message for duplicate annotation interfaces
|
||||
- JDK-8345676: [ubsan] ProcessImpl_md.c:561:40: runtime error: applying zero offset to null pointer on macOS aarch64
|
||||
- JDK-8345684: OperatingSystemMXBean.getSystemCpuLoad() throws NPE
|
||||
- JDK-8345750: Shenandoah: Test TestJcmdHeapDump.java#aggressive intermittent assert(gc_cause() == GCCause::_no_gc) failed: Over-writing cause
|
||||
- JDK-8346055: javax/swing/text/StyledEditorKit/4506788/bug4506788.java fails in ubuntu22.04
|
||||
- JDK-8346108: [21u][BACKOUT] 8337994: [REDO] Native memory leak when not recording any events
|
||||
- JDK-8346324: javax/swing/JScrollBar/4865918/bug4865918.java fails in CI
|
||||
- JDK-8346587: Distrust TLS server certificates anchored by Camerfirma Root CAs
|
||||
- JDK-8346671: java/nio/file/Files/probeContentType/Basic.java fails on Windows 2025
|
||||
- JDK-8346713: [testsuite] NeverActAsServerClassMachine breaks TestPLABAdaptToMinTLABSize.java TestPinnedHumongousFragmentation.java TestPinnedObjectContents.java
|
||||
- JDK-8346828: javax/swing/JScrollBar/4865918/bug4865918.java still fails in CI
|
||||
- JDK-8346847: [s390x] minimal build failure
|
||||
- JDK-8346880: [aix] java/lang/ProcessHandle/InfoTest.java still fails: "reported cputime less than expected"
|
||||
- JDK-8346881: [ubsan] logSelection.cpp:154:24 / logSelectionList.cpp:72:94 : runtime error: applying non-zero offset 1 to null pointer
|
||||
- JDK-8346887: DrawFocusRect() may cause an assertion failure
|
||||
- JDK-8346972: Test java/nio/channels/FileChannel/LoopingTruncate.java fails sometimes with IOException: There is not enough space on the disk
|
||||
- JDK-8347038: [JMH] jdk.incubator.vector.SpiltReplicate fails NoClassDefFoundError
|
||||
- JDK-8347129: cpuset cgroups controller is required for no good reason
|
||||
- JDK-8347171: (dc) java/nio/channels/DatagramChannel/InterruptibleOrNot.java fails with virtual thread factory
|
||||
- JDK-8347256: Epsilon: Demote heap size and AlwaysPreTouch warnings to info level
|
||||
- JDK-8347267: [macOS]: UnixOperatingSystem.c:67:40: runtime error: division by zero
|
||||
- JDK-8347268: [ubsan] logOutput.cpp:357:21: runtime error: applying non-zero offset 1 to null pointer
|
||||
- JDK-8347424: Fix and rewrite sun/security/x509/DNSName/LeadingPeriod.java test
|
||||
- JDK-8347427: JTabbedPane/8134116/Bug8134116.java has no license header
|
||||
- JDK-8347576: Error output in libjsound has non matching format strings
|
||||
- JDK-8347740: java/io/File/createTempFile/SpecialTempFile.java failing
|
||||
- JDK-8347847: Enhance jar file support
|
||||
- JDK-8347911: Limit the length of inflated text chunks
|
||||
- JDK-8347965: (tz) Update Timezone Data to 2025a
|
||||
- JDK-8348562: ZGC: segmentation fault due to missing node type check in barrier elision analysis
|
||||
- JDK-8348625: [21u, 17u] Revert JDK-8185862 to restore old java.awt.headless behavior on Windows
|
||||
- JDK-8348675: TrayIcon tests fail in Ubuntu 24.10 Wayland
|
||||
- JDK-8349039: Adjust exception No type named <ThreadType> in database
|
||||
- JDK-8349603: [21u, 17u, 11u] Update GHA JDKs after Jan/25 updates
|
||||
- JDK-8349729: [21u] AIX jtreg tests fail to compile with qvisibility=hidden
|
||||
- JDK-8352097: (tz) zone.tab update missed in 2025a backport
|
||||
- JDK-8353904: [21u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 21.0.7
|
||||
|
||||
Notes on individual issues:
|
||||
===========================
|
||||
|
||||
security-libs/java.security:
|
||||
|
||||
JDK-8309841: Jarsigner should print a warning if an entry is removed
|
||||
====================================================================
|
||||
In previous OpenJDK releases, the jarsigner tool did not detect the
|
||||
case where a file was removed from a signed JAR file but its signature
|
||||
was still present. With this release, `jarsigner -verify` checks that
|
||||
every signature has a matching file entry and prints a warning if this
|
||||
is not the case. The `-verbose` option can also be added to the
|
||||
command to see the names of the mismatched entries.
|
||||
|
||||
security-libs/javax.net.ssl:
|
||||
|
||||
JDK-8346587: Distrust TLS server certificates anchored by Camerfirma Root CAs
|
||||
=============================================================================
|
||||
In accordance with similar plans recently announced by Google,
|
||||
Mozilla, Apple and Microsoft, the JDK will not trust Transport Layer
|
||||
Security (TLS) certificates issued after the 15th of April 2025 which
|
||||
are anchored by Camerfirma root certificates.
|
||||
|
||||
Certificates issued on or before April 15th, 2025 will continue to
|
||||
be trusted until they expire.
|
||||
|
||||
If a server's certificate chain is anchored by an affected
|
||||
certificate, attempts to negotiate a TLS session will fail with an
|
||||
Exception that indicates the trust anchor is not trusted. For example,
|
||||
|
||||
"TLS server certificate issued after 2025-04-15 and anchored by a
|
||||
distrusted legacy Camerfirma root CA: CN=Chambers of Commerce Root -
|
||||
2008, O=AC Camerfirma S.A., SERIALNUMBER=A82743287, L=Madrid (see
|
||||
current address at www.camerfirma.com/address), C=EU"
|
||||
|
||||
To check whether a certificate in a JDK keystore is affected by this
|
||||
change, you can the `keytool` utility:
|
||||
|
||||
keytool -v -list -alias <your_server_alias> -keystore <your_keystore_filename>
|
||||
|
||||
If any of the certificates in the chain are affected by this change,
|
||||
then you will need to update the certificate or contact the
|
||||
organisation responsible for managing the certificate.
|
||||
|
||||
These restrictions apply to the following Camerfirma root certificates
|
||||
included in the JDK:
|
||||
|
||||
Alias name: camerfirmachamberscommerceca [jdk]
|
||||
CN=Chambers of Commerce Root
|
||||
OU=http://www.chambersign.org
|
||||
O=AC Camerfirma SA CIF A82743287
|
||||
C=EU
|
||||
SHA256: 0C:25:8A:12:A5:67:4A:EF:25:F2:8B:A7:DC:FA:EC:EE:A3:48:E5:41:E6:F5:CC:4E:E6:3B:71:B3:61:60:6A:C3
|
||||
|
||||
Alias name: camerfirmachambersca [jdk]
|
||||
CN=Chambers of Commerce Root - 2008
|
||||
O=AC Camerfirma S.A.
|
||||
SERIALNUMBER=A82743287
|
||||
L=Madrid (see current address at www.camerfirma.com/address)
|
||||
C=EU
|
||||
SHA256: 06:3E:4A:FA:C4:91:DF:D3:32:F3:08:9B:85:42:E9:46:17:D8:93:D7:FE:94:4E:10:A7:93:7E:E2:9D:96:93:C0
|
||||
|
||||
Alias name: camerfirmachambersignca [jdk]
|
||||
CN=Global Chambersign Root - 2008
|
||||
O=AC Camerfirma S.A.
|
||||
SERIALNUMBER=A82743287
|
||||
L=Madrid (see current address at www.camerfirma.com/address)
|
||||
C=EU
|
||||
SHA256: 13:63:35:43:93:34:A7:69:80:16:A0:D3:24:DE:72:28:4E:07:9D:7B:52:20:BB:8F:BD:74:78:16:EE:BE:BA:CA
|
||||
|
||||
Users can, *at their own risk*, remove this restriction by modifying
|
||||
the `java.security` configuration file (or override it by using the
|
||||
`java.security.properties` system property) so "CAMERFIRMA_TLS" is no
|
||||
longer listed in the `jdk.security.caDistrustPolicies` security
|
||||
property.
|
||||
|
||||
security-libs/javax.crypto:pkcs11:
|
||||
|
||||
JDK-8293345: SunPKCS11 provider checks on PKCS11 Mechanism are problematic
|
||||
==========================================================================
|
||||
In OpenJDK 14, the notion of legacy mechanisms was introduced into the
|
||||
SunPKCS11 provider. If a mechanism was found to be using a weak
|
||||
algorithm, it was determined to be legacy and disabled.
|
||||
|
||||
However, this approach has proved inflexible. There was no way for the
|
||||
user to override the legacy determination and enable the mechanism
|
||||
anyway. Also, a mechanism being used for signing would be declared
|
||||
legacy and disabled if it had a weak encryption algorithm, even though
|
||||
encryption was not being used. Similarly, a weak signing algorithm
|
||||
would prevent the mechanism's use as a cipher for encryption or
|
||||
decryption.
|
||||
|
||||
This OpenJDK release resolves these issues. It introduces the PKCS11
|
||||
provider configuration attribute "allowLegacy" which can be set to
|
||||
`true` if the user wishes to override the legacy determination. By
|
||||
default, it is set to `false`. The legacy determination now also
|
||||
considers the service type and will only check encryption algorithms
|
||||
for Ciphers and only signature algorithms for Signatures.
|
||||
|
||||
New in release OpenJDK 21.0.6 (2025-01-21):
|
||||
===========================================
|
||||
Live versions of these release notes can be found at:
|
||||
|
@ -1979,7 +1979,7 @@ index 539ef1e8ee8..435f57e3ff2 100644
|
||||
"sun.security.rsa.PSSParameters", null);
|
||||
}
|
||||
diff --git a/src/java.base/share/conf/security/java.security b/src/java.base/share/conf/security/java.security
|
||||
index f8b01a4ea1e..b325bf7e9fc 100644
|
||||
index 5149edba0e5..8227d650a03 100644
|
||||
--- a/src/java.base/share/conf/security/java.security
|
||||
+++ b/src/java.base/share/conf/security/java.security
|
||||
@@ -85,6 +85,17 @@ security.provider.tbd=Apple
|
||||
@ -2959,7 +2959,7 @@ index 00000000000..f8d505ca815
|
||||
+}
|
||||
\ No newline at end of file
|
||||
diff --git a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Key.java b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Key.java
|
||||
index 01fc06ae283..e3ca000d309 100644
|
||||
index c3b412885a6..0e7ce73b158 100644
|
||||
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Key.java
|
||||
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Key.java
|
||||
@@ -37,6 +37,8 @@ import javax.crypto.*;
|
||||
@ -2981,7 +2981,7 @@ index 01fc06ae283..e3ca000d309 100644
|
||||
private static final String PUBLIC = "public";
|
||||
private static final String PRIVATE = "private";
|
||||
private static final String SECRET = "secret";
|
||||
@@ -414,9 +419,10 @@ abstract class P11Key implements Key, Length {
|
||||
@@ -401,9 +406,10 @@ abstract class P11Key implements Key, Length {
|
||||
new CK_ATTRIBUTE(CKA_EXTRACTABLE),
|
||||
});
|
||||
|
||||
@ -2995,7 +2995,7 @@ index 01fc06ae283..e3ca000d309 100644
|
||||
|
||||
return switch (algorithm) {
|
||||
case "RSA" -> P11RSAPrivateKeyInternal.of(session, keyID, algorithm,
|
||||
@@ -468,7 +474,8 @@ abstract class P11Key implements Key, Length {
|
||||
@@ -455,7 +461,8 @@ abstract class P11Key implements Key, Length {
|
||||
|
||||
public String getFormat() {
|
||||
token.ensureValid();
|
||||
@ -3005,13 +3005,13 @@ index 01fc06ae283..e3ca000d309 100644
|
||||
return null;
|
||||
} else {
|
||||
return "RAW";
|
||||
@@ -1638,4 +1645,3 @@ final class SessionKeyRef extends PhantomReference<P11Key> {
|
||||
@@ -1625,4 +1632,3 @@ final class SessionKeyRef extends PhantomReference<P11Key> {
|
||||
this.clear();
|
||||
}
|
||||
}
|
||||
-
|
||||
diff --git a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java
|
||||
index 0a62021633f..0723b69c2bc 100644
|
||||
index 5cd6828d293..bae49c4e8a9 100644
|
||||
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java
|
||||
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java
|
||||
@@ -26,6 +26,9 @@
|
||||
@ -3022,7 +3022,7 @@ index 0a62021633f..0723b69c2bc 100644
|
||||
+import java.lang.invoke.MethodHandles;
|
||||
+import java.lang.invoke.MethodType;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import java.security.*;
|
||||
@@ -42,10 +45,12 @@ import javax.security.auth.callback.PasswordCallback;
|
||||
|
||||
@ -3141,7 +3141,7 @@ index 0a62021633f..0723b69c2bc 100644
|
||||
}
|
||||
p11 = tmpPKCS11;
|
||||
|
||||
@@ -1388,11 +1460,52 @@ public final class SunPKCS11 extends AuthProvider {
|
||||
@@ -1389,11 +1461,52 @@ public final class SunPKCS11 extends AuthProvider {
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -3194,7 +3194,7 @@ index 0a62021633f..0723b69c2bc 100644
|
||||
try {
|
||||
return newInstance0(param);
|
||||
} catch (PKCS11Exception e) {
|
||||
@@ -1749,6 +1862,9 @@ public final class SunPKCS11 extends AuthProvider {
|
||||
@@ -1750,6 +1863,9 @@ public final class SunPKCS11 extends AuthProvider {
|
||||
try {
|
||||
session = token.getOpSession();
|
||||
p11.C_Logout(session.id());
|
||||
@ -3252,7 +3252,7 @@ index a6f5f0a8764..9a07c96ca4e 100644
|
||||
}
|
||||
|
||||
diff --git a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11.java b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11.java
|
||||
index 0fd13fd6fa6..3c959c942a1 100644
|
||||
index 4b06daaf264..55e14945469 100644
|
||||
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11.java
|
||||
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11.java
|
||||
@@ -49,6 +49,9 @@ package sun.security.pkcs11.wrapper;
|
||||
@ -3312,7 +3312,7 @@ index 0fd13fd6fa6..3c959c942a1 100644
|
||||
}
|
||||
if (omitInitialize == false) {
|
||||
try {
|
||||
@@ -2012,4 +2040,194 @@ static class SynchronizedPKCS11 extends PKCS11 {
|
||||
@@ -1976,4 +2004,194 @@ static class SynchronizedPKCS11 extends PKCS11 {
|
||||
super.C_GenerateRandom(hSession, randomData);
|
||||
}
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
# recipients: java-qa
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- rhel-9
|
||||
- rhel-10
|
||||
decision_context: osci_compose_gate
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}
|
||||
|
@ -325,7 +325,7 @@
|
||||
# New Version-String scheme-style defines
|
||||
%global featurever 21
|
||||
%global interimver 0
|
||||
%global updatever 7
|
||||
%global updatever 6
|
||||
%global patchver 0
|
||||
# buildjdkver is usually same as %%{featurever},
|
||||
# but in time of bootstrap of next jdk, it is featurever-1,
|
||||
@ -341,7 +341,7 @@
|
||||
%global lts_designator_zip ""
|
||||
%endif
|
||||
# JDK to use for bootstrapping
|
||||
%global bootjdk /usr/lib/jvm/java-%{featurever}-openjdk
|
||||
%global bootjdk /usr/lib/jvm/java-%{buildjdkver}-openjdk
|
||||
# Define whether to use the bootstrap JDK directly or with a fresh libjvm.so
|
||||
# This will only work where the bootstrap JDK is the same major version
|
||||
# as the JDK being built
|
||||
@ -375,7 +375,7 @@
|
||||
# Define IcedTea version used for SystemTap tapsets and desktop file
|
||||
%global icedteaver 6.0.0pre00-c848b93a8598
|
||||
# Define current Git revision for the FIPS support patches
|
||||
%global fipsver 9203d50836c
|
||||
%global fipsver 0a42e29b391
|
||||
# Define JDK versions
|
||||
%global newjavaver %{featurever}.%{interimver}.%{updatever}.%{patchver}
|
||||
%global javaver %{featurever}
|
||||
@ -389,8 +389,8 @@
|
||||
%global origin_nice OpenJDK
|
||||
%global top_level_dir_name %{vcstag}
|
||||
%global top_level_dir_name_backup %{top_level_dir_name}-backup
|
||||
%global buildver 6
|
||||
%global rpmrelease 2
|
||||
%global buildver 7
|
||||
%global rpmrelease 1
|
||||
#%%global tagsuffix %%{nil}
|
||||
# Priority must be 8 digits in total; up to openjdk 1.8, we were using 18..... so when we moved to 11, we had to add another digit
|
||||
%if %is_system_jdk
|
||||
@ -673,9 +673,7 @@ Patch1001: fips-%{featurever}u-%{fipsver}.patch
|
||||
#
|
||||
#############################################
|
||||
|
||||
# JDK-8351500: G1: NUMA migrations cause crashes in region allocation
|
||||
# Upstream in 21.0.8+1
|
||||
Patch2001: jdk8351500-numa_migration_crashes.patch
|
||||
# Currently empty
|
||||
|
||||
#############################################
|
||||
#
|
||||
@ -729,7 +727,7 @@ BuildRequires: zip
|
||||
BuildRequires: tar
|
||||
BuildRequires: unzip
|
||||
BuildRequires: javapackages-filesystem
|
||||
BuildRequires: java-%{featurever}-%{origin}%{?pkgos:-%{pkgos}}-devel
|
||||
BuildRequires: java-%{buildjdkver}-%{origin}%{?pkgos:-%{pkgos}}-devel
|
||||
# Zero-assembler build requirement
|
||||
%ifarch %{zero_arches}
|
||||
BuildRequires: libffi-devel
|
||||
@ -988,8 +986,6 @@ sh %{SOURCE12} %{top_level_dir_name}
|
||||
pushd %{top_level_dir_name}
|
||||
# Add crypto policy and FIPS support
|
||||
%patch -P1001 -p1
|
||||
# Add early JDK-8351500
|
||||
%patch -P2001 -p1
|
||||
popd # openjdk
|
||||
|
||||
|
||||
@ -1939,17 +1935,6 @@ done
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Thu May 08 2025 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.7.0.6-2
|
||||
- Add local version of JDK-8351500 for early interim release before 21.0.8
|
||||
- Resolves: OPENJDK-3679
|
||||
|
||||
* Fri Apr 11 2025 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.7.0.6-1
|
||||
- Update to jdk-21.0.7+6 (GA)
|
||||
- Update release notes to 21.0.7+6
|
||||
- Rebase FIPS support against 21.0.7+5
|
||||
- ** This tarball is embargoed until 2025-04-15 @ 1pm PT. **
|
||||
- Resolves: OPENJDK-3789
|
||||
|
||||
* Sat Jan 11 2025 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.6.0.7-1
|
||||
- Update to jdk-21.0.6+7 (GA)
|
||||
- Update release notes to 21.0.6+7
|
||||
@ -2020,7 +2005,7 @@ done
|
||||
- Update release notes to 21.0.4+5
|
||||
- Move unstripped, misc and doc tarball handling into normal build / no suffix blocks
|
||||
- Limit Java only tests to one architecture using jdk_test_arch
|
||||
- Drop unneeded tzdata-java build dependency following f854bb3955fb57bba4e83d09813e9cfd0e81079e
|
||||
- Drop unneeded tzdata-java build dependency following 3e3cf8fa2df7bac2f6a60a0ddd596ec39228a3e1
|
||||
- Resolves: OPENJDK-3133
|
||||
- Resolves: OPENJDK-3237
|
||||
- Resolves: OPENJDK-3182
|
||||
@ -2039,7 +2024,6 @@ done
|
||||
- Update to jdk-21.0.3+9 (GA)
|
||||
- Update release notes to 21.0.3+9
|
||||
- Switch to GA mode.
|
||||
- Update buildjdkver to match the featurever
|
||||
- ** This tarball is embargoed until 2024-04-16 @ 1pm PT. **
|
||||
|
||||
* Thu Apr 04 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.3.0.7-0.1.ea
|
||||
@ -2134,10 +2118,6 @@ done
|
||||
- Update release notes to 21.0.2+13
|
||||
- Bump libpng version to 1.6.40 following JDK-8316030
|
||||
- Bump HarfBuzz version to 8.2.2 following JDK-8313643
|
||||
- pandoc is only available on RHEL/CentOS 8
|
||||
- Check for CentOS being defined to determine use of devkit
|
||||
- Set buildjdkver to 20 until OpenJDK 21 is available in the buildroot
|
||||
- Use featurever for JDK build dependencies
|
||||
|
||||
* Mon Mar 11 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.1.0.12-2
|
||||
- Use a devkit to build on architectures where we have one (s390x, aarch64, ppc64le, x86_64)
|
||||
@ -2147,7 +2127,6 @@ done
|
||||
- Use system gdb for both builds as devkit version fails (needs devkit libraries, then JDK segfaults with them)
|
||||
- Filter out annobin plugin when using the devkit
|
||||
- Drop static libstdc++ build dependency on devkit builds as it should come from the devkit
|
||||
- Disable devkit build on CentOS where it is unavailable
|
||||
- Introduce tar_opts to avoid repetition of lengthy tar creation options
|
||||
|
||||
* Thu Feb 08 2024 Thomas Fitzsimmons <fitzsim@redhat.com> - 1:21.0.1.0.12-2
|
||||
@ -2169,7 +2148,7 @@ done
|
||||
* Fri Oct 27 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.0.0.35-4
|
||||
- Rebuild jmods using the stripped binaries in release builds
|
||||
- Make sure the unstripped JDK is customised by the installjdk function
|
||||
- Resolves: OPENJDK-3224
|
||||
- Resolves: OPENJDK-1974
|
||||
|
||||
* Thu Oct 26 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.0.0.35-3
|
||||
- Re-enable SystemTap support and perform only substitutions possible without final NVR available
|
||||
@ -2181,7 +2160,6 @@ done
|
||||
* Thu Aug 24 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.0.0.35-2
|
||||
- Update documentation (README.md, add missing JEP to release notes)
|
||||
- Replace alt-java patch with a binary separate from the JDK
|
||||
- Adapt alt-java test to new binary where there is always a set_speculation function
|
||||
- Drop stale patches that are of little use any more:
|
||||
- * nss.cfg has been disabled since early PKCS11 work and long superseded by FIPS work
|
||||
- * No accessibility subpackage to warrant RH1648242 patch any more
|
||||
@ -2205,31 +2183,27 @@ done
|
||||
- Replace smoke test files used in the staticlibs test, as fdlibm was removed by JDK-8303798
|
||||
- Related: rhbz#2192749
|
||||
|
||||
* Wed Aug 16 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:20.0.2.0.9-1
|
||||
* Wed Aug 16 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:20.0.0.0.36-1
|
||||
- Update to jdk-20.0.2+9
|
||||
- Update release notes to 20.0.2+9
|
||||
- Update system crypto policy & FIPS patch from new fips-20u tree
|
||||
- Update generate_tarball.sh ICEDTEA_VERSION
|
||||
- Update CLDR reference data following update to 42 (Rocky Mountain-Normalzeit => Rocky-Mountain-Normalzeit)
|
||||
- Related: rhbz#2192749
|
||||
|
||||
* Wed Aug 16 2023 Jiri Vanek <jvanek@redhat.com> - 1:20.0.2.0.9-1
|
||||
* Wed Aug 16 2023 Jiri Vanek <jvanek@redhat.com> - 1:20.0.0.0.36-1
|
||||
- Dropped JDK-8295447, JDK-8296239 & JDK-8299439 patches now upstream
|
||||
- Adapted rh1750419-redhat_alt_java.patch
|
||||
- Related: rhbz#2192749
|
||||
|
||||
* Tue Aug 15 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:19.0.2.0.7-2
|
||||
- Bump rpmrelease to rebuild for CentOS 9
|
||||
|
||||
* Tue Aug 15 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:19.0.2.0.7-1
|
||||
* Tue Aug 15 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:19.0.1.0.10-1
|
||||
- Update to jdk-19.0.2 release
|
||||
- Update release notes to 19.0.2
|
||||
- Rebase FIPS patches from fips-19u branch
|
||||
- Remove references to sample directory removed by JDK-8284999
|
||||
- Add local patch JDK-8295447 (javac NPE) which was accepted into 19u upstream but not in the GA tag
|
||||
- Add local patches for JDK-8296239 & JDK-8299439 (Croatia Euro update) which are present in 8u, 11u & 17u releases
|
||||
- Switch buildjdkver to java-21-openjdk
|
||||
|
||||
* Thu Aug 10 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:18.0.2.0.9-2
|
||||
- Bump rpmrelease to rebuild for CentOS 9
|
||||
- Related: rhbz#2192749
|
||||
|
||||
* Thu Aug 10 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:18.0.2.0.9-1
|
||||
- Update to jdk-18.0.2 release
|
||||
@ -2239,14 +2213,14 @@ done
|
||||
- Rebase RH1648249 nss.cfg patch so it applies after the FIPS patch
|
||||
- Automatically turn off building a fresh HotSpot first, if the bootstrap JDK is not the same major version as that being built
|
||||
- Drop tzdata patches added for 17.0.7 which will eventually appear in the upstream tarball when we reach OpenJDK 21
|
||||
- Switch bootjdkver to java-21-openjdk
|
||||
- Disable tzdata tests until we are on the latest JDK and things are back in sync
|
||||
- Related: rhbz#2192749
|
||||
|
||||
* Thu Aug 10 2023 Petra Alice Mikova <pmikova@redhat.com> - 1:18.0.0.0.37-1
|
||||
- Update to ea version of jdk18
|
||||
- Adjust rh1684077-openjdk_should_depend_on_pcsc-lite-libs_instead_of_pcsc-lite-devel.patch
|
||||
|
||||
* Mon May 15 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.7.0.7-3
|
||||
- Bump rpmrelease to rebuild for CentOS 9
|
||||
- Related: rhbz#2192749
|
||||
|
||||
* Mon May 15 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.7.0.7-2
|
||||
- Create java-21-openjdk-portable package based on java-17-openjdk-portable
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,274 +0,0 @@
|
||||
commit c5c0ac6140ec5241d949bc66f54469bfa516c60c
|
||||
Author: Thomas Stuefe <stuefe@openjdk.org>
|
||||
Date: Thu Mar 27 17:37:44 2025 +0000
|
||||
|
||||
8351500: G1: NUMA migrations cause crashes in region allocation
|
||||
|
||||
Reviewed-by: sjohanss
|
||||
Backport-of: 37ec796255ae857588a5c7e0d572407dd81cbec9
|
||||
|
||||
diff --git a/src/hotspot/share/gc/g1/g1Allocator.cpp b/src/hotspot/share/gc/g1/g1Allocator.cpp
|
||||
index 5b33e24de75..23c7ee839d8 100644
|
||||
--- a/src/hotspot/share/gc/g1/g1Allocator.cpp
|
||||
+++ b/src/hotspot/share/gc/g1/g1Allocator.cpp
|
||||
@@ -212,10 +212,10 @@ size_t G1Allocator::used_in_alloc_regions() {
|
||||
|
||||
|
||||
HeapWord* G1Allocator::par_allocate_during_gc(G1HeapRegionAttr dest,
|
||||
- size_t word_size,
|
||||
- uint node_index) {
|
||||
+ uint node_index,
|
||||
+ size_t word_size) {
|
||||
size_t temp = 0;
|
||||
- HeapWord* result = par_allocate_during_gc(dest, word_size, word_size, &temp, node_index);
|
||||
+ HeapWord* result = par_allocate_during_gc(dest, node_index, word_size, word_size, &temp);
|
||||
assert(result == nullptr || temp == word_size,
|
||||
"Requested " SIZE_FORMAT " words, but got " SIZE_FORMAT " at " PTR_FORMAT,
|
||||
word_size, temp, p2i(result));
|
||||
@@ -223,13 +223,13 @@ HeapWord* G1Allocator::par_allocate_during_gc(G1HeapRegionAttr dest,
|
||||
}
|
||||
|
||||
HeapWord* G1Allocator::par_allocate_during_gc(G1HeapRegionAttr dest,
|
||||
+ uint node_index,
|
||||
size_t min_word_size,
|
||||
size_t desired_word_size,
|
||||
- size_t* actual_word_size,
|
||||
- uint node_index) {
|
||||
+ size_t* actual_word_size) {
|
||||
switch (dest.type()) {
|
||||
case G1HeapRegionAttr::Young:
|
||||
- return survivor_attempt_allocation(min_word_size, desired_word_size, actual_word_size, node_index);
|
||||
+ return survivor_attempt_allocation(node_index, min_word_size, desired_word_size, actual_word_size);
|
||||
case G1HeapRegionAttr::Old:
|
||||
return old_attempt_allocation(min_word_size, desired_word_size, actual_word_size);
|
||||
default:
|
||||
@@ -238,10 +238,10 @@ HeapWord* G1Allocator::par_allocate_during_gc(G1HeapRegionAttr dest,
|
||||
}
|
||||
}
|
||||
|
||||
-HeapWord* G1Allocator::survivor_attempt_allocation(size_t min_word_size,
|
||||
+HeapWord* G1Allocator::survivor_attempt_allocation(uint node_index,
|
||||
+ size_t min_word_size,
|
||||
size_t desired_word_size,
|
||||
- size_t* actual_word_size,
|
||||
- uint node_index) {
|
||||
+ size_t* actual_word_size) {
|
||||
assert(!_g1h->is_humongous(desired_word_size),
|
||||
"we should not be seeing humongous-size allocations in this path");
|
||||
|
||||
@@ -396,10 +396,10 @@ HeapWord* G1PLABAllocator::allocate_direct_or_new_plab(G1HeapRegionAttr dest,
|
||||
|
||||
size_t actual_plab_size = 0;
|
||||
HeapWord* buf = _allocator->par_allocate_during_gc(dest,
|
||||
+ node_index,
|
||||
required_in_plab,
|
||||
plab_word_size,
|
||||
- &actual_plab_size,
|
||||
- node_index);
|
||||
+ &actual_plab_size);
|
||||
|
||||
assert(buf == nullptr || ((actual_plab_size >= required_in_plab) && (actual_plab_size <= plab_word_size)),
|
||||
"Requested at minimum %zu, desired %zu words, but got %zu at " PTR_FORMAT,
|
||||
@@ -418,7 +418,7 @@ HeapWord* G1PLABAllocator::allocate_direct_or_new_plab(G1HeapRegionAttr dest,
|
||||
*plab_refill_failed = true;
|
||||
}
|
||||
// Try direct allocation.
|
||||
- HeapWord* result = _allocator->par_allocate_during_gc(dest, word_sz, node_index);
|
||||
+ HeapWord* result = _allocator->par_allocate_during_gc(dest, node_index, word_sz);
|
||||
if (result != nullptr) {
|
||||
plab_data->_direct_allocated += word_sz;
|
||||
plab_data->_num_direct_allocations++;
|
||||
diff --git a/src/hotspot/share/gc/g1/g1Allocator.hpp b/src/hotspot/share/gc/g1/g1Allocator.hpp
|
||||
index 32f37778a18..b2828d64d87 100644
|
||||
--- a/src/hotspot/share/gc/g1/g1Allocator.hpp
|
||||
+++ b/src/hotspot/share/gc/g1/g1Allocator.hpp
|
||||
@@ -78,19 +78,16 @@ class G1Allocator : public CHeapObj<mtGC> {
|
||||
inline OldGCAllocRegion* old_gc_alloc_region();
|
||||
|
||||
// Allocation attempt during GC for a survivor object / PLAB.
|
||||
- HeapWord* survivor_attempt_allocation(size_t min_word_size,
|
||||
+ HeapWord* survivor_attempt_allocation(uint node_index,
|
||||
+ size_t min_word_size,
|
||||
size_t desired_word_size,
|
||||
- size_t* actual_word_size,
|
||||
- uint node_index);
|
||||
+ size_t* actual_word_size);
|
||||
|
||||
// Allocation attempt during GC for an old object / PLAB.
|
||||
HeapWord* old_attempt_allocation(size_t min_word_size,
|
||||
size_t desired_word_size,
|
||||
size_t* actual_word_size);
|
||||
|
||||
- // Node index of current thread.
|
||||
- inline uint current_node_index() const;
|
||||
-
|
||||
public:
|
||||
G1Allocator(G1CollectedHeap* heap);
|
||||
~G1Allocator();
|
||||
@@ -110,18 +107,22 @@ class G1Allocator : public CHeapObj<mtGC> {
|
||||
void abandon_gc_alloc_regions();
|
||||
bool is_retained_old_region(HeapRegion* hr);
|
||||
|
||||
+ // Node index of current thread.
|
||||
+ inline uint current_node_index() const;
|
||||
+
|
||||
// Allocate blocks of memory during mutator time.
|
||||
|
||||
// Attempt allocation in the current alloc region.
|
||||
- inline HeapWord* attempt_allocation(size_t min_word_size,
|
||||
+ inline HeapWord* attempt_allocation(uint node_index,
|
||||
+ size_t min_word_size,
|
||||
size_t desired_word_size,
|
||||
size_t* actual_word_size);
|
||||
|
||||
// This is to be called when holding an appropriate lock. It first tries in the
|
||||
// current allocation region, and then attempts an allocation using a new region.
|
||||
- inline HeapWord* attempt_allocation_locked(size_t word_size);
|
||||
+ inline HeapWord* attempt_allocation_locked(uint node_index, size_t word_size);
|
||||
|
||||
- inline HeapWord* attempt_allocation_force(size_t word_size);
|
||||
+ inline HeapWord* attempt_allocation_force(uint node_index, size_t word_size);
|
||||
|
||||
size_t unsafe_max_tlab_alloc();
|
||||
size_t used_in_alloc_regions();
|
||||
@@ -131,14 +132,15 @@ class G1Allocator : public CHeapObj<mtGC> {
|
||||
// heap, and then allocate a block of the given size. The block
|
||||
// may not be a humongous - it must fit into a single heap region.
|
||||
HeapWord* par_allocate_during_gc(G1HeapRegionAttr dest,
|
||||
- size_t word_size,
|
||||
- uint node_index);
|
||||
+ uint node_index,
|
||||
+ size_t word_size
|
||||
+ );
|
||||
|
||||
HeapWord* par_allocate_during_gc(G1HeapRegionAttr dest,
|
||||
+ uint node_index,
|
||||
size_t min_word_size,
|
||||
size_t desired_word_size,
|
||||
- size_t* actual_word_size,
|
||||
- uint node_index);
|
||||
+ size_t* actual_word_size);
|
||||
};
|
||||
|
||||
// Manages the PLABs used during garbage collection. Interface for allocation from PLABs.
|
||||
diff --git a/src/hotspot/share/gc/g1/g1Allocator.inline.hpp b/src/hotspot/share/gc/g1/g1Allocator.inline.hpp
|
||||
index 13ae9b9bbbd..7e516b48faa 100644
|
||||
--- a/src/hotspot/share/gc/g1/g1Allocator.inline.hpp
|
||||
+++ b/src/hotspot/share/gc/g1/g1Allocator.inline.hpp
|
||||
@@ -49,11 +49,10 @@ inline OldGCAllocRegion* G1Allocator::old_gc_alloc_region() {
|
||||
return &_old_gc_alloc_region;
|
||||
}
|
||||
|
||||
-inline HeapWord* G1Allocator::attempt_allocation(size_t min_word_size,
|
||||
+inline HeapWord* G1Allocator::attempt_allocation(uint node_index,
|
||||
+ size_t min_word_size,
|
||||
size_t desired_word_size,
|
||||
size_t* actual_word_size) {
|
||||
- uint node_index = current_node_index();
|
||||
-
|
||||
HeapWord* result = mutator_alloc_region(node_index)->attempt_retained_allocation(min_word_size, desired_word_size, actual_word_size);
|
||||
if (result != nullptr) {
|
||||
return result;
|
||||
@@ -62,8 +61,7 @@ inline HeapWord* G1Allocator::attempt_allocation(size_t min_word_size,
|
||||
return mutator_alloc_region(node_index)->attempt_allocation(min_word_size, desired_word_size, actual_word_size);
|
||||
}
|
||||
|
||||
-inline HeapWord* G1Allocator::attempt_allocation_locked(size_t word_size) {
|
||||
- uint node_index = current_node_index();
|
||||
+inline HeapWord* G1Allocator::attempt_allocation_locked(uint node_index, size_t word_size) {
|
||||
HeapWord* result = mutator_alloc_region(node_index)->attempt_allocation_locked(word_size);
|
||||
|
||||
assert(result != nullptr || mutator_alloc_region(node_index)->get() == nullptr,
|
||||
@@ -71,8 +69,7 @@ inline HeapWord* G1Allocator::attempt_allocation_locked(size_t word_size) {
|
||||
return result;
|
||||
}
|
||||
|
||||
-inline HeapWord* G1Allocator::attempt_allocation_force(size_t word_size) {
|
||||
- uint node_index = current_node_index();
|
||||
+inline HeapWord* G1Allocator::attempt_allocation_force(uint node_index, size_t word_size) {
|
||||
return mutator_alloc_region(node_index)->attempt_allocation_force(word_size);
|
||||
}
|
||||
|
||||
diff --git a/src/hotspot/share/gc/g1/g1CollectedHeap.cpp b/src/hotspot/share/gc/g1/g1CollectedHeap.cpp
|
||||
index 9b6b22a29e7..a43e45c4afa 100644
|
||||
--- a/src/hotspot/share/gc/g1/g1CollectedHeap.cpp
|
||||
+++ b/src/hotspot/share/gc/g1/g1CollectedHeap.cpp
|
||||
@@ -401,7 +401,7 @@ G1CollectedHeap::mem_allocate(size_t word_size,
|
||||
return attempt_allocation(word_size, word_size, &dummy);
|
||||
}
|
||||
|
||||
-HeapWord* G1CollectedHeap::attempt_allocation_slow(size_t word_size) {
|
||||
+HeapWord* G1CollectedHeap::attempt_allocation_slow(uint node_index, size_t word_size) {
|
||||
ResourceMark rm; // For retrieving the thread names in log messages.
|
||||
|
||||
// Make sure you read the note in attempt_allocation_humongous().
|
||||
@@ -427,7 +427,7 @@ HeapWord* G1CollectedHeap::attempt_allocation_slow(size_t word_size) {
|
||||
|
||||
// Now that we have the lock, we first retry the allocation in case another
|
||||
// thread changed the region while we were waiting to acquire the lock.
|
||||
- result = _allocator->attempt_allocation_locked(word_size);
|
||||
+ result = _allocator->attempt_allocation_locked(node_index, word_size);
|
||||
if (result != nullptr) {
|
||||
return result;
|
||||
}
|
||||
@@ -438,7 +438,7 @@ HeapWord* G1CollectedHeap::attempt_allocation_slow(size_t word_size) {
|
||||
if (GCLocker::is_active_and_needs_gc() && policy()->can_expand_young_list()) {
|
||||
// No need for an ergo message here, can_expand_young_list() does this when
|
||||
// it returns true.
|
||||
- result = _allocator->attempt_allocation_force(word_size);
|
||||
+ result = _allocator->attempt_allocation_force(node_index, word_size);
|
||||
if (result != nullptr) {
|
||||
return result;
|
||||
}
|
||||
@@ -495,7 +495,7 @@ HeapWord* G1CollectedHeap::attempt_allocation_slow(size_t word_size) {
|
||||
// follow-on attempt will be at the start of the next loop
|
||||
// iteration (after taking the Heap_lock).
|
||||
size_t dummy = 0;
|
||||
- result = _allocator->attempt_allocation(word_size, word_size, &dummy);
|
||||
+ result = _allocator->attempt_allocation(node_index, word_size, word_size, &dummy);
|
||||
if (result != nullptr) {
|
||||
return result;
|
||||
}
|
||||
@@ -636,11 +636,14 @@ inline HeapWord* G1CollectedHeap::attempt_allocation(size_t min_word_size,
|
||||
assert(!is_humongous(desired_word_size), "attempt_allocation() should not "
|
||||
"be called for humongous allocation requests");
|
||||
|
||||
- HeapWord* result = _allocator->attempt_allocation(min_word_size, desired_word_size, actual_word_size);
|
||||
+ // Fix NUMA node association for the duration of this allocation
|
||||
+ const uint node_index = _allocator->current_node_index();
|
||||
+
|
||||
+ HeapWord* result = _allocator->attempt_allocation(node_index, min_word_size, desired_word_size, actual_word_size);
|
||||
|
||||
if (result == nullptr) {
|
||||
*actual_word_size = desired_word_size;
|
||||
- result = attempt_allocation_slow(desired_word_size);
|
||||
+ result = attempt_allocation_slow(node_index, desired_word_size);
|
||||
}
|
||||
|
||||
assert_heap_not_locked();
|
||||
@@ -778,8 +781,11 @@ HeapWord* G1CollectedHeap::attempt_allocation_at_safepoint(size_t word_size,
|
||||
assert(!_allocator->has_mutator_alloc_region() || !expect_null_mutator_alloc_region,
|
||||
"the current alloc region was unexpectedly found to be non-null");
|
||||
|
||||
+ // Fix NUMA node association for the duration of this allocation
|
||||
+ const uint node_index = _allocator->current_node_index();
|
||||
+
|
||||
if (!is_humongous(word_size)) {
|
||||
- return _allocator->attempt_allocation_locked(word_size);
|
||||
+ return _allocator->attempt_allocation_locked(node_index, word_size);
|
||||
} else {
|
||||
HeapWord* result = humongous_obj_allocate(word_size);
|
||||
if (result != nullptr && policy()->need_to_start_conc_mark("STW humongous allocation")) {
|
||||
diff --git a/src/hotspot/share/gc/g1/g1CollectedHeap.hpp b/src/hotspot/share/gc/g1/g1CollectedHeap.hpp
|
||||
index 88f4f680800..6afaeb6e6d4 100644
|
||||
--- a/src/hotspot/share/gc/g1/g1CollectedHeap.hpp
|
||||
+++ b/src/hotspot/share/gc/g1/g1CollectedHeap.hpp
|
||||
@@ -453,7 +453,7 @@ class G1CollectedHeap : public CollectedHeap {
|
||||
// Second-level mutator allocation attempt: take the Heap_lock and
|
||||
// retry the allocation attempt, potentially scheduling a GC
|
||||
// pause. This should only be used for non-humongous allocations.
|
||||
- HeapWord* attempt_allocation_slow(size_t word_size);
|
||||
+ HeapWord* attempt_allocation_slow(uint node_index, size_t word_size);
|
||||
|
||||
// Takes the Heap_lock and attempts a humongous allocation. It can
|
||||
// potentially schedule a GC pause.
|
2
sources
2
sources
@ -1,2 +1,2 @@
|
||||
SHA512 (tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz) = 97d026212363b3c83f6a04100ad7f6fdde833d16579717f8756e2b8c2eb70e144a41a330cb9ccde9c3badd37a2d54fdf4650a950ec21d8b686d545ecb2a64d30
|
||||
SHA512 (openjdk-21.0.7+6.tar.xz) = 4ccbad22a7284fc8a38f78585dbc9e2b632c634f0a496d0f41bc5a0ec35ef1f2ca75b2aad135c299e9ebb04c8bd73b905f6c57ae041bd39d4474ecbda3656c97
|
||||
SHA512 (openjdk-21.0.6+7.tar.xz) = fda4179a18a145a3506b09a83fe1338e7398fa0219922d78f47553ddf0eef5b8f88f67829f57d39f67f54e17cc251f70bb8d4a614322c3b57c1765ccea248f30
|
||||
|
Loading…
Reference in New Issue
Block a user