Update to shenandoah-jdk-11.0.8+1 (EA)

Switch to EA mode for 11.0.8 pre-release builds.
Drop JDK-8237396 & JDK-8228407 backports now applied upstream.
This commit is contained in:
Andrew John Hughes 2020-05-18 19:54:50 +01:00
parent 9c6396e9b3
commit 8c1b6230db
5 changed files with 11 additions and 123 deletions

1
.gitignore vendored
View File

@ -49,3 +49,4 @@
/shenandoah-jdk11-shenandoah-jdk-11.0.7+9.tar.xz
/shenandoah-jdk11-shenandoah-jdk-11.0.7+10-4curve.tar.xz
/shenandoah-jdk11-shenandoah-jdk-11.0.7+10.tar.xz
/shenandoah-jdk11-shenandoah-jdk-11.0.8+1-4curve.tar.xz

View File

@ -200,7 +200,7 @@
# New Version-String scheme-style defines
%global majorver 11
%global securityver 7
%global securityver 8
# 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
@ -225,8 +225,8 @@
%global origin_nice OpenJDK
%global top_level_dir_name %{origin}
%global minorver 0
%global buildver 10
%global rpmrelease 2
%global buildver 1
%global rpmrelease 0
#%%global tagsuffix ""
# priority must be 8 digits in total; untill openjdk 1.8 we were using 18..... so when moving to 11 we had to add another digit
%if %is_system_jdk
@ -243,7 +243,7 @@
# Release will be (where N is usually a number starting at 1):
# - 0.N%%{?extraver}%%{?dist} for EA releases,
# - N%%{?extraver}{?dist} for GA releases
%global is_ga 1
%global is_ga 0
%if %{is_ga}
%global ea_designator ""
%global ea_designator_zip ""
@ -1073,10 +1073,6 @@ Patch8: s390-8214206_fix.patch
# able to be removed once that release is out
# and used by this RPM.
#############################################
# JDK-8237396: JvmtiTagMap::weak_oops_do() should not trigger barriers
Patch11: jdk8237396-avoid_triggering_barriers.patch
# JDK-8228407: JVM crashes with shared archive file mismatch
Patch12: jdk8228407-shared_archive_crash.patch
# JDK-8233880: Support compilers with multi-digit major version numbers
Patch13: jdk8233880-compiler_versioning.patch
@ -1314,8 +1310,6 @@ pushd %{top_level_dir_name}
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
popd # openjdk
@ -1862,6 +1856,11 @@ require "copy_jdk_configs.lua"
%changelog
* Mon May 18 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.8.1-0.0.ea
- Update to shenandoah-jdk-11.0.8+1 (EA)
- Switch to EA mode for 11.0.8 pre-release builds.
- Drop JDK-8237396 & JDK-8228407 backports now applied upstream.
* Sun May 17 2020 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.7.10-2
- Backport JDK-8233880 to fix version detection of GCC 10.
- Remove explicit compiler flags which should be handled by the upstream build

View File

@ -1,54 +0,0 @@
# HG changeset patch
# User ccheung
# Date 1564075552 25200
# Thu Jul 25 10:25:52 2019 -0700
# Node ID 1edf6cc224fbf975eadf2a1810f67816a8607d30
# Parent 73dbc713d4ddbdbeae71375db1603d85cef47f99
8228407: JVM crashes with shared archive file mismatch
Summary: Stop processing other header fields if initial header check has failed.
Reviewed-by: dholmes, jiangli
diff --git a/src/hotspot/share/memory/filemap.cpp b/src/hotspot/share/memory/filemap.cpp
--- a/src/hotspot/share/memory/filemap.cpp
+++ b/src/hotspot/share/memory/filemap.cpp
@@ -1287,7 +1287,9 @@
}
init_from_file(_fd);
- if (!validate_header()) {
+ // UseSharedSpaces could be disabled if the checking of some of the header fields in
+ // init_from_file has failed.
+ if (!UseSharedSpaces || !validate_header()) {
return false;
}
return true;
diff --git a/test/hotspot/jtreg/runtime/appcds/SharedArchiveConsistency.java b/test/hotspot/jtreg/runtime/appcds/SharedArchiveConsistency.java
--- a/test/hotspot/jtreg/runtime/appcds/SharedArchiveConsistency.java
+++ b/test/hotspot/jtreg/runtime/appcds/SharedArchiveConsistency.java
@@ -385,8 +385,16 @@
output.shouldNotContain("Checksum verification failed");
copyFile(orgJsaFile, jsa);
+ // modify _jvm_ident and run with -Xshare:auto
+ System.out.println("\n2b. Corrupt _jvm_ident run with -Xshare:auto\n");
+ modifyJvmIdent();
+ output = TestCommon.execAuto(execArgs);
+ output.shouldContain("The shared archive file was created by a different version or build of HotSpot");
+ output.shouldContain("Hello World");
+
+ copyFile(orgJsaFile, jsa);
// modify _magic and _paths_misc_info_size, test should fail
- System.out.println("\n2b. Corrupt _magic and _paths_misc_info_size, should fail\n");
+ System.out.println("\n2c. Corrupt _magic and _paths_misc_info_size, should fail\n");
modifyHeaderIntField(offset_magic, 0x00000000);
modifyHeaderIntField(offset_paths_misc_info_size, Integer.MAX_VALUE);
output = TestCommon.execCommon(execArgs);
@@ -395,7 +403,7 @@
copyFile(orgJsaFile, jsa);
// modify _version and _paths_misc_info_size, test should fail
- System.out.println("\n2c. Corrupt _version and _paths_misc_info_size, should fail\n");
+ System.out.println("\n2d. Corrupt _version and _paths_misc_info_size, should fail\n");
modifyHeaderIntField(offset_version, 0x00000000);
modifyHeaderIntField(offset_paths_misc_info_size, Integer.MAX_VALUE);
output = TestCommon.execCommon(execArgs);

View File

@ -1,58 +0,0 @@
# HG changeset patch
# User zgu
# Date 1579696811 18000
# Wed Jan 22 07:40:11 2020 -0500
# Node ID 91ea567eeabeade6b3f8d6cf10c02ba53f700eca
# Parent 082f1d3eb1649ff776cda165ed78d65bc7361ebc
8237396: JvmtiTagMap::weak_oops_do() should not trigger barriers
Reviewed-by: stefank, rkennke
diff --git a/src/hotspot/share/prims/jvmtiTagMap.cpp b/src/hotspot/share/prims/jvmtiTagMap.cpp
--- a/src/hotspot/share/prims/jvmtiTagMap.cpp
+++ b/src/hotspot/share/prims/jvmtiTagMap.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2020, 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
@@ -96,6 +96,11 @@
inline oop object_peek() {
return NativeAccess<ON_PHANTOM_OOP_REF | AS_NO_KEEPALIVE>::oop_load(object_addr());
}
+
+ inline oop object_raw() {
+ return RawAccess<>::oop_load(object_addr());
+ }
+
inline jlong tag() const { return _tag; }
inline void set_tag(jlong tag) {
@@ -3357,7 +3362,7 @@
JvmtiTagHashmapEntry* next = entry->next();
// has object been GC'ed
- if (!is_alive->do_object_b(entry->object_peek())) {
+ if (!is_alive->do_object_b(entry->object_raw())) {
// grab the tag
jlong tag = entry->tag();
guarantee(tag != 0, "checking");
@@ -3375,7 +3380,7 @@
++freed;
} else {
f->do_oop(entry->object_addr());
- oop new_oop = entry->object_peek();
+ oop new_oop = entry->object_raw();
// if the object has moved then re-hash it and move its
// entry to its new location.
@@ -3409,7 +3414,7 @@
// Re-add all the entries which were kept aside
while (delayed_add != NULL) {
JvmtiTagHashmapEntry* next = delayed_add->next();
- unsigned int pos = JvmtiTagHashmap::hash(delayed_add->object_peek(), size);
+ unsigned int pos = JvmtiTagHashmap::hash(delayed_add->object_raw(), size);
delayed_add->set_next(table[pos]);
table[pos] = delayed_add;
delayed_add = next;

View File

@ -1,2 +1,2 @@
SHA512 (tapsets-icedtea-3.15.0.tar.xz) = c752a197cb3d812d50c35e11e4722772be40096c81d2a57933e0d9b8a3c708b9c157b8108a4e33a06ca7bb81648170994408c75d6f69d5ff12785d0c31009671
SHA512 (shenandoah-jdk11-shenandoah-jdk-11.0.7+10-4curve.tar.xz) = 469e7f43c131ba8970791fc9f7e84a13296943e8f68e80f27673b29e1837948f64ec3746a57b2aab9d508f8a038e7c3e4ae2d979b4d25e987093deeded0ebb70
SHA512 (shenandoah-jdk11-shenandoah-jdk-11.0.8+1-4curve.tar.xz) = 3a4b149eeeec876df8ce4be6a0ab6d4ad85639fc788e60dcad25c3c1ec6a119d500161be9e482cd6715f1d81d9ab79ac5617ede9148ff088662dd1be7ad0e243