[oe] Race issues (lzma-native)

Graham Gower graham.gower at gmail.com
Mon Oct 25 03:59:30 UTC 2010


On 10/24/2010 07:29 PM, Andrea Adami wrote:
> Hello,
> 
> during first build of console image I notice a strange fault:
> subsequent builds are ok.
> My scripts builds console-image and opie-image.
> 
> ERROR: Task 2411
> (virtual:native:/oe/openembedded/recipes/lzma/lzma_4.65.bb,
> do_distribute_sources) failed with exit code '1'
> NOTE: Unpacking ../sources/lzma465.tar.bz2 to
> tmp/work/i686-linux/lzma-native-4.65-r4.1/
> NOTE: package lzma-native-4.65-r4.1: task do_distribute_sources: Started
> NOTE: package lzma-native-4.65-r4.1: task SRC_DISTRIBUTECOMMAND: Failed
> ERROR: Function 'SRC_DISTRIBUTECOMMAND' failed
> 
> 
> Looking at the
> run.SRC_DISTRIBUTECOMMAND.18268   16384 (failing)
> run.SRC_DISTRIBUTECOMMAND.9570     34334
> 
> it looks like the file is not complete / malformed:
> 
> package_generate_ipkg_conf() {
> <------>mkdir -p /oe/build/tmp/sysroots/i686-linux/etc/
> <------>echo "src oe file:/oe/build/tmp/deploy/glibc/ipk" >
> /oe/build/tmp/sysroots/i686-linux/etc/opkg.conf
> <------>echo "src oe file:/
> EOF
> 
> run.do_distribute_sources.18268  is empty, while second time
> run.do_distribute_sources.9570   1051 contains  def do_distribute_sources(d):
> 
> This seems indeed a race issue...
> 
> Andrea
> 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel

I can reproduce this one quite easily. Reverting a6a23f73 seems to make it
disappear. Alternately the change below works, but I'm not convinced this is 
the right fix.

Can someone with greater insight explain what causes this race?

-Graham


diff --git a/classes/src_distribute.bbclass b/classes/src_distribute.bbclass
index 795a5cf..98d8d88 100644
--- a/classes/src_distribute.bbclass
+++ b/classes/src_distribute.bbclass
@@ -1,7 +1,7 @@
 SRC_DISTRIBUTE_DLONLY ?= "0"
 SRC_DISTRIBUTECOMMAND[func] = "1"
 
-addtask distribute_sources before do_build after do_fetch
+addtask distribute_sources before do_build after do_unpack
 python do_distribute_sources () {
 	bb.build.exec_func("do_fetch", d)
 




More information about the Openembedded-devel mailing list