From 4ec363660fd43d212732f3aadc1d8dd12ad69769 Mon Sep 17 00:00:00 2001 From: wanghao_hw Date: Tue, 30 May 2023 13:24:17 +0800 Subject: [PATCH] I79DUL: del 8284336_CDS_SignedJar_java_test_fails_due__to_archived_Reference_object.patch --- ...ls_due__to_archived_Reference_object.patch | 97 ------------------- openjdk-17.spec | 7 +- 2 files changed, 4 insertions(+), 100 deletions(-) delete mode 100644 8284336_CDS_SignedJar_java_test_fails_due__to_archived_Reference_object.patch diff --git a/8284336_CDS_SignedJar_java_test_fails_due__to_archived_Reference_object.patch b/8284336_CDS_SignedJar_java_test_fails_due__to_archived_Reference_object.patch deleted file mode 100644 index 9a458d9..0000000 --- a/8284336_CDS_SignedJar_java_test_fails_due__to_archived_Reference_object.patch +++ /dev/null @@ -1,97 +0,0 @@ -diff --git a/src/hotspot/share/cds/heapShared.cpp b/src/hotspot/share/cds/heapShared.cpp -index fd3d199f8..722c7e82e 100644 ---- a/src/hotspot/share/cds/heapShared.cpp -+++ b/src/hotspot/share/cds/heapShared.cpp -@@ -171,6 +171,23 @@ void HeapShared::reset_archived_object_states(TRAPS) { - reset_states(SystemDictionary::java_platform_loader(), CHECK); - log_debug(cds)("Resetting system loader"); - reset_states(SystemDictionary::java_system_loader(), CHECK); -+ -+ // Clean up jdk.internal.loader.ClassLoaders::bootLoader(), which is not -+ // directly used for class loading, but rather is used by the core library -+ // to keep track of resources, etc, loaded by the null class loader. -+ // -+ // Note, this object is non-null, and is not the same as -+ // ClassLoaderData::the_null_class_loader_data()->class_loader(), -+ // which is null. -+ log_debug(cds)("Resetting boot loader"); -+ JavaValue result(T_OBJECT); -+ JavaCalls::call_static(&result, -+ vmClasses::jdk_internal_loader_ClassLoaders_klass(), -+ vmSymbols::bootLoader_name(), -+ vmSymbols::void_BuiltinClassLoader_signature(), -+ CHECK); -+ Handle boot_loader(THREAD, result.get_oop()); -+ reset_states(boot_loader(), CHECK); - } - - HeapShared::ArchivedObjectCache* HeapShared::_archived_object_cache = NULL; -diff --git a/src/hotspot/share/classfile/javaClasses.cpp b/src/hotspot/share/classfile/javaClasses.cpp -index 793beb479..b21ab6eb6 100644 ---- a/src/hotspot/share/classfile/javaClasses.cpp -+++ b/src/hotspot/share/classfile/javaClasses.cpp -@@ -5086,7 +5086,10 @@ bool JavaClasses::is_supported_for_archiving(oop obj) { - // constant pool entries, so excluding them shouldn't affect the archiving of static fields. - klass == vmClasses::ResolvedMethodName_klass() || - klass == vmClasses::MemberName_klass() || -- klass == vmClasses::Context_klass()) { -+ klass == vmClasses::Context_klass() || -+ // It's problematic to archive Reference objects. One of the reasons is that -+ // Reference::discovered may pull in unwanted objects (see JDK-8284336) -+ klass->is_subclass_of(vmClasses::Reference_klass())) { - return false; - } - -diff --git a/src/hotspot/share/classfile/vmSymbols.hpp b/src/hotspot/share/classfile/vmSymbols.hpp -index 79a6991b1..47f1f4119 100644 ---- a/src/hotspot/share/classfile/vmSymbols.hpp -+++ b/src/hotspot/share/classfile/vmSymbols.hpp -@@ -401,6 +401,7 @@ - template(deadChild_name, "deadChild") \ - template(getFromClass_name, "getFromClass") \ - template(dispatch_name, "dispatch") \ -+ template(bootLoader_name, "bootLoader") \ - template(getPlatformClassLoader_name, "getPlatformClassLoader") \ - template(getSystemClassLoader_name, "getSystemClassLoader") \ - template(fillInStackTrace_name, "fillInStackTrace") \ -@@ -558,6 +559,7 @@ - template(int_int_void_signature, "(II)V") \ - template(long_long_void_signature, "(JJ)V") \ - template(void_classloader_signature, "()Ljava/lang/ClassLoader;") \ -+ template(void_BuiltinClassLoader_signature, "()Ljdk/internal/loader/BuiltinClassLoader;") \ - template(void_object_signature, "()Ljava/lang/Object;") \ - template(void_class_signature, "()Ljava/lang/Class;") \ - template(void_class_array_signature, "()[Ljava/lang/Class;") \ -diff --git a/src/java.base/share/classes/java/lang/ClassLoader.java b/src/java.base/share/classes/java/lang/ClassLoader.java -index 7ad0f6191..a1c5096d9 100644 ---- a/src/java.base/share/classes/java/lang/ClassLoader.java -+++ b/src/java.base/share/classes/java/lang/ClassLoader.java -@@ -2701,7 +2701,9 @@ public abstract class ClassLoader { - * Called by the VM, during -Xshare:dump - */ - private void resetArchivedStates() { -- parallelLockMap.clear(); -+ if (parallelLockMap != null) { -+ parallelLockMap.clear(); -+ } - packages.clear(); - package2certs.clear(); - classes.clear(); -diff --git a/src/java.base/share/classes/jdk/internal/loader/BuiltinClassLoader.java b/src/java.base/share/classes/jdk/internal/loader/BuiltinClassLoader.java -index cd7406ac5..1f7df7900 100644 ---- a/src/java.base/share/classes/jdk/internal/loader/BuiltinClassLoader.java -+++ b/src/java.base/share/classes/jdk/internal/loader/BuiltinClassLoader.java -@@ -1,5 +1,5 @@ - /* -- * Copyright (c) 2015, 2021, Oracle and/or its affiliates. All rights reserved. -+ * Copyright (c) 2015, 2022, 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 -@@ -1083,5 +1083,6 @@ public class BuiltinClassLoader - // Called from VM only, during -Xshare:dump - private void resetArchivedStates() { - ucp = null; -+ resourceCache = null; - } - } diff --git a/openjdk-17.spec b/openjdk-17.spec index a90bac2..4441f6a 100644 --- a/openjdk-17.spec +++ b/openjdk-17.spec @@ -888,7 +888,7 @@ Provides: java-src%{?1} = %{epoch}:%{version}-%{release} Name: java-%{javaver}-%{origin} Version: %{newjavaver}.%{buildver} -Release: 4 +Release: 5 # 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 @@ -984,7 +984,6 @@ Patch23: Apply-TBI-barrier-patch-to-C1.patch Patch24: 8275509-ModuleDescriptor.hashCode-isn-t-reproducible.patch # 17.0.7 -Patch25: 8284336_CDS_SignedJar_java_test_fails_due__to_archived_Reference_object.patch Patch26: 8280872-Reorder-code-cache-segments-to-improv.patch ############################################ @@ -1233,7 +1232,6 @@ pushd %{top_level_dir_name} %patch22 -p1 %patch23 -p1 %patch24 -p1 -%patch25 -p1 %patch26 -p1 popd # openjdk %endif @@ -1794,6 +1792,9 @@ cjc.mainProgram(arg) %changelog +* Tue May 30 2023 wanghao_hw - 1:17.0.7.7-0.5 +- del 8284336_CDS_SignedJar_java_test_fails_due__to_archived_Reference_object.patch + * Mon May 29 2023 wanghao_hw - 1:17.0.7.7-0.4 - add 8280872-Reorder-code-cache-segments-to-improv.patch -- Gitee