Error during do_install for linux-libc-headers_5.8 recipe during 'bitbake core-image-minimal'


aloofbynature@...
 

Hello,
 
I am just starting using Yocto Project and I've been following along with the getting started section of the mega manual. I am working on Ubuntu 20.04 LTS through WSL2 on Windows 10 (not sure if it matters but I'm running OS build 20231) trying to create an image using poky-yocto-3.2.
 
I've followed all setup steps and made sure the host has all necessary packages before cloning poky (I kept running into an error when trying to clone the repo because the connection was refused so I just extracted the poky-yocto-3.2 tarball). When I try to run 'bitbake core-image-minimal' I get an error saying the following task failed with exit code 134:
'poky-yocto-3.2/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.8.bb:do_install'
All the other recipes are installed with no problems.
 
The first time I tried this I changed local.conf in my build dir to build for qemuarm and next try I left everything as the default configuration but still got the same result. Any help fixing this issue is appreciated, thanks!


 

On Thu, 26 Nov 2020 at 12:26, <aloofbynature@...> wrote:

Hello,

I am just starting using Yocto Project and I've been following along with the getting started section of the mega manual. I am working on Ubuntu 20.04 LTS through WSL2 on Windows 10 (not sure if it matters but I'm running OS build 20231) trying to create an image using poky-yocto-3.2.

I've followed all setup steps and made sure the host has all necessary packages before cloning poky (I kept running into an error when trying to clone the repo because the connection was refused so I just extracted the poky-yocto-3.2 tarball). When I try to run 'bitbake core-image-minimal' I get an error saying the following task failed with exit code 134:
'poky-yocto-3.2/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.8.bb:do_install'
All the other recipes are installed with no problems.

The first time I tried this I changed local.conf in my build dir to build for qemuarm and next try I left everything as the default configuration but still got the same result. Any help fixing this issue is appreciated, thanks!
Could you share the command that you executed along with the full
output that was printed? There's not really enough information here to
diagnose the issue.

Thanks,

--
Paul Barker
Konsulko Group


Quentin Schulz
 

Hi,

On Thu, Nov 26, 2020 at 04:26:34AM -0800, aloofbynature@... wrote:
Hello,

I am just starting using Yocto Project and I've been following along with the getting started section of the mega manual. I am working on Ubuntu 20.04 LTS through WSL2 on Windows 10 (not sure if it matters but I'm running OS build 20231) trying to create an image using poky-yocto-3.2.

I've followed all setup steps and made sure the host has all necessary packages before cloning poky (I kept running into an error when trying to clone the repo because the connection was refused so I just extracted the poky-yocto-3.2 tarball). When I try to run 'bitbake core-image-minimal' I get an error saying the following task failed with exit code 134:
'poky-yocto-3.2/meta/recipes- kernel/linux-libc-headers/ linux-libc-headers_5.8.bb:do_ install'
All the other recipes are installed with no problems.
To be able to help you we'd need the logs of this task.
You can either paste the whole output on the console or send us the task
log you can find if you carefully read the console output.

Quentin


aloofbynature@...
 

Thanks for the quick response. I started out with a fresh clone of poky and only executed 2 commands:
1) 'source poky-yocto-3.2/oe-init-build-env'
2) in my build directory 'bitbake core-image-minimal'

The output from the console is:
aloof@LAPTOP-AQOIU06O:~/projects/yocto-test$ source poky-yocto-3.2/oe-init-build-env
You had no conf/local.conf file. This configuration file has therefore been
created for you with some default values. You may wish to edit it to, for
example, select a different MACHINE (target hardware). See conf/local.conf
for more information as common configuration options are commented.

You had no conf/bblayers.conf file. This configuration file has therefore been
created for you with some default values. To add additional metadata layers
into your configuration please add entries to conf/bblayers.conf.

The Yocto Project has extensive documentation about OE including a reference
manual which can be found at:
    http://yoctoproject.org/documentation

For more information about OpenEmbedded see their website:
    http://www.openembedded.org/


### Shell environment set up for builds. ###

You can now run 'bitbake <target>'

Common targets are:
    core-image-minimal
    core-image-sato
    meta-toolchain
    meta-ide-support

You can also run generated qemu images with a command like 'runqemu qemux86'

Other commonly useful commands are:
 - 'devtool' and 'recipetool' handle common recipe tasks
 - 'bitbake-layers' handles common layer tasks
 - 'oe-pkgdata-util' handles common target package tasks
aloof@LAPTOP-AQOIU06O:~/projects/yocto-test/build$ bitbake core-image-minimal
WARNING: You are running bitbake under WSLv2, this works properly but you should optimize your VHDX file eventually to avoid running out of storage space
Loading cache: 100% |                                                                                   | ETA:  --:--:--Loaded 0 entries from dependency cache.
Parsing recipes: 100% |##################################################################################| Time: 0:00:15Parsing of 784 .bb files complete (0 cached, 784 parsed). 1353 targets, 42 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION           = "1.48.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "ubuntu-20.04"
TARGET_SYS           = "x86_64-poky-linux"
MACHINE              = "qemux86-64"
DISTRO               = "poky"
DISTRO_VERSION       = "3.2"
TUNE_FEATURES        = "m64 core2"
TARGET_FPU           = ""
meta
meta-poky
meta-yocto-bsp       = "<unknown>:<unknown>"

NOTE: Fetching uninative binary shim http://downloads.yoctoproject.org/releases/uninative/2.9/x86_64-nativesdk-libc.tar.xz;sha256sum=d07916b95c419c81541a19c8ef0ed8cbd78ae18437ff28a4c8a60ef40518e423 (will check PREMIRRORS first)
Initialising tasks: 100% |###############################################################################| Time: 0:00:02Sstate summary: Wanted 1279 Found 0 Missed 1279 Current 0 (0% match, 0% complete)
NOTE: Executing Tasks
ERROR: Task (/home/aloof/projects/yocto-test/poky-yocto-3.2/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.8.bb:do_install) failed with exit code '134'
NOTE: Tasks Summary: Attempted 793 tasks of which 0 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
  /home/aloof/projects/yocto-test/poky-yocto-3.2/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.8.bb:do_install
Summary: There was 1 WARNING message shown.

I'm not sure which log file. I'm attaching the one I found in the tmp directory. Is there a specific location you can point me to if this isn't the right log.

Thanks,
Ajay


Matthias Rampke
 

Hi,

I hit the same issue, also while trying things out on WSL2 (not committed enough to build a dedicated workstation/VM). I found a few more things:

This seems to be a pseudo abort with:
path mismatch [2 links]: ino 409763 db '/run/shm/sem.mp-bzdlrxrj' req '/run/shm/tGpqeT'.
I tried to follow the instructions to collect as many logs as possible. Logs are attached as far as I could find them; the strace is too big and you can find it here.

This is a regression: poky-3.1 (which uses linux-libc-headers 5.4) works. It seems we are not the only ones with this issue, and others have already given up on Yocto-on-WSL2.

Hope this is useful,
Matthias


Matthias Rampke
 

One more thing: I tried reverting the linux-libc-headers version change (57d5f4ad410d4e9d55bdd9734bf5ab8fa6667a53) and that fails in the same way, so it's not that.

I also realized that the yocto-3.2 tag does not include the 3.2.1 updates; however the same issue happens on 3.2.1 as well.

I will try to bisect this but it seems like it will take a long time since I need to wipe the tmp directory at every step.

/MR


Matthias Rampke
 

Bisect points at the commit that introduced the hard pseudo abort:

84e0642ed6aba422583871fc153bbd94380074de is the first bad commit
commit 84e0642ed6aba422583871fc153bbd94380074de
Author: Richard Purdie <richard.purdie@...>
Date:   Tue Sep 29 17:57:38 2020 +0100

    pseudo: Abort on mismatch patch

    Rather than doing what turns out to be a rather dangerous "fixup" if
    we see a file with a different path but the same inode as another file
    we've previously seen, throw and abort. Direct the user to a wiki page
    where we can maintain information about what this error means.

    (From OE-Core rev: 2db491d97da08d44ebd257f98489550a82a7935c)

    Signed-off-by: Richard Purdie <richard.purdie@...>

:040000 040000 265627b814038c0cc19248bbb885ab7536202e1c acfc4fbeb04a887f2ceeaa029a63a4dd82f7767d M      meta
bisect run success


/MR


On Sun, Dec 27, 2020 at 8:43 PM matthias.rampke via lists.yoctoproject.org <matthias.rampke=googlemail.com@...> wrote:
One more thing: I tried reverting the linux-libc-headers version change (57d5f4ad410d4e9d55bdd9734bf5ab8fa6667a53) and that fails in the same way, so it's not that.

I also realized that the yocto-3.2 tag does not include the 3.2.1 updates; however the same issue happens on 3.2.1 as well.

I will try to bisect this but it seems like it will take a long time since I need to wipe the tmp directory at every step.

/MR