some 32bit builds broken in icedtea 2.3.9

Matthias Klose doko at ubuntu.com
Mon Apr 29 14:00:11 PDT 2013


at least on some 32bit platforms, icedtea builds are broken:

see https://buildd.debian.org/status/package.php?p=openjdk-7
the i386 and s390 build logs.

this is caused by the changes below:

--- build/openjdk/jdk/make/common/shared/Platform.gmk
+++ build/openjdk/jdk/make/common/shared/Platform.gmk
@@ -537,7 +537,7 @@
       else \
         echo "false"; \
       fi)
-    MAX_VM_MEMORY := 512
+    MAX_VM_MEMORY := 1536
     MIN_VM_MEMORY := $(MAX_VM_MEMORY)
   else
     MB_OF_MEMORY       := unknown
--- build/openjdk/jdk/make/docs/Makefile        2013-04-29 21:06:38.450777732 +0200
+++ build/openjdk/jdk/make/docs/Makefile        2013-04-29 21:22:19.085051363 +0200
@@ -69,11 +69,11 @@
 #    NOTE: javadoc will not complete without these larger settings.
 #    WARNING: This could cause thrashing on low memory machines.
 ifeq ($(ARCH_DATA_MODEL),64)
-  MAX_VM_MEMORY = 1536
+  MAX_VM_MEMORY = 1792
 else ifeq ($(ARCH),universal)
-  MAX_VM_MEMORY = 1536
+  MAX_VM_MEMORY = 1792
 else
-  MAX_VM_MEMORY = $(shell if [ $(MIN_VM_MEMORY) -gt 768 ]; then echo
$(MIN_VM_MEMORY); else echo 768; fi)
+  MAX_VM_MEMORY = 768
 endif

 # List of all possible directories for javadoc to look for sources


building the docs on i386:

.../java ... -client -Xmx768m -Xms1536m ...
Error occurred during initialization of VM
Incompatible minimum and maximum heap sizes specified
make[5]: ***
[/build/buildd-openjdk-7_7u21-2.3.9-2-i386-pV_IFD/openjdk-7-7u21-2.3.9/build/openjdk.build/docs/api/index.html]
Error 1

this is caused by re-setting MAX_VM_MEMORY without re-setting MIN_VM_MEMORY in
openjdk/jdk/make/docs/Makefile.

proposed fix:

  MIN_VM_MEMORY := $(MAX_VM_MEMORY)

MIN_VM_MEMORY should not be a simply expanded variable in
openjdk/jdk/make/common/shared/Platform.gmk, so that the re-set affects
MIN_VM_MEMORY too.
Just use:

  MIN_VM_MEMORY = $(MAX_VM_MEMORY)

This build failure did only show on Debian, not Ubuntu, however I couldn't yet
find out why it did fail on the former, while it did succeed on the latter.


the zero s390 build failure is caused by increasing MAX_VM_MEMORY by 1G, which
is two high on s390. afaics the highest value the s390 vm does accept is about
768+128m. Can somebody else verify this on another s390 machine?

Setting this to 768 for the s390 build lets the  build succeed.  Why was this
value changed in the first place?  which platform does require a 300% memory
increase for the build?

  Matthias




More information about the distro-pkg-dev mailing list