diff --git a/8264805-Backport-Ahead-of-Time-Compiler.patch b/8264805-Backport-Ahead-of-Time-Compiler.patch index 960d6a7c9b580ffd2cea06910984fea146b171cb..ffc80334ed800f0768d01b0bdffb314198a685e7 100644 --- a/8264805-Backport-Ahead-of-Time-Compiler.patch +++ b/8264805-Backport-Ahead-of-Time-Compiler.patch @@ -616,13 +616,6 @@ diff --git a/make/RunTests.gmk b/make/RunTests.gmk index 57a282bfd..9fad1ed43 100644 --- a/make/RunTests.gmk +++ b/make/RunTests.gmk -@@ -1,5 +1,5 @@ - # --# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved. -+# Copyright (c) 2016, 2023, Oracle and/or its affiliates. All rights reserved. - # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - # - # This code is free software; you can redistribute it and/or modify it @@ -46,7 +46,7 @@ endif $(eval $(call ParseKeywordVariable, TEST_OPTS, \ @@ -676,20 +669,20 @@ index 57a282bfd..9fad1ed43 100644 + $$($1_AOT_LIB): $$(JDK_UNDER_TEST)/release \ + $$(call DependOnVariable, $1_JAOTC_OPTS) \ + $$(call DependOnVariable, JDK_UNDER_TEST) -+ $$(call LogWarn, Generating $$(patsubst $$(OUTPUTDIR)/%, %, $$@)) -+ $$(call MakeTargetDir) -+ $$(call ExecuteWithLog, $$@, \ -+ $((COV_ENVIRONMENT) \ -+ $$(FIXPATH) $$(JDK_UNDER_TEST)/bin/jaotc \ -+ $$($1_JAOTC_OPTS) --output $$@ --module $$($1_MODULE) \ -+ ) -+ $$(call ExecuteWithLog, $$@.check, ( \ -+ $$(FIXPATH) $$(JDK_UNDER_TEST)/bin/java \ -+ $$($1_VM_OPTIONS) -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions \ -+ -XX:+PrintAOT -XX:+UseAOTStrictLoading \ -+ -XX:AOTLibrary=$$@ -version \ -+ > $$@.verify-aot \ -+ )) ++ $$(call LogWarn, Generating $$(patsubst $$(OUTPUTDIR)/%, %, $$@)) ++ $$(call MakeTargetDir) ++ $$(call ExecuteWithLog, $$@, \ ++ $((COV_ENVIRONMENT) \ ++ $$(FIXPATH) $$(JDK_UNDER_TEST)/bin/jaotc \ ++ $$($1_JAOTC_OPTS) --output $$@ --module $$($1_MODULE) \ ++ ) ++ $$(call ExecuteWithLog, $$@.check, ( \ ++ $$(FIXPATH) $$(JDK_UNDER_TEST)/bin/java \ ++ $$($1_VM_OPTIONS) -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions \ ++ -XX:+PrintAOT -XX:+UseAOTStrictLoading \ ++ -XX:AOTLibrary=$$@ -version \ ++ > $$@.verify-aot \ ++ )) + + $1_AOT_OPTIONS += -XX:+UnlockExperimentalVMOptions + $1_AOT_OPTIONS += -XX:AOTLibrary=$$($1_AOT_LIB) @@ -739,30 +732,30 @@ index 57a282bfd..9fad1ed43 100644 $(eval $(call SetTestOpt,TIMEOUT_FACTOR,JTREG)) @@ -202,7 +293,7 @@ $(eval $(call ParseKeywordVariable, JTREG, \ TEST_MODE ASSERT VERBOSE RETAIN MAX_MEM RUN_PROBLEM_LISTS \ - RETRY_COUNT REPEAT_COUNT MAX_OUTPUT, \ + RETRY_COUNT REPEAT_COUNT MAX_OUTPUT $(CUSTOM_JTREG_SINGLE_KEYWORDS), \ STRING_KEYWORDS := OPTIONS JAVA_OPTIONS VM_OPTIONS KEYWORDS \ -- EXTRA_PROBLEM_LISTS LAUNCHER_OPTIONS, \ -+ EXTRA_PROBLEM_LISTS AOT_MODULES LAUNCHER_OPTIONS, \ +- EXTRA_PROBLEM_LISTS LAUNCHER_OPTIONS\ ++ EXTRA_PROBLEM_LISTS AOT_MODULES LAUNCHER_OPTIONS\ + $(CUSTOM_JTREG_STRING_KEYWORDS), \ )) - ifneq ($(JTREG), ) -@@ -214,10 +305,11 @@ endif - +@@ -306,10 +306,11 @@ endif + $(eval $(call SetTestOpt,VM_OPTIONS,GTEST)) $(eval $(call SetTestOpt,JAVA_OPTIONS,GTEST)) +$(eval $(call SetTestOpt,AOT_MODULES,GTEST)) - + $(eval $(call ParseKeywordVariable, GTEST, \ SINGLE_KEYWORDS := REPEAT, \ - STRING_KEYWORDS := OPTIONS VM_OPTIONS JAVA_OPTIONS, \ + STRING_KEYWORDS := OPTIONS VM_OPTIONS JAVA_OPTIONS AOT_MODULES, \ )) - + ifneq ($(GTEST), ) -@@ -498,7 +590,14 @@ define SetupRunGtestTestBody +@@ -499,7 +590,14 @@ define SetupRunGtestTestBody $1_GTEST_REPEAT :=--gtest_repeat=$$(GTEST_REPEAT) endif - + - run-test-$1: pre-run-test + ifneq ($$(GTEST_AOT_MODULES), ) + $$(eval $$(call SetupAot, $1, \ @@ -775,7 +768,7 @@ index 57a282bfd..9fad1ed43 100644 $$(call LogWarn) $$(call LogWarn, Running test '$$($1_TEST)') $$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR)) -@@ -509,7 +608,7 @@ define SetupRunGtestTestBody +@@ -510,7 +608,7 @@ define SetupRunGtestTestBody --gtest_output=xml:$$($1_TEST_RESULTS_DIR)/gtest.xml \ --gtest_catch_exceptions=0 \ $$($1_GTEST_REPEAT) $$(GTEST_OPTIONS) $$(GTEST_VM_OPTIONS) \ @@ -784,9 +777,9 @@ index 57a282bfd..9fad1ed43 100644 > >($(TEE) $$($1_TEST_RESULTS_DIR)/gtest.txt) \ && $$(ECHO) $$$$? > $$($1_EXITCODE) \ || $$(ECHO) $$$$? > $$($1_EXITCODE) \ -@@ -844,6 +943,17 @@ define SetupRunJtregTestBody - endif - endif +@@ -874,6 +972,17 @@ define SetupRunJtregTestBody + + JTREG_TIMEOUT_FACTOR ?= $$(JTREG_AUTO_TIMEOUT_FACTOR) + ifneq ($$(JTREG_AOT_MODULES), ) + $$(eval $$(call SetupAot, $1, \ @@ -802,7 +795,7 @@ index 57a282bfd..9fad1ed43 100644 clean-outputdirs-$1: $$(RM) -r $$($1_TEST_SUPPORT_DIR) $$(RM) -r $$($1_TEST_RESULTS_DIR) -@@ -891,7 +1001,7 @@ define SetupRunJtregTestBody +@@ -921,7 +1030,7 @@ define SetupRunJtregTestBody done endif @@ -32837,13 +32830,6 @@ diff --git a/test/hotspot/jtreg/vmTestbase/vm/compiler/CodeCacheInfo/Test.java b index 118d6c8f8..a3cc54cfd 100644 --- a/test/hotspot/jtreg/vmTestbase/vm/compiler/CodeCacheInfo/Test.java +++ b/test/hotspot/jtreg/vmTestbase/vm/compiler/CodeCacheInfo/Test.java -@@ -1,5 +1,5 @@ - /* -- * Copyright (c) 2017, 2022, Oracle and/or its affiliates. All rights reserved. -+ * Copyright (c) 2017, 2023, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it @@ -62,6 +62,15 @@ public class Test { String segPrefix = "^(CodeHeap '[^']+':" + p1 + p2 + ")+"; String nosegPrefix = "^CodeCache:" + p1 + p2; @@ -32904,24 +32890,17 @@ diff --git a/test/jdk/java/lang/Class/getDeclaredField/FieldSetAccessibleTest.ja index 12cab1f5d..7c647d6d4 100644 --- a/test/jdk/java/lang/Class/getDeclaredField/FieldSetAccessibleTest.java +++ b/test/jdk/java/lang/Class/getDeclaredField/FieldSetAccessibleTest.java -@@ -1,5 +1,5 @@ - /* -- * Copyright (c) 2014, 2021, Oracle and/or its affiliates. All rights reserved. -+ * Copyright (c) 2014, 2023, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it -@@ -288,8 +288,8 @@ public class FieldSetAccessibleTest { - static Set systemModules() { - Set mods = Set.of("javafx.deploy", "jdk.deploy", "jdk.plugin", "jdk.javaws", - // All JVMCI packages other than jdk.vm.ci.services are dynamically -- // exported to jdk.internal.vm.compiler -- "jdk.internal.vm.compiler" -+ // exported to jdk.internal.vm.compiler and jdk.aot -+ "jdk.internal.vm.compiler", "jdk.aot" +@@ -312,8 +312,8 @@ public class FieldSetAccessibleTest { + + Set mods = Set.of( + // All JVMCI packages other than jdk.vm.ci.services are dynamically +- // exported to jdk.internal.vm.compiler +- "jdk.internal.vm.compiler", "jdk.internal.vm.compiler.management" ++ // exported to jdk.internal.vm.compiler and jdk.aot ++ "jdk.internal.vm.compiler", "jdk.internal.vm.compiler.management", "jdk.aot" ); - return ModuleFinder.ofSystem().findAll().stream() - .map(mref -> mref.descriptor().name()) + // Filters all modules that directly or indirectly require jdk.internal.vm.compiler + // and jdk.internal.vm.compiler.management, as these are upgradeable and diff --git a/test/jdk/jdk/modules/etc/UpgradeableModules.java b/test/jdk/jdk/modules/etc/UpgradeableModules.java index 59ff5aa6b..a7e467b50 100644 --- a/test/jdk/jdk/modules/etc/UpgradeableModules.java diff --git a/8280872-Reorder-code-cache-segments-to-improv.patch b/8280872-Reorder-code-cache-segments-to-improv.patch index 78d9df05f0f96ec0f5290e98d04cba6a74665a56..a9dcbd9d823c55e1e5dca75ba238abe231377c57 100644 --- a/8280872-Reorder-code-cache-segments-to-improv.patch +++ b/8280872-Reorder-code-cache-segments-to-improv.patch @@ -305,7 +305,7 @@ index f47331a6d..000000000 - "-XX:CompileCommand=option," + className + "::main,bool,PrintAssembly,true", - className}; - -- ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(procArgs); +- ProcessBuilder pb = ProcessTools.createLimitedTestJavaProcessBuilder(procArgs); - OutputAnalyzer output = new OutputAnalyzer(pb.start()); - List lines = output.asLines(); - diff --git a/8323066-TestSkipRebuildRemsetPhase.java-fails-with-S.patch b/8323066-TestSkipRebuildRemsetPhase.java-fails-with-S.patch index e4998b6addd6e8badcd62e1729cba92043067f84..b677a7998f328f43dba5309b415b4470c78f7662 100644 --- a/8323066-TestSkipRebuildRemsetPhase.java-fails-with-S.patch +++ b/8323066-TestSkipRebuildRemsetPhase.java-fails-with-S.patch @@ -11,14 +11,14 @@ index 860d3ce48..1a4c13132 100644 --- a/test/hotspot/jtreg/gc/g1/TestSkipRebuildRemsetPhase.java +++ b/test/hotspot/jtreg/gc/g1/TestSkipRebuildRemsetPhase.java @@ -45,7 +45,7 @@ public class TestSkipRebuildRemsetPhase { - "-XX:+UnlockExperimentalVMOptions", - "-XX:+UnlockDiagnosticVMOptions", - "-XX:+WhiteBoxAPI", -- "-XX:G1MixedGCLiveThresholdPercent=20", -+ "-XX:G1MixedGCLiveThresholdPercent=0", - "-Xlog:gc+marking=debug,gc+phases=debug,gc+remset+tracking=trace", - "-Xms10M", - "-Xmx10M", + "-XX:+UnlockExperimentalVMOptions", + "-XX:+UnlockDiagnosticVMOptions", + "-XX:+WhiteBoxAPI", +- "-XX:G1MixedGCLiveThresholdPercent=20", ++ "-XX:G1MixedGCLiveThresholdPercent=0", + "-Xlog:gc+marking=debug,gc+phases=debug,gc+remset+tracking=trace", + "-Xms10M", + "-Xmx10M", -- 2.22.0 diff --git a/Backport-Important-Fixed-Issues.patch b/Backport-Important-Fixed-Issues.patch index af236a8ba8151585a6d1befd271d65f7c9c1abab..eb174ce5e5038977ba5a6b17abfafde45d810213 100644 --- a/Backport-Important-Fixed-Issues.patch +++ b/Backport-Important-Fixed-Issues.patch @@ -13,17 +13,14 @@ src/hotspot/share/opto/loopopts.cpp | 6 +- src/hotspot/share/opto/macroArrayCopy.cpp | 4 +- src/hotspot/share/utilities/exceptions.cpp | 4 +- - .../classes/java/nio/charset/Charset.java | 8 +- .../sun/security/jca/ProviderList.java | 8 +- .../classes/sun/security/provider/SHA3.java | 14 +- .../sun/security/provider/SHAKE128.java | 49 ++++ .../media/sound/StandardMidiFileReader.java | 10 +- .../classes/java/awt/image/BufferedImage.java | 28 +-- .../java/awt/image/WritableRaster.java | 37 +-- - .../swing/plaf/basic/BasicComboPopup.java | 4 +- .../swing/plaf/basic/BasicDirectoryModel.java | 103 ++++----- .../classes/javax/swing/text/html/CSS.java | 6 +- - .../sun/jndi/ldap/sasl/SaslInputStream.java | 4 +- .../jdk/internal/net/http/common/Utils.java | 10 +- .../share/native/libj2gss/GSSLibStub.c | 10 +- .../com/sun/tools/javac/comp/Annotate.java | 7 +- @@ -36,9 +33,7 @@ .../containers/docker/TestContainerInfo.java | 97 ++++++++ .../java/awt/image/BufferedImage/SetData.java | 114 ++++++++++ .../net/httpclient/HttpClientBuilderTest.java | 19 +- - .../java/nio/charset/Charset/AliasesCopy.java | 69 ++++++ .../File/SMFInterruptedRunningStatus.java | 143 ++++++++++++ - .../javax/swing/JComboBox/ComboPopupBug.java | 91 ++++++++ .../jfr/api/consumer/TestRecordedClass.java | 115 ++++++++++ .../ConcurrentGetMonitoredHost.java | 90 ++++++++ .../sun/security/jca/NullPreferredList.java | 41 ++++ @@ -54,9 +49,7 @@ create mode 100644 test/hotspot/jtreg/compiler/splitif/TestSplitDivThroughPhiWithControl.java create mode 100644 test/hotspot/jtreg/containers/docker/TestContainerInfo.java create mode 100644 test/jdk/java/awt/image/BufferedImage/SetData.java - create mode 100644 test/jdk/java/nio/charset/Charset/AliasesCopy.java create mode 100644 test/jdk/javax/sound/midi/File/SMFInterruptedRunningStatus.java - create mode 100644 test/jdk/javax/swing/JComboBox/ComboPopupBug.java create mode 100644 test/jdk/jdk/jfr/api/consumer/TestRecordedClass.java create mode 100644 test/jdk/sun/jvmstat/monitor/MonitoredVm/ConcurrentGetMonitoredHost.java create mode 100644 test/jdk/sun/security/jca/NullPreferredList.java @@ -336,32 +329,6 @@ index cf9291f6d..499542235 100644 ls->print_cr("%s throws BSME for " INTPTR_FORMAT, is_indy ? "invokedynamic" : "dynamic constant", p2i((void *)exception)); exception->print_on(ls); } -diff --git a/src/java.base/share/classes/java/nio/charset/Charset.java b/src/java.base/share/classes/java/nio/charset/Charset.java -index 0ac18a23b..2b1942122 100644 ---- a/src/java.base/share/classes/java/nio/charset/Charset.java -+++ b/src/java.base/share/classes/java/nio/charset/Charset.java -@@ -41,7 +41,6 @@ import java.util.Iterator; - import java.util.Locale; - import java.util.Map; - import java.util.NoSuchElementException; --import java.util.Objects; - import java.util.ServiceConfigurationError; - import java.util.ServiceLoader; - import java.util.Set; -@@ -636,7 +635,12 @@ public abstract class Charset - * If the canonical name or any of the aliases are illegal - */ - protected Charset(String canonicalName, String[] aliases) { -- String[] as = Objects.requireNonNullElse(aliases, zeroAliases); -+ String[] as = -+ aliases == null ? -+ zeroAliases : -+ VM.isSystemDomainLoader(getClass().getClassLoader()) ? -+ aliases : -+ Arrays.copyOf(aliases, aliases.length); - - // Skip checks for the standard, built-in Charsets we always load - // during initialization. diff --git a/src/java.base/share/classes/sun/security/jca/ProviderList.java b/src/java.base/share/classes/sun/security/jca/ProviderList.java index 9b41172c0..4b30c76cf 100644 --- a/src/java.base/share/classes/sun/security/jca/ProviderList.java @@ -615,26 +582,6 @@ index 0e345026c..bcca029c1 100644 switch (srcRaster.getSampleModel().getDataType()) { case DataBuffer.TYPE_BYTE: -diff --git a/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicComboPopup.java b/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicComboPopup.java -index 050f27e72..197f3238b 100644 ---- a/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicComboPopup.java -+++ b/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicComboPopup.java -@@ -1,5 +1,5 @@ - /* -- * Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved. -+ * Copyright (c) 1998, 2024, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it -@@ -921,7 +921,7 @@ public class BasicComboPopup extends JPopupMenu implements ComboPopup { - if (e.getSource() == list) { - return; - } -- if (!SwingUtilities.isLeftMouseButton(e) || !comboBox.isEnabled()) -+ if (!SwingUtilities.isLeftMouseButton(e) || !comboBox.isEnabled() || !comboBox.isShowing()) - return; - - if ( comboBox.isEditable() ) { diff --git a/src/java.desktop/share/classes/javax/swing/text/html/CSS.java b/src/java.desktop/share/classes/javax/swing/text/html/CSS.java index c14b5a126..311f172b8 100644 --- a/src/java.desktop/share/classes/javax/swing/text/html/CSS.java @@ -666,26 +613,6 @@ index c14b5a126..311f172b8 100644 } } } -diff --git a/src/java.naming/share/classes/com/sun/jndi/ldap/sasl/SaslInputStream.java b/src/java.naming/share/classes/com/sun/jndi/ldap/sasl/SaslInputStream.java -index f0746c103..534f7dac7 100644 ---- a/src/java.naming/share/classes/com/sun/jndi/ldap/sasl/SaslInputStream.java -+++ b/src/java.naming/share/classes/com/sun/jndi/ldap/sasl/SaslInputStream.java -@@ -1,5 +1,5 @@ - /* -- * Copyright (c) 2001, 2003, Oracle and/or its affiliates. All rights reserved. -+ * Copyright (c) 2001, 2024, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it -@@ -78,7 +78,7 @@ public class SaslInputStream extends InputStream { - byte[] inBuf = new byte[1]; - int count = read(inBuf, 0, 1); - if (count > 0) { -- return inBuf[0]; -+ return inBuf[0] & 0xff; - } else { - return -1; - } diff --git a/src/java.net.http/share/classes/jdk/internal/net/http/common/Utils.java b/src/java.net.http/share/classes/jdk/internal/net/http/common/Utils.java index a3f6a11aa..0955bdffe 100644 --- a/src/java.net.http/share/classes/jdk/internal/net/http/common/Utils.java @@ -1488,81 +1415,6 @@ index 121793014..ef43ec8b9 100644 } @Test -diff --git a/test/jdk/java/nio/charset/Charset/AliasesCopy.java b/test/jdk/java/nio/charset/Charset/AliasesCopy.java -new file mode 100644 -index 000000000..66ee830c5 ---- /dev/null -+++ b/test/jdk/java/nio/charset/Charset/AliasesCopy.java -@@ -0,0 +1,69 @@ -+/* -+ * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. -+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -+ * -+ * This code is free software; you can redistribute it and/or modify it -+ * under the terms of the GNU General Public License version 2 only, as -+ * published by the Free Software Foundation. -+ * -+ * This code 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 General Public License -+ * version 2 for more details (a copy is included in the LICENSE file that -+ * accompanied this code). -+ * -+ * You should have received a copy of the GNU General Public License version -+ * 2 along with this work; if not, write to the Free Software Foundation, -+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -+ * -+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -+ * or visit www.oracle.com if you need additional information or have any -+ * questions. -+ */ -+ -+/* @test -+ * @bug 8319817 -+ * @summary Check that aliases cannot be mutated -+ * @run junit AliasesCopy -+ */ -+ -+import java.nio.charset.Charset; -+import java.nio.charset.CharsetDecoder; -+import java.nio.charset.CharsetEncoder; -+import java.util.Set; -+ -+import org.junit.jupiter.api.Test; -+import static org.junit.jupiter.api.Assertions.assertIterableEquals; -+ -+public class AliasesCopy { -+ private static final Set ALIASES_SET = Set.of("foo-alias"); -+ private static final String[] ALIASES_ARRAY = ALIASES_SET.toArray(String[]::new); -+ -+ @Test -+ public void aliasesCopy() { -+ final FooCharset cs = new FooCharset(ALIASES_ARRAY); -+ ALIASES_ARRAY[0] = "bar-alias"; -+ assertIterableEquals(ALIASES_SET, cs.aliases()); -+ } -+ -+ private static final class FooCharset extends Charset { -+ private FooCharset(String[] aliases) { -+ super("foo", aliases); -+ } -+ -+ @Override -+ public CharsetEncoder newEncoder() { -+ throw new RuntimeException("not implemented"); -+ } -+ -+ @Override -+ public CharsetDecoder newDecoder() { -+ throw new RuntimeException("not implemented"); -+ } -+ -+ @Override -+ public boolean contains(Charset cs) { -+ throw new RuntimeException("not implemented"); -+ } -+ } -+} diff --git a/test/jdk/javax/sound/midi/File/SMFInterruptedRunningStatus.java b/test/jdk/javax/sound/midi/File/SMFInterruptedRunningStatus.java new file mode 100644 index 000000000..1b82e2f73 @@ -1712,103 +1564,6 @@ index 000000000..1b82e2f73 + (byte) 0xFF, 0x2F, 0x00 // META (end of track) + }; +} -diff --git a/test/jdk/javax/swing/JComboBox/ComboPopupBug.java b/test/jdk/javax/swing/JComboBox/ComboPopupBug.java -new file mode 100644 -index 000000000..830216f0d ---- /dev/null -+++ b/test/jdk/javax/swing/JComboBox/ComboPopupBug.java -@@ -0,0 +1,91 @@ -+/* -+ * Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved. -+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -+ * -+ * This code is free software; you can redistribute it and/or modify it -+ * under the terms of the GNU General Public License version 2 only, as -+ * published by the Free Software Foundation. -+ * -+ * This code 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 General Public License -+ * version 2 for more details (a copy is included in the LICENSE file that -+ * accompanied this code). -+ * -+ * You should have received a copy of the GNU General Public License version -+ * 2 along with this work; if not, write to the Free Software Foundation, -+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -+ * -+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -+ * or visit www.oracle.com if you need additional information or have any -+ * questions. -+ */ -+ -+import javax.swing.JButton; -+import javax.swing.JComboBox; -+import javax.swing.JFrame; -+import javax.swing.SwingUtilities; -+ -+/* -+ * @test -+ * @bug 8322754 -+ * @summary Verifies clicking JComboBox during frame closure causes Exception -+ * @library /java/awt/regtesthelpers -+ * @build PassFailJFrame -+ * @run main/manual ComboPopupBug -+ */ -+ -+public class ComboPopupBug { -+ private static final String instructionsText = """ -+ This test is used to verify that clicking on JComboBox -+ when frame containing it is about to close should not -+ cause IllegalStateException. -+ A JComboBox is shown with Close button at the bottom. -+ Click on Close and then click on JComboBox arrow button -+ to try to show combobox popup. -+ If IllegalStateException is thrown, test will automatically Fail -+ otherwise click Pass. """; -+ -+ public static void main(String[] args) throws Exception { -+ PassFailJFrame passFailJFrame = new PassFailJFrame.Builder() -+ .title("ComboPopup Instructions") -+ .instructions(instructionsText) -+ .testTimeOut(5) -+ .rows(10) -+ .columns(35) -+ .build(); -+ -+ SwingUtilities.invokeAndWait(() -> { -+ JFrame frame = new JFrame("ComboPopup"); -+ -+ JComboBox cb = new JComboBox(); -+ cb.setEditable(true); -+ cb.addItem("test"); -+ cb.addItem("test2"); -+ cb.addItem("test3"); -+ frame.getContentPane().add(cb, "North"); -+ -+ JButton b = new JButton("Close"); -+ b.addActionListener( -+ (e)->{ -+ try { -+ Thread.sleep(3000); -+ } -+ catch (Exception ex) { -+ } -+ frame.setVisible(false); -+ -+ }); -+ frame.getContentPane().add(b, "South"); -+ frame.setSize(200, 200); -+ -+ PassFailJFrame.addTestWindow(frame); -+ PassFailJFrame.positionTestWindow(frame, -+ PassFailJFrame.Position.HORIZONTAL); -+ -+ frame.setVisible(true); -+ }); -+ -+ passFailJFrame.awaitAndCheck(); -+ } -+} diff --git a/test/jdk/sun/jvmstat/monitor/MonitoredVm/ConcurrentGetMonitoredHost.java b/test/jdk/sun/jvmstat/monitor/MonitoredVm/ConcurrentGetMonitoredHost.java new file mode 100644 index 000000000..a6049f6a0 diff --git a/add-version-txt.patch b/add-version-txt.patch index be2d555d0cd681c1ec02654da51a49477ac760c7..9ce549c410630f78515409d49aee386ce7bf6988 100644 --- a/add-version-txt.patch +++ b/add-version-txt.patch @@ -13,7 +13,7 @@ index 000000000..b717bafbe --- /dev/null +++ b/version.txt @@ -0,0 +1 @@ -+17.0.13.0.13 ++17.0.14.0.13 -- 2.19.0 diff --git a/jdk-updates-jdk17u-jdk-17.0.13+11.tar.gz b/jdk-updates-jdk17u-jdk-17.0.14+7.tar.gz similarity index 86% rename from jdk-updates-jdk17u-jdk-17.0.13+11.tar.gz rename to jdk-updates-jdk17u-jdk-17.0.14+7.tar.gz index 0b1eca37b1f3299ab57054d1285c13c810eb0164..fefd7d5811e9195d24fea1b6d0dd3c58c67bf7f3 100644 Binary files a/jdk-updates-jdk17u-jdk-17.0.13+11.tar.gz and b/jdk-updates-jdk17u-jdk-17.0.14+7.tar.gz differ diff --git a/jdk17-Add-KAE-provider.patch b/jdk17-Add-KAE-provider.patch index cc4e7ea9a9bb509c24d9c6c1c1f3b002121ffe64..9ab81ba6a76f44f5d05eecd28c7d590ccb8dcd58 100644 --- a/jdk17-Add-KAE-provider.patch +++ b/jdk17-Add-KAE-provider.patch @@ -10630,7 +10630,7 @@ index 1e16c157f..9ed420d52 100644 import java.util.List; @@ -53,7 +54,13 @@ public class KeyAgreementTest { String kpgAlgo = args[1]; - String provider = args[2]; + String provider = System.getProperty("test.provider.name", args[2]); System.out.println("Testing " + kaAlgo); - AlgoSpec aSpec = AlgoSpec.valueOf(AlgoSpec.class, kaAlgo); + AlgoSpec aSpec; @@ -10663,16 +10663,18 @@ diff --git a/test/jdk/java/security/Signature/SignatureGetInstance.java b/test/j index c246773f8..b69258cd9 100644 --- a/test/jdk/java/security/Signature/SignatureGetInstance.java +++ b/test/jdk/java/security/Signature/SignatureGetInstance.java -@@ -49,8 +49,11 @@ public class SignatureGetInstance { +@@ -54,9 +54,13 @@ public class SignatureGetInstance { MyPrivKey testPriv = new MyPrivKey(); MyPubKey testPub = new MyPubKey(); + Provider kaeProvider = Security.getProvider("KAEProvider"); -+ String expectedProvName = kaeProvider != null ? "KAEProvider" : "SunRsaSign"; ++ String expectedProvName = kaeProvider != null ? "KAEProvider" : "SunRsaSign"; ++ + testDblInit(testPriv, testPub, true, "TestProvider"); -- testDblInit(kp.getPrivate(), kp.getPublic(), true, "SunRsaSign"); -+ testDblInit(kp.getPrivate(), kp.getPublic(), true, expectedProvName); + testDblInit(kp.getPrivate(), kp.getPublic(), true, +- System.getProperty("test.provider.name", "SunRsaSign")); ++ System.getProperty("test.provider.name", expectedProName)); testDblInit(testPriv, kp.getPublic(), false, null); testDblInit(kp.getPrivate(), testPub, false, null); @@ -12833,7 +12835,7 @@ index 58bcbe911..bfc38df35 100644 String expected; String value = args[1]; -- expected = "SunJCE"; +- expected = System.getProperty("test.provider.name", "SunJCE"); + + if (Security.getProperty("security.provider.1").equals("KAEProvider")) { + expected = "KAEProvider"; @@ -12873,12 +12875,12 @@ diff --git a/test/jdk/sun/security/pkcs11/policy b/test/jdk/sun/security/pkcs11/ index 54281a781..4d887e239 100644 --- a/test/jdk/sun/security/pkcs11/policy +++ b/test/jdk/sun/security/pkcs11/policy -@@ -1,3 +1,4 @@ +@@ -1,4 +1,5 @@ grant { permission java.lang.RuntimePermission "setSecurityManager"; + permission java.util.PropertyPermission "test.provider.name", "read"; + permission java.util.PropertyPermission "kae.disableKaeDispose", "read"; }; -\ No newline at end of file diff --git a/test/jdk/sun/security/ssl/CipherSuite/DisabledCurve.java b/test/jdk/sun/security/ssl/CipherSuite/DisabledCurve.java index 26304c5df..ca618ccfe 100644 --- a/test/jdk/sun/security/ssl/CipherSuite/DisabledCurve.java diff --git a/openjdk-17.spec b/openjdk-17.spec index 79cca59a1ac06e44b13b3570e4ef167bc6bdcf8f..4c69127f93e3f7a77b5005b9e06862c75b5ed6a1 100644 --- a/openjdk-17.spec +++ b/openjdk-17.spec @@ -162,7 +162,7 @@ # Used via new version scheme. JDK 17 was # GA'ed in March 2021 => 21.9 %global vendor_version_string 21.9 -%global securityver 13 +%global securityver 14 # buildjdkver is usually same as %%{majorver}, # but in time of bootstrap of next jdk, it is majorver-1, # and this it is better to change it here, on single place @@ -188,7 +188,7 @@ %global origin_nice OpenJDK %global top_level_dir_name %{origin} %global minorver 0 -%global buildver 11 +%global buildver 7 # 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 %global priority %( printf '%02d%02d%02d%02d' %{majorver} %{minorver} %{securityver} %{buildver} ) @@ -914,7 +914,7 @@ Provides: java-src%{?1} = %{epoch}:%{version}-%{release} Name: java-%{javaver}-%{origin} Version: %{newjavaver}.%{buildver} -Release: 8 +Release: 0 # java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons # and this change was brought into RHEL-4. java-1.5.0-ibm packages @@ -1963,6 +1963,15 @@ cjc.mainProgram(args) -- the returns from copy_jdk_configs.lua should not affect %changelog +* Thu Jan 23 2025 Benshuai5D - 1:17.0.14.7-0 +- update to 17.0.14 +- modify 8264805-Backport-Ahead-of-Time-Compiler.patch +- modify 8280872-Reorder-code-cache-segments-to-improv.patch +- modify 8323066-TestSkipRebuildRemsetPhase.java-fails-with-S.patch +- modify Backport-Important-Fixed-Issues.patch +- modify add-version-txt.patch +- modify jdk17-Add-KAE-provider.patch + * Thu Dec 12 2024 kuenking111 - 1:17.0.13.11-8 - add Fix-a-concurrent-issue-of-program-data-ref-cnt.patch