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

Stanislav Brabec utx at penguin.cz
Sun Sep 6 12:19:36 UTC 2009


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

I guess it may be fixable by:
- do not populate binaries by installation in place
- extending of DEPENDS/RDEPENDS of native packages
- do_unpack should respect dependencies, otherwise it can happen with
  unzip-native


________________________________________________________________________
Stanislav Brabec
http://www.penguin.cz/~utx/zaurus





More information about the Openembedded-devel mailing list