mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-07-29 22:28:08 -07:00
dev-java/openjdk: add patch to 11.0.7 to fix SIGSEGV in bootstrap
Happens if bootstrap jvm was compiled with 11.0.7 (like -bin version) Bug: https://bugs.gentoo.org/719118 Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
This commit is contained in:
55
dev-java/openjdk/files/openjdk-11.0.7_p10-sigsegv.patch
Normal file
55
dev-java/openjdk/files/openjdk-11.0.7_p10-sigsegv.patch
Normal file
@@ -0,0 +1,55 @@
|
||||
|
||||
# HG changeset patch
|
||||
# User ccheung
|
||||
# Date 1564075552 25200
|
||||
# Node ID f1332f6025515e4fc9e42fbf79f983d782abaaf0
|
||||
# Parent 966fc6d784a737ec25cd0b1be48109a4a3fa02ad
|
||||
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 -r 966fc6d784a7 -r f1332f602551 src/hotspot/share/memory/filemap.cpp
|
||||
--- a/src/hotspot/share/memory/filemap.cpp Mon Mar 02 12:30:59 2020 +0100
|
||||
+++ b/src/hotspot/share/memory/filemap.cpp Thu Jul 25 10:25:52 2019 -0700
|
||||
@@ -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 -r 966fc6d784a7 -r f1332f602551 test/hotspot/jtreg/runtime/appcds/SharedArchiveConsistency.java
|
||||
--- a/test/hotspot/jtreg/runtime/appcds/SharedArchiveConsistency.java Mon Mar 02 12:30:59 2020 +0100
|
||||
+++ b/test/hotspot/jtreg/runtime/appcds/SharedArchiveConsistency.java Thu Jul 25 10:25:52 2019 -0700
|
||||
@@ -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);
|
||||
|
||||
@@ -77,6 +77,10 @@ REQUIRED_USE="javafx? ( alsa !headless-awt )"
|
||||
|
||||
S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${P}-sigsegv.patch"
|
||||
)
|
||||
|
||||
# The space required to build varies wildly depending on USE flags,
|
||||
# ranging from 2GB to 16GB. This function is certainly not exact but
|
||||
# should be close enough to be useful.
|
||||
|
||||
Reference in New Issue
Block a user