[oe] race condition during eglibc do_stage() fails my build
Leon Woestenberg
leon.woestenberg at gmail.com
Thu Oct 15 13:40:52 UTC 2009
Hello Khem, all,
I am hitting a race condition during eglibc do_stage.
do_stage() mentions it implements a workaround for a possible race,
but I do not understand what races.
do_stage() {
# Installing directly into staging creates some races between existing
# glibc-initial files and us. We could use a new DESTDIR but we may as
# well just copy the data installed by do_install
cp -pPR /home/leon/sandbox/gtd100/openembedded/tmp/work/ppce500v2-angstrom-linux-gnuspe/eglibc-2.10-r7.1/image/*
/home/leon/sandbox/gtd100/openembedded/tmp/staging/ppce500v2-angstrom-linux-gnuspe/
}
Note that the temporary files it tries to copy:
NOTE: generation of binary locales disabled. this may break i18n!
ERROR: function do_stage failed
ERROR: log data follows
(/home/leon/sandbox/gtd100/openembedded/tmp/work/ppce500v2-angstrom-linux-gnuspe/eglibc-2.10-r7.1/temp/log.do_stage.32628)
| cp: cannot stat
`/home/leon/sandbox/gtd100/openembedded/tmp/work/ppce500v2-angstrom-linux-gnuspe/eglibc-2.10-r7.1/image/usr/lib/st4rsJoc':
No such file or directory
| cp: cannot stat
`/home/leon/sandbox/gtd100/openembedded/tmp/work/ppce500v2-angstrom-linux-gnuspe/eglibc-2.10-r7.1/image/usr/lib/stRhhUms':
No such file or directory
NOTE: Task failed:
/home/leon/sandbox/gtd100/openembedded/tmp/work/ppce500v2-angstrom-linux-gnuspe/eglibc-2.10-r7.1/temp/log.do_stage.32628
After failure, indeed some other-named temporary files where left,
indicating there was still activity going on:
leon at bigtee:~/sandbox/gtd100/openembedded/tmp/work/ppce500v2-angstrom-linux-gnuspe/eglibc-2.10-r7.1/temp$
ls -al /home/leon/sandbox/gtd100/openembedded/tmp/work/ppce500v2-angstrom-linux-gnuspe/eglibc-2.10-r7.1/image/usr/lib/
-rw-r--r-- 1 leon leon 23002 2009-10-15 15:10 Scrt1.o
drwx------ 2 leon leon 40960 2009-10-15 15:37 stGPyioZ
-rw------- 1 leon leon 0 2009-10-15 15:26 stknPu33
Is it that the do_install() is racing with do_stage() here?
Must we add a task dependency to prevent concurrent tasking here?
Regards,
--
Leon
More information about the Openembedded-devel
mailing list