[yocto] java.lang.OutOfMemoryError

Darcy Watkins darcy.watkins at inmotiontechnology.com
Thu Mar 6 09:48:46 PST 2014


Hi,

Is there a way to dynamically reduce the number of bitbake threads that
can run while in the middle of a build?

I have occasionally encountered out-of-memory errors while building the
java system.  When I manually rerun 'bitbake icedtea6-native' (after the
error shown below) followed by rerunning the original target, it will
proceed to completion OK.

| Mar 6, 2014 9:01:49 AM com.redhat.rewriter.ClassRewriter processFile
| INFO: Processing class /home/dwatkins/workspace/epsilon/repo_MG-os_test2/build/tmp/work/i686-linux/icedtea6-native/1.8.11-r5.3/icedtea6-1.8.11/rhino/rhino.old/org/mozilla/javascript/ast/DoLoop.class
| Exception in thread "main" java.lang.OutOfMemoryError: can't create thread
|    at java.lang.VMThread.create(Native Method)
|    at java.lang.Thread.start(Thread.java:922)
|    at java.util.concurrent.ThreadPoolExecutor.addIfUnderMaximumPoolSize(ThreadPoolExecutor.java:485)
|    at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:890)
|    at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:91)
|    at com.redhat.rewriter.ClassRewriter.processFile(ClassRewriter.java:114)
|    at com.redhat.rewriter.ClassRewriter.processFile(ClassRewriter.java:109)
|    at com.redhat.rewriter.ClassRewriter.processFile(ClassRewriter.java:109)
|    at com.redhat.rewriter.ClassRewriter.processFile(ClassRewriter.java:109)
|    at com.redhat.rewriter.ClassRewriter.processFile(ClassRewriter.java:109)
|    at com.redhat.rewriter.ClassRewriter.processFile(ClassRewriter.java:109)
|    at com.redhat.rewriter.ClassRewriter.main(ClassRewriter.java:91)
| make[1]: *** [stamps/rewrite-rhino.stamp] Error 1
| make[1]: Leaving directory `/home/dwatkins/workspace/epsilon/repo_MG-os_test2/build/tmp/work/i686-linux/icedtea6-native/1.8.11-r5.3/icedtea6-1.8.11'
| make: *** [hotspot] Error 2
| ERROR: oe_runmake failed

What I need is the ability to have a recipe declare that it is a
resource hog and should be run with the thread limit reduced until it is
done.

I tried cutting from 8 threads to 4 threads (on my quad core), but it is
still hit and miss.  I could cut it more, but then things will be rather
slow for the rest of the build.

Anyone have comments or suggestions?


-- 

Regards,

Darcy

---

Darcy Watkins
Senior Software Developer
In Motion Technology, Inc.
350-625 Agnes St. New Westminster, BC
Canada, V3M 5Y4
[P1]




More information about the yocto mailing list