From 1b48ab89e3aad105eb600cf727b79cb3c576b048 Mon Sep 17 00:00:00 2001 From: noah Date: Tue, 25 Aug 2020 11:42:18 +0800 Subject: [PATCH] add fix-jck-failure-on-FastSerializer.patch && 8240360-NativeLibraryEvent-has-wrong-library-name-on-linux.patch --- ...vent-has-wrong-library-name-on-linux.patch | 49 +++++++++++ fix-jck-failure-on-FastSerializer.patch | 88 +++++++++++++++++++ java-11-openjdk.spec | 10 ++- 3 files changed, 146 insertions(+), 1 deletion(-) create mode 100644 8240360-NativeLibraryEvent-has-wrong-library-name-on-linux.patch create mode 100644 fix-jck-failure-on-FastSerializer.patch diff --git a/8240360-NativeLibraryEvent-has-wrong-library-name-on-linux.patch b/8240360-NativeLibraryEvent-has-wrong-library-name-on-linux.patch new file mode 100644 index 0000000..b0c3b4e --- /dev/null +++ b/8240360-NativeLibraryEvent-has-wrong-library-name-on-linux.patch @@ -0,0 +1,49 @@ +From 06fb55216b96c8c9341265dbc4d441cbabd0a66d Mon Sep 17 00:00:00 2001 +Date: Fri, 31 Jul 2020 15:50:08 +0800 +Subject: [PATCH] 8240360:NativeLibraryEvent has wrong library name on Linux + +Summary: : +LLT: jdk11u/test/jdk/jdk/jfr/event/runtime/TestNativeLibrariesEvent.java +Bug url: https://bugs.openjdk.java.net/browse/JDK-8240360 +--- + src/hotspot/os/linux/os_linux.cpp | 20 +++++++++----------- + 1 file changed, 9 insertions(+), 11 deletions(-) + +diff --git a/src/hotspot/os/linux/os_linux.cpp b/src/hotspot/os/linux/os_linux.cpp +index 6ee57c1..a101d26 100644 +--- a/src/hotspot/os/linux/os_linux.cpp ++++ b/src/hotspot/os/linux/os_linux.cpp +@@ -2045,20 +2045,18 @@ int os::get_loaded_modules_info(os::LoadedModulesCallbackFunc callback, void *pa + + // Read line by line from 'file' + while (fgets(line, sizeof(line), procmapsFile) != NULL) { +- u8 base, top, offset, inode; +- char permissions[5]; +- char device[6]; ++ u8 base, top, inode; + char name[sizeof(line)]; + +- // Parse fields from line +- int matches = sscanf(line, UINT64_FORMAT_X "-" UINT64_FORMAT_X " %4s " UINT64_FORMAT_X " %5s " INT64_FORMAT " %s", +- &base, &top, permissions, &offset, device, &inode, name); +- // the last entry 'name' is empty for some entries, so we might have 6 matches instead of 7 for some lines +- if (matches < 6) continue; +- if (matches == 6) name[0] = '\0'; ++ // Parse fields from line, discard perms, offset and device ++ int matches = sscanf(line, UINT64_FORMAT_X "-" UINT64_FORMAT_X " %*s %*s %*s " INT64_FORMAT " %s", ++ &base, &top, &inode, name); ++ // the last entry 'name' is empty for some entries, so we might have 3 matches instead of 4 for some lines ++ if (matches < 3) continue; ++ if (matches == 3) name[0] = '\0'; + +- // Filter by device id '00:00' so that we only get file system mapped files. +- if (strcmp(device, "00:00") != 0) { ++ // Filter by inode 0 so that we only get file system mapped files. ++ if (inode != 0) { + + // Call callback with the fields of interest + if(callback(name, (address)base, (address)top, param)) { +-- +1.8.3.1 + + diff --git a/fix-jck-failure-on-FastSerializer.patch b/fix-jck-failure-on-FastSerializer.patch new file mode 100644 index 0000000..bb85048 --- /dev/null +++ b/fix-jck-failure-on-FastSerializer.patch @@ -0,0 +1,88 @@ +From cd63946e80ceb3f9de8a1ee02b38548c06cf532a Mon Sep 17 00:00:00 2001 +Date: Thu, 23 Jul 2020 16:40:31 +0800 +Subject: [PATCH] fix jck failure on FastSerializer + +Summary: : +LLT: jck +Bug url: NA +--- + src/java.base/share/classes/java/io/ObjectInputStream.java | 7 ++++++- + src/java.base/share/classes/java/io/ObjectOutputStream.java | 5 +++++ + src/java.base/share/classes/java/io/ObjectStreamClass.java | 2 +- + src/java.base/share/classes/java/io/ObjectStreamConstants.java | 5 ----- + 4 files changed, 12 insertions(+), 7 deletions(-) + +diff --git a/src/java.base/share/classes/java/io/ObjectInputStream.java b/src/java.base/share/classes/java/io/ObjectInputStream.java +index d71d44a..a48e50c 100644 +--- a/src/java.base/share/classes/java/io/ObjectInputStream.java ++++ b/src/java.base/share/classes/java/io/ObjectInputStream.java +@@ -381,6 +381,11 @@ public class ObjectInputStream + "printFastSerializer")).booleanValue(); + + /** ++ * Magic number that is written to the stream header when using fastserilizer. ++ */ ++ private static final short STREAM_MAGIC_FAST = (short)0xdeca; ++ ++ /** + * Creates an ObjectInputStream that reads from the specified InputStream. + * A serialization stream header is read from the stream and verified. + * This constructor will block until the corresponding ObjectOutputStream +@@ -752,7 +757,7 @@ public class ObjectInputStream + * Cache the class meta during serialization. + * Only used in FastSerilizer. + */ +- protected static ConcurrentHashMap> nameToClass = new ConcurrentHashMap<>(); ++ private static ConcurrentHashMap> nameToClass = new ConcurrentHashMap<>(); + + /** + * Load the local class equivalent of the specified stream class +diff --git a/src/java.base/share/classes/java/io/ObjectOutputStream.java b/src/java.base/share/classes/java/io/ObjectOutputStream.java +index 8935e61..0e54763 100644 +--- a/src/java.base/share/classes/java/io/ObjectOutputStream.java ++++ b/src/java.base/share/classes/java/io/ObjectOutputStream.java +@@ -251,6 +251,11 @@ public class ObjectOutputStream + "printFastSerializer")).booleanValue(); + + /** ++ * Magic number that is written to the stream header when using fastserilizer. ++ */ ++ private static final short STREAM_MAGIC_FAST = (short)0xdeca; ++ ++ /** + * Creates an ObjectOutputStream that writes to the specified OutputStream. + * This constructor writes the serialization stream header to the + * underlying stream; callers may wish to flush the stream immediately to +diff --git a/src/java.base/share/classes/java/io/ObjectStreamClass.java b/src/java.base/share/classes/java/io/ObjectStreamClass.java +index a5d7d2d..e37a784 100644 +--- a/src/java.base/share/classes/java/io/ObjectStreamClass.java ++++ b/src/java.base/share/classes/java/io/ObjectStreamClass.java +@@ -280,7 +280,7 @@ public class ObjectStreamClass implements Serializable { + * + * @return the flags for this class described by this descriptor + */ +- public byte getFlags(Object serialStream) { ++ byte getFlags(Object serialStream) { + byte flags = 0; + if (externalizable) { + flags |= ObjectStreamConstants.SC_EXTERNALIZABLE; +diff --git a/src/java.base/share/classes/java/io/ObjectStreamConstants.java b/src/java.base/share/classes/java/io/ObjectStreamConstants.java +index 9615778..43a480c 100644 +--- a/src/java.base/share/classes/java/io/ObjectStreamConstants.java ++++ b/src/java.base/share/classes/java/io/ObjectStreamConstants.java +@@ -39,11 +39,6 @@ public interface ObjectStreamConstants { + static final short STREAM_MAGIC = (short)0xaced; + + /** +- * Magic number that is written to the stream header when using fastserilizer. +- */ +- static final short STREAM_MAGIC_FAST = (short)0xdeca; +- +- /** + * Version number that is written to the stream header. + */ + static final short STREAM_VERSION = 5; +-- +1.8.3.1 + + diff --git a/java-11-openjdk.spec b/java-11-openjdk.spec index 72f49f9..e7cdfdd 100644 --- a/java-11-openjdk.spec +++ b/java-11-openjdk.spec @@ -735,7 +735,7 @@ Provides: java-src%{?1} = %{epoch}:%{version}-%{release} Name: java-%{javaver}-%{origin} Version: %{newjavaver}.%{buildver} -Release: 2 +Release: 3 # 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 # also included the epoch in their virtual provides. This created a @@ -816,6 +816,8 @@ Patch27: ZGC-aarch64-fix-not-using-load-store-Pre-index.patch Patch28: address-s-offset-may-exceed-the-limit-of-ldrw-instru.patch Patch29: ZGC-reuse-entries-of-ResolvedMethodTable.patch Patch30: fast-serializer-jdk11.patch +Patch31: fix-jck-failure-on-FastSerializer.patch +Patch32: 8240360-NativeLibraryEvent-has-wrong-library-name-on-linux.patch BuildRequires: autoconf BuildRequires: alsa-lib-devel @@ -1065,6 +1067,8 @@ pushd %{top_level_dir_name} %patch28 -p1 %patch29 -p1 %patch30 -p1 +%patch31 -p1 +%patch32 -p1 popd # openjdk %patch1000 @@ -1567,6 +1571,10 @@ require "copy_jdk_configs.lua" %changelog +* Tue Aug 25 2020 noah - 1:11.0.8.10-3 +- add fix-jck-failure-on-FastSerializer.patch +- add 8240360-NativeLibraryEvent-has-wrong-library-name-on-linux.patch + * Mon Jul 20 2020 jdkboy - 1:11.0.8.10-2 - add fast-serializer-jdk11.patch -- Gitee