On Tue, 14 Jan 2020 at 19:37, Richard Purdie <richard.purdie@linuxfoundation.org> wrote:

The autobuilder failed with this again, I went in and the first bit of
debugging I added was to say which file its failing on. Answer was:

WARNING: python3-3.8.1-r0 do_package: ./package/usr/libx32/python3.8/__pycache__/_bootlocale.cpython-38.opt-2.pyc

so for some reason the ownership of the pyc file (or files) is suspect.

I did a quick inspection of the pseudo database and its only this one
file. That leads me to suspect its a race in how its being
generated/owned...

I started looking into this - the likely culprit is this commit
https://github.com/python/cpython/commit/1a2dd82f56bd813aacc570e172cefe55a8a41504
which introduces parallel .pyc compilation. Previously (in 3.7) the bootlocale.py file was compiled only once, and now I am seeing this in log.do_install:

/home/alexander/development/poky/build-x86-64/tmp/hosttools/install -c -m 644 ../Python-3.8.1/Lib/_bootlocale.py /usr/lib/python3.8
Compiling '/home/alexander/development/poky/build-x86-64/tmp/work/core2-64-poky-linux/python3/3.8.1-r0/image/usr/lib/python3.8/_bootlocale.py'...
Compiling '/home/alexander/development/poky/build-x86-64/tmp/work/core2-64-poky-linux/python3/3.8.1-r0/image/usr/lib/python3.8/_bootlocale.py'...
Compiling '/home/alexander/development/poky/build-x86-64/tmp/work/core2-64-poky-linux/python3/3.8.1-r0/image/usr/lib/python3.8/_bootlocale.py'...

I don't yet know how this file ends up being compiled several times, or whether they indeed race.

Also I am still unsure how it ends up with the wrong ownership. Hints?

Alex