# HG changeset patch # User jiefu # Date 1592061026 -28800 # Sat Jun 13 23:10:26 2020 +0800 # Node ID 345721a6af24c505a3acd6a2f0630045260ae39a # Parent c4841b997e1a3f62a2f7304f62d9e7004edeaa6b 8247522: assert(is_aligned(class_space_rs.base(), class_space_alignment)) failed: Sanity Reviewed-by: diff --git a/src/hotspot/share/memory/metaspaceShared.cpp b/src/hotspot/share/memory/metaspaceShared.cpp --- a/src/hotspot/share/memory/metaspaceShared.cpp +++ b/src/hotspot/share/memory/metaspaceShared.cpp @@ -2502,8 +2502,8 @@ "CompressedClassSpaceSize malformed: " SIZE_FORMAT, CompressedClassSpaceSize); - const size_t ccs_begin_offset = align_up(archive_space_size, - class_space_alignment); + const size_t ccs_begin_offset = align_up(base_address + archive_space_size, + class_space_alignment) - base_address; const size_t gap_size = ccs_begin_offset - archive_space_size; const size_t total_range_size = diff --git a/test/hotspot/jtreg/runtime/cds/SharedBaseAddress.java b/test/hotspot/jtreg/runtime/cds/SharedBaseAddress.java --- a/test/hotspot/jtreg/runtime/cds/SharedBaseAddress.java +++ b/test/hotspot/jtreg/runtime/cds/SharedBaseAddress.java @@ -41,6 +41,7 @@ "1g", "8g", "64g","512g", "4t", "32t", "128t", "0", "1", "64k", "64M", + "0x800001000", // Default base address + 1 page - probably valid but unaligned to metaspace alignment, see JDK 8247522 "0xfffffffffff00000", // archive top wraps around 64-bit address space "0xfff80000", // archive top wraps around 32-bit address space "0xffffffffffffffff", // archive bottom wraps around 64-bit address space -- due to align_up() diff --git a/test/hotspot/jtreg/runtime/cds/appcds/SharedBaseAddress.java b/test/hotspot/jtreg/runtime/cds/appcds/SharedBaseAddress.java --- a/test/hotspot/jtreg/runtime/cds/appcds/SharedBaseAddress.java +++ b/test/hotspot/jtreg/runtime/cds/appcds/SharedBaseAddress.java @@ -41,7 +41,8 @@ private static final String[] testTable = { "1g", "8g", "64g","512g", "4t", "32t", "128t", "0", - "1", "64k", "64M", "320g" + "1", "64k", "64M", "320g", + "0x800001000" // Default base address + 1 page - probably valid but unaligned to metaspace alignment, see JDK 8247522 }; public static void main(String[] args) throws Exception {