OpenJDK rebuilding on windows takes a long time

Erik Joelsson erik.joelsson at oracle.com
Thu Feb 21 10:24:49 UTC 2013


If sjavac isn't working well for you, you could also try the workaround 
we put in place. Read section 5 in the user guide here:

http://openjdk.java.net/projects/build-infra/guide.html

/Erik

On 2013-02-21 10:31, Alexander Scherbatiy wrote:
>
>   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