Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP1:GA
java-11-openjdk.15188
JDK-8228407.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File JDK-8228407.patch of Package java-11-openjdk.15188
# HG changeset patch # User ccheung # Date 1564075552 25200 # Thu Jul 25 10:25:52 2019 -0700 # 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 --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);
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor