[yocto] meta-java: Problems creating image inside VM? openjdk-6 build gets killed by host OOM killer.

Colin Smiley csmiley at icontrol.com
Mon Jan 12 14:54:04 PST 2015


Mark, thanks for the reply. Comments in-line.

On 1/12/15, 1:11 PM, "Mark Hatle" <mark.hatle at windriver.com> wrote:

>On 1/11/15 3:39 PM, Colin Smiley wrote:
>> 
>> I need help.
>> 
>
>... commenting on the one piece I'm aware of ...
>
>> 8) Run `bitbake java-6-test-image`. This runs until compilation failure,
>> due to a date bug introduced in meta-java on 12/31/14, with:
>> 
>> 
>>/home/csmiley/yacto/poky/build/tmp/work/i586-poky-linux/openjdk-6-jre/6b2
>>4-
>> 1.11.9-r22.1/build/bootstrap/jdk1.6.0/bin/java  -client -Xmx896m
>>-Xms128m
>> -XX:PermSize=32m -XX:MaxPermSize=160m -jar
>> 
>>/home/csmiley/yacto/poky/build/tmp/work/i586-poky-linux/openjdk-6-jre/6b2
>>4-
>> 1.11.9-r22.1/build/openjdk.build-ecj/btjars/generatecurrencydata.jar -o
>> 
>>/home/csmiley/yacto/poky/build/tmp/work/i586-poky-linux/openjdk-6-jre/6b2
>>4-
>> 1.11.9-r22.1/build/openjdk.build-ecj/lib/currency.data.temp \
>> | 	< ../../../src/share/classes/java/util/CurrencyData.properties
>> | Error: time is more than 10 years from present: 1104530400000
>> | java.lang.RuntimeException: time is more than 10 years from present:
>> 1104530400000
>> | 	at 
>> 
>>build.tools.generatecurrencydata.GenerateCurrencyData.makeSpecialCaseEntr
>>y(
>> GenerateCurrencyData.java:285)
>> | 	at 
>> 
>>build.tools.generatecurrencydata.GenerateCurrencyData.buildMainAndSpecial
>>Ca
>> seTables(GenerateCurrencyData.java:225)
>> | 	at 
>> 
>>build.tools.generatecurrencydata.GenerateCurrencyData.main(GenerateCurren
>>cy
>> Data.java:154)
>> 
>> 9) Fix above problem by editing all instances of
>> build/tmp/work/work/Š/CurrencyData.properties to get rid of Turkish
>> Currency Issue.
>
>That is right answer (well kind of).  Really a patch needs to be
>submitted for
>this little bit of insanity.

According to an OpenJDK board/mailing list I saw in my googling-about,
they’re looking towards back-porting some of the currency changes from
OpenJDK 7. 

My inclination is to supply a patch into the recipe that will patch
CurrencyData post source checkout, but pre-build. I am new to how yocto
works, however, so I’m not sure if that’s the right way to do it.



>
>> 10) Restart by running `bitbake java-6-test-image`. This now fails when
>> doing the generation on Sizes.32 with:
>> | i586-poky-linux-gcc  -m32 -march=i586
>> --sysroot=/home/csmiley/yocto/poky/build/tmp/sysroots/qemux86  -O2 -pipe
>> -g -feliminate-unused-debug-types   -fno-strict-aliasing -fPIC -W -Wall
>> -Wno-unused -Wno-parentheses -m32 -D_LITTLE_ENDIAN -g   -DARCH='"i586"'
>> -Di586 -DLINUX -DRELEASE='"1.6.0_24"' -D_LARGEFILE64_SOURCE
>>-D_GNU_SOURCE
>> -D_REENTRANT -I.
>> 
>>-I/home/csmiley/yocto/poky/build/tmp/work/i586-poky-linux/openjdk-6-jre/6
>>b2
>> 
>>4-1.11.9-r22.1/icedtea6-1.11.9/build/openjdk.build-ecj/tmp/sun/sun.awt.X1
>>1/
>> xawt/CClassHeaders -I../../../src/solaris/javavm/export
>> -I../../../src/share/javavm/export -I../../../src/share/javavm/include
>> -I../../../src/solaris/javavm/include -I../../../src/share/native/common
>> -I../../../src/solaris/native/common
>> -I../../../src/share/native/sun/awt/X11
>> -I../../../src/solaris/native/sun/awt/X11
>> -I/home/csmiley/yocto/poky/build/tmp/sysroots/qemux86/usr/include -DXAWT
>> -DXAWT_HACK 
>> 
>>-I/home/csmiley/yocto/poky/build/tmp/work/i586-poky-linux/openjdk-6-jre/6
>>b2
>> 
>>4-1.11.9-r22.1/icedtea6-1.11.9/build/openjdk.build-ecj/tmp/sun/sun.awt.X1
>>1/
>> xawt/../../sun.awt/awt/CClassHeaders
>>-I../../../src/solaris/native/sun/awt
>> -I../../../src/solaris/native/sun/xawt
>> -I../../../src/solaris/native/sun/jdga
>> -I../../../src/share/native/sun/awt/debug
>> -I../../../src/share/native/sun/awt/image/cvutils
>> -I../../../src/share/native/sun/java2d
>> -I../../../src/share/native/sun/java2d/loops
>> -I../../../src/share/native/sun/awt/image/cvutils
>> -I../../../src/share/native/sun/awt/image
>> -I../../../src/share/native/sun/font
>> -I../../../src/solaris/native/sun/java2d
>> -I../../../src/share/native/sun/java2d/pipe
>> -I../../../src/share/native/sun/java2d/opengl
>> -I../../../src/solaris/native/sun/java2d/opengl
>> -I../../../src/solaris/native/sun/java2d/x11
>> -I../../../src/share/native/sun/dc/path
>> -I../../../src/share/native/sun/dc/doe
>> -I../../../src/share/native/sun/awt/alphacomposite
>> -I../../../src/share/native/sun/awt/medialib
>> -I../../../src/solaris/native/sun/awt/medialib
>> -I../../../src/solaris/native/sun/font
>>-I../../../src/share/native/sun/awt
>> -I../../../src/solaris/native/sun/awt -o
>> 
>>/home/csmiley/yocto/poky/build/tmp/work/i586-poky-linux/openjdk-6-jre/6b2
>>4-
>> 
>>1.11.9-r22.1/icedtea6-1.11.9/build/generated.build/sun/awt/X11/generator/
>>si
>> zer.32 
>> 
>>/home/csmiley/yocto/poky/build/tmp/work/i586-poky-linux/openjdk-6-jre/6b2
>>4-
>> 
>>1.11.9-r22.1/icedtea6-1.11.9/build/generated.build/sun/awt/X11/generator/
>>si
>> zer.32.c
>> | GENERATING 
>> 
>>/home/csmiley/yocto/poky/build/tmp/work/i586-poky-linux/openjdk-6-jre/6b2
>>4-
>> 
>>1.11.9-r22.1/icedtea6-1.11.9/build/generated.build/sun/awt/X11/generator/
>>si
>> zes.32
>> | Killed
>> | make[5]: *** 
>> 
>>[/home/csmiley/yocto/poky/build/tmp/work/i586-poky-linux/openjdk-6-jre/6b
>>24
>> 
>>-1.11.9-r22.1/icedtea6-1.11.9/build/generated.build/sun/awt/X11/generator
>>/s
>> izes.32] Error 137
>> 
>> 
>> 
>> System console has the message:
>> Jan 11 02:00:47 yoctomatic kernel: [59600.572556] Out of memory: Kill
>> process 69268 (qemu-i386) score 944 or sacrifice child
>> Jan 11 02:00:47 yoctomatic kernel: [59600.573756] Killed process 69268
>> (qemu-i386) total-vm:15519392kB, anon-rss:7674264kB, file-rss:32kB
>
>The above seems to indicate you host system ran out of memory or your
>local
>resource space was hit.
>
>Some of the generators can take gigabytes of memory and when a parallel
>build is
>attempted smaller systems just are not enough.  (Yes, 16 GB of actual ram
>is
>starting to be considered "small" for some of these kinds of builds.)
>
>I'd recommend checking you local environment settings (ulimit), verifying
>that
>you have plenty of swamp.. and if you are still having problems limit the
>number
>of parallel jobs.  (Parallel tasks should still be fine.)
>
>(BTW most of my builders have 16-24 cores, 32-64 GB of ram, and 256+ GB of
>swap...  I've not run into these myself, but I'm not building java on a
>regular
>basis either.)

First off, that’s a heck of a build machine setup. I think our IT guy just
fainted.

Second, I have tried building with just 1 parallel job with the same
results. I’m adding a 32GB swap disk to my VM. I’ll see if that works.

Thanks,


Colin



More information about the yocto mailing list