OpenJDK rebuilding on windows takes a long time

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.0_07-b32 to PATH variable so
>    -------------------------------------------------------------------
>     $ java -version
>     java version "1.7.0_07"
>     Java(TM) SE Runtime Environment (build 1.7.0_07-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/jaxws_classes/javac_state] 
> 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<URI> visibleSources = new HashSet<URI>();
> -            boolean fix_drive_letter_case = 
> System.getProperty("os.name").toLowerCase().equals("windows");
> +            boolean fix_drive_letter_case = 
> 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 out_patch.txt and err_patch.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