[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 16:08:50 PST 2015


Well, adding more SWAP to the VM didn’t work. Qemu-i386 used it all!

Jan 12 17:57:09 yoctomatic kernel: [ 5474.131213] Out of memory: Kill
process 123621 (qemu-i386) score 983 or sacrifice child
Jan 12 17:57:09 yoctomatic kernel: [ 5474.131698] Killed process 123621
(qemu-i386) total-vm:49056108kB, anon-rss:7479716kB, file-rss:4kB

I added 32GB of swap to my existing VM, for a total of 41840632 kb.


You’ll see, above, that qemu-i386 used it all, plus the physical. Failure
happens in the same place, as well.


Colin


On 1/12/15, 4:54 PM, "Colin Smiley" <csmiley at icontrol.com> wrote:

>
>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/6b
>>>2
>>>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/6b
>>>2
>>>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/6b
>>>2
>>>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.makeSpecialCaseEnt
>>>r
>>>y(
>>> GenerateCurrencyData.java:285)
>>> | 	at 
>>> 
>>>build.tools.generatecurrencydata.GenerateCurrencyData.buildMainAndSpecia
>>>l
>>>Ca
>>> seTables(GenerateCurrencyData.java:225)
>>> | 	at 
>>> 
>>>build.tools.generatecurrencydata.GenerateCurrencyData.main(GenerateCurre
>>>n
>>>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.X
>>>1
>>>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.X
>>>1
>>>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/6b
>>>2
>>>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/6b
>>>2
>>>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/6b
>>>2
>>>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/6
>>>b
>>>24
>>> 
>>>-1.11.9-r22.1/icedtea6-1.11.9/build/generated.build/sun/awt/X11/generato
>>>r
>>>/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
>
>-- 
>_______________________________________________
>yocto mailing list
>yocto at yoctoproject.org
>https://lists.yoctoproject.org/listinfo/yocto



More information about the yocto mailing list