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:

l...@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

_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel

Reply via email to