OpenJDK rebuilding on windows takes a long time (original) (raw)

Alexander Scherbatiy alexandr.scherbatiy at oracle.com
Thu Feb 21 09:31:36 UTC 2013


I have created the issue: 8008641 JDK 8 rebuilding time regression on Windows

Thanks, Alexandr.

On 2/15/2013 7:18 PM, Alexander Scherbatiy wrote:

On 2/13/2013 8:45 PM, Kelly O'Hair wrote:

You are pointing at the fastdebug jdk as your boot jdk, why?

The official boot jdk for jdk8 is jdk7u7 we cannot guarantee anything else will work, although it should, when tracking down issues like this, you need to narrow down all the possible differences. I have no idea at this time what the 'sync state' is with the awt team forest. My recommendation would be to clone the official jdk8/jdk8 forest, which can be assumed to work since RE should have built it, or any integrator pushing changes into it should have built it. Create 2 forests of so you can do separate experiments on each. Then do the build from the root with a 7u7 jdk in your PATH (no need for the --with-boot-jdk option). Do a build without --enable-sjavac on one forest, then with it on the other. I made the proposed experiment. My goal is to build debug version of JDK that does not take a long time to rebuild. I put 1.7.007-b32 to PATH variable so ------------------------------------------------------------------- $ java -version java version "1.7.007" Java(TM) SE Runtime Environment (build 1.7.007-b32) Java HotSpot(TM) Client VM (build 23.3-b01, mixed mode) ------------------------------------------------------------------ I used http://hg.openjdk.java.net/jdk8/jdk8 repository. Each time I used the clean repository. 1) Build only debug version configure-arguments: --with-target-bits=32 --enable-debug ----- Build times ------- Start 2013-02-15 16:22:41 End 2013-02-15 16:40:01 00:00:45 corba 00:04:54 hotspot 00:00:38 jaxp 00:00:56 jaxws 00:09:18 jdk 00:00:41 langtools 00:17:20 TOTAL ------------------------- Build is successful. 2a) Build debug version with sjava (the same JDK in PATH, the same repository) configure-arguments: --with-target-bits=32 --enable-debug --enable-sjavac 100 errors 3 warnings make[1]: *** [/cygdrive/c/Sun/OpenJDK/utils/config/jdk8-sjavac/build/windows-x86-normal-server-fastdebug/jaxws/jaxwsclasses/javacstate] Error 127 make[1]: *** Waiting for unfinished jobs.... make: *** [jaxws-only] Error 2 See the attached out.txt and out.txt files in the attached zip. 2b) Build debug version with sjava (the same JDK in PATH, the same repository) configure-arguments: --with-target-bits=32 --enable-debug --enable-sjavac with the suggested patch that checks "os.name" variable: ----------------------------------------------------------- diff --git a/src/share/classes/com/sun/tools/sjavac/server/CompilerThread.java b/src/share/classes/com/sun/tools/sjavac/server/CompilerThread.java --- a/src/share/classes/com/sun/tools/sjavac/server/CompilerThread.java +++ b/src/share/classes/com/sun/tools/sjavac/server/CompilerThread.java @@ -255,7 +255,7 @@ } // Load visible sources Set visibleSources = new HashSet(); - boolean fixdrivelettercase = System.getProperty("os.name").toLowerCase().equals("windows"); + boolean fixdrivelettercase = System.getProperty("os.name").toLowerCase().startsWith("windows"); for (;;) { String l = in.readLine(); if (l == null) ----------------------------------------------------------- Compilation fails with error: ----------------------------------------------------------- The system is out of resources. Consult the following stack trace for details. java.lang.OutOfMemoryError: Java heap space ----------------------------------------------------------- See the attached outpatch.txt and errpatch.txt files in the attached zip. Could you check this scenario (--with-target-bits=32 --enable-debug --enable-sjavac) on your side? Thanks, Alexandr. -kto



More information about the build-dev mailing list