[OE-core] Debugging a parallel make race in mesa
Richard Purdie
richard.purdie at linuxfoundation.org
Thu Jun 28 13:15:38 UTC 2018
I thought these steps might be interesting for someone else to play
with/learn from. We have a problematic build race in mesa which results
in e.g.:
https://autobuilder.yocto.io/builders/nightly-arm/builds/1160/steps/Building%20Toolchain%20Images/logs/stdio
To debug:
$ bitbake mesa
<it builds, doesn't reproduce>
$ cp <BUILDDIR>/tmp/work/core2-64-poky-linux/mesa/2_18.1.2-r0/temp/run.do_compile ./myscript
$ vi ./myscript
Change "do_compile" to "bash -i".
$ ./myscript
Now in a shell with the right build environment
$$ make -j
Everything built cleanly so issue still not showing as expected.
Remove the two things we think are racing:
$$ rm src/egl/drivers/dri2/*.h src/egl/drivers/dri2/platform_wayland.lo
Try and build just one of them:
$$ make -C src/egl/ drivers/dri2/platform_wayland.lo
../../../mesa-18.1.2/src/egl/drivers/dri2/platform_wayland.c:50:10: fatal error: linux-dmabuf-unstable-v1-client-protocol.h: No such file or directory
#include "linux-dmabuf-unstable-v1-client-protocol.h"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Bingo, error about missing include.
So the problem is at least reproducible now which means we're halfway
to fixing it.
Cheers,
Richard
More information about the Openembedded-core
mailing list