JDK Build Broken since "8242524: Use different default CDS archives depending on UseCompressOops"

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Fri May 15 11:58:24 UTC 2020


In theory, this patch should work, but I cannot verify it. Marc, can you 
try it out?

diff --git a/make/Images.gmk b/make/Images.gmk
--- a/make/Images.gmk
+++ b/make/Images.gmk
@@ -147,31 +147,33 @@

    JRE_TARGETS += $(gen_cds_archive_jre)

-  $(eval $(call SetupExecute, gen_cds_nocoops_archive_jdk, \
-      WARN := Creating CDS-NOCOOPS archive for jdk image, \
-      DEPS := $(jlink_jdk), \
-      OUTPUT_FILE := $(JDK_IMAGE_DIR)/$(CDS_NOCOOPS_ARCHIVE), \
-      SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jdk, \
-      COMMAND := $(FIXPATH) $(JDK_IMAGE_DIR)/bin/java -Xshare:dump \
- -XX:SharedArchiveFile=$(JDK_IMAGE_DIR)/$(CDS_NOCOOPS_ARCHIVE) \
-          -XX:-UseCompressedOops \
-          -Xmx128M -Xms128M $(LOG_INFO), \
-  ))
+  ifeq ($(call isTargetCpuBits, 64), true)
+    $(eval $(call SetupExecute, gen_cds_nocoops_archive_jdk, \
+        WARN := Creating CDS-NOCOOPS archive for jdk image, \
+        DEPS := $(jlink_jdk), \
+        OUTPUT_FILE := $(JDK_IMAGE_DIR)/$(CDS_NOCOOPS_ARCHIVE), \
+        SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jdk, \
+        COMMAND := $(FIXPATH) $(JDK_IMAGE_DIR)/bin/java -Xshare:dump \
+ -XX:SharedArchiveFile=$(JDK_IMAGE_DIR)/$(CDS_NOCOOPS_ARCHIVE) \
+            -XX:-UseCompressedOops \
+            -Xmx128M -Xms128M $(LOG_INFO), \
+    ))

-  JDK_TARGETS += $(gen_cds_nocoops_archive_jdk)
+    JDK_TARGETS += $(gen_cds_nocoops_archive_jdk)

-  $(eval $(call SetupExecute, gen_cds_nocoops_archive_jre, \
-      WARN := Creating CDS-NOCOOPS archive for jre image, \
-      DEPS := $(jlink_jre), \
-      OUTPUT_FILE := $(JRE_IMAGE_DIR)/$(CDS_NOCOOPS_ARCHIVE), \
-      SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jre, \
-      COMMAND := $(FIXPATH) $(JRE_IMAGE_DIR)/bin/java -Xshare:dump \
- -XX:SharedArchiveFile=$(JRE_IMAGE_DIR)/$(CDS_NOCOOPS_ARCHIVE) \
-          -XX:-UseCompressedOops \
-          -Xmx128M -Xms128M $(LOG_INFO), \
-  ))
+    $(eval $(call SetupExecute, gen_cds_nocoops_archive_jre, \
+        WARN := Creating CDS-NOCOOPS archive for jre image, \
+        DEPS := $(jlink_jre), \
+        OUTPUT_FILE := $(JRE_IMAGE_DIR)/$(CDS_NOCOOPS_ARCHIVE), \
+        SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jre, \
+        COMMAND := $(FIXPATH) $(JRE_IMAGE_DIR)/bin/java -Xshare:dump \
+ -XX:SharedArchiveFile=$(JRE_IMAGE_DIR)/$(CDS_NOCOOPS_ARCHIVE) \
+            -XX:-UseCompressedOops \
+            -Xmx128M -Xms128M $(LOG_INFO), \
+    ))

-  JRE_TARGETS += $(gen_cds_nocoops_archive_jre)
+    JRE_TARGETS += $(gen_cds_nocoops_archive_jre)
+  endif
  endif

  ################################################################################

/Magnus

On 2020-05-15 08:18, David Holmes wrote:
> https://bugs.openjdk.java.net/browse/JDK-8245070
>
> David
>
> On 15/05/2020 4:10 pm, David Holmes wrote:
>> Hi Marc,
>>
>> I will file a bug for this. Thanks for the report.
>>
>> David
>>
>> On 15/05/2020 4:04 pm, Marc Hoffmann wrote:
>>> Dear Rory, dear all,
>>>
>>> JaCoCo project here. It looks like that OpenJDK build for jdk main 
>>> dev branch (Java 15) is broken for us on ARM32 since commit
>>>
>>>      changeset 59296:e25b21095e86
>>>
>>>      8242524: Use different default CDS archives depending on 
>>> UseCompressOops
>>>      Reviewed-by: erikj, iklam, ccheung
>>>
>>> The logged error is:
>>>
>>>      === Output from failing command(s) repeated here ===
>>>      * For target support_images_jdk__gen_cds_nocoops_archive_jdk_exec:
>>>      Unrecognized VM option 'UseCompressedOops'
>>>      Did you mean '(+/-)CheckCompressedOops'? Error: Could not 
>>> create the Java Virtual Machine.
>>>      Error: A fatal exception has occurred. Program will exit.
>>>
>>>
>>> Best regards,
>>> -marc
>>>




More information about the build-dev mailing list