[oe] very obscure race: access to a just-populated binary

Phil Blundell pb at reciva.com
Sun Sep 6 12:33:50 UTC 2009


On Sun, 2009-09-06 at 13:31 +0100, Phil Blundell wrote:
> On Sun, 2009-09-06 at 14:19 +0200, Stanislav Brabec wrote:
> > Hallo.
> > 
> > I just encountered a very obscure race during the build: do_configure
> > called grep exactly in the moment, when another process populated it:
> > 
> > /OE/build/tmp/staging/x86_64-linux/usr/bin/intltoolize: line 231: /OE/build/tmp/staging/x86_64-linux/usr/bin/grep: Text file busy
> > /OE/build/tmp/staging/x86_64-linux/usr/bin/intltoolize: line 246: /OE/build/tmp/staging/x86_64-linux/usr/bin/grep: Text file busy
> > 
> > ls -al --full-time
> > work/armv5te-angstrom-linux-gnueabi/libgnomecups-0.2.3-r0/temp/log.do_configure.412 
> > -rw-r--r-- 1 sbrabec users  1234 2009-09-06 03:23:45.000000000 +0200 work/armv5te-angstrom-linux-gnueabi/libgnomecups-0.2.3-r0/temp/log.do_configure.412
> > ls -al --full-time work/x86_64-linux/grep-native-2.5.1-r2/temp/log.populate_staging_preamble.21860 
> > -rw-r--r-- 1 sbrabec users 12079 2009-09-06 03:23:44.000000000 +0200 work/x86_64-linux/grep-native-2.5.1-r2/temp/log.populate_staging_preamble.21860
> 
> A similar issue with coreutils-native was discussed here recently:

... that is to say, here:

http://thread.gmane.org/gmane.comp.handhelds.openembedded

> > I guess it may be fixable by:
> > - do not populate binaries by installation in place

This sounds like the right answer.  In a future, packaged-staging-only
utopia, this would probably happen automatically.

> > - extending of DEPENDS/RDEPENDS of native packages

I'm not quite sure how this would help, but possibly I don't understand
exactly what you're suggesting.

> > - do_unpack should respect dependencies, otherwise it can happen with
> >   unzip-native

As far as I know, do_unpack should already respect dependencies (i.e.
"do_unpack[depends] += ...".  Is that not working for you?

p.






More information about the Openembedded-devel mailing list