Bug 14470 - AB-INT PTEST ARM: parted 't1100-busy-label.sh', 't1101-busy-partition.sh' ptest intermittent failure
Summary: AB-INT PTEST ARM: parted 't1100-busy-label.sh', 't1101-busy-partition.sh' pte...
Status: RESOLVED FIXED
Alias: None
Product: Package Testing (ptest)
Classification: QA/Testing
Component: ptest (show other bugs)
Version: 3.4
Hardware: x86 Multiple
: Medium+ normal
Target Milestone: 3.4 M3
Assignee: Ross Burton
QA Contact:
URL:
Whiteboard: AB-INT AB-INT-TMPFS
Depends on:
Blocks:
 
Reported: 2021-07-04 13:38 UTC by Alexandre Belloni
Modified: 2021-08-24 14:46 UTC (History)
4 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexandre Belloni 2021-07-04 13:38:55 UTC
'parted': ['t1100-busy-label.sh', 't1101-busy-partition.sh']

https://autobuilder.yoctoproject.org/typhoon/#/builders/82/builds/1957/steps/12/logs/stdio

qemuarm64-ptest ubuntu2004-arm-1

this build had the glibc2.34 update.


https://autobuilder.yoctoproject.org/typhoon/#/builders/82/builds/1959/steps/12/logs/stdio

qemuarm64-ptest ubuntu1804-arm-1
Comment 1 Alexandre Belloni 2021-07-04 13:46:34 UTC
https://autobuilder.yoctoproject.org/typhoon/#/builders/82/builds/1961/steps/12/logs/stdio

qemuarm64-ptest ubuntu2004-arm-1
Comment 2 Alexandre Belloni 2021-07-04 13:59:44 UTC
https://autobuilder.yoctoproject.org/typhoon/#/builders/82/builds/1956/steps/12/logs/stdio

qemuarm64-ptest ubuntu2004-arm-1
Comment 3 Leonardo Sandoval 2021-07-05 18:46:20 UTC
https://autobuilder.yoctoproject.org/typhoon/#/builders/82/builds/1962/steps/12/logs/stdio

qemuarm64-ptest ubuntu2004-arm-1
Comment 5 Ross Burton 2021-07-09 11:16:04 UTC
Patch on the list to fix most issues in the tests, but those tests fail as we don't have vfat in the qemu kernels.

Bruce, can we get vfat in the qemu kernels please?
Comment 6 Bruce Ashfield 2021-07-09 14:23:45 UTC
As Ross mentioned on IRC, we have some distro/machine features that indicate vfat support.

I've added a KERNEL_FEATURE to linux-yocto.inc that triggers off of the vfat MACHINE_FEATURE and will configure things for vfat support.

I'll include it in my next pull request.
Comment 9 Ross Burton 2021-07-16 10:09:13 UTC
My fault: I failed to specify ordering.

Those tests will fail until Bruce's "linux-yocto: add vfat KERNEL_FEATURE when MACHINE_FEATURES include vfat' merges.
Comment 10 Ross Burton 2021-07-16 12:10:51 UTC
Patches on the list to skip those if vfat isn't present.
Comment 11 Ross Burton 2021-07-20 08:59:56 UTC
Closing: the tests now skip if vfat isn't enabled, and vfat is enabled in the qemu builds.
Comment 12 Rob Calhoun 2021-08-24 01:34:21 UTC
This commit:

https://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=2b44ac076c7068aa0316d15fff49f02491eccb69

broke our build with the following error:

ERROR: linux-stable-5.4+gitAUTOINC+82ffbc138a-r1 do_kernel_metadata: Feature 'cfg/fs/vfat.scc' not found, this will cause configuration failures.
ERROR: linux-stable-5.4+gitAUTOINC+82ffbc138a-r1 do_kernel_metadata: Check the SRC_URI for meta-data repositories or directories that may be missing
ERROR: linux-stable-5.4+gitAUTOINC+82ffbc138a-r1 do_kernel_metadata: Set KERNEL_DANGLING_FEATURES_WARN_ONLY to ignore this issue

The KERNEL_FEATURES check seems overly tied to a specific implementation and can error out in situations where nothing is wrong. 

Our situation looks like this:

* We use https://github.com/gregkh/linux as kernel source
* We use our own kernel recipe.
* That recipe that applies a few platform-specific patches plus a defconfig
* The recipe includes recipes-kernel/linux/linux-yocto.inc 
* The defconfig includes CONFIG_VFAT_FS=y
* DISTRO_FEATURES includes vfat

Because DISTRO_FEATURES includes vfat, KERNEL_FEATURES includes vfat, so CONFIG_VFAT_FS needs to be set. But it is set in the defconfig, so a config fragment isn't needed. 

I worked around this by replacing linux-yocto.inc in our kernel recipe with a subset of directives from that file:

-require recipes-kernel/linux/linux-yocto.inc
+inherit kernel
+inherit kernel-yocto
+B = "${WORKDIR}/linux-${PACKAGE_ARCH}-${LINUX_KERNEL_TYPE}-build"
+
+do_install_append(){
+       if [ -n "${KMETA}" ]; then
+               rm -rf ${STAGING_KERNEL_DIR}/${KMETA}
+       fi
+}
+
+LIC_FILES_CHKSUM ?= "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
+
+DEPENDS += "xz-native bc-native"

I didn't want to use the KERNEL_DANGLING_FEATURES_WARN_ONLY flag because I prefer to build without warnings, but that is what this project did:  https://gerrit.openbmc-project.xyz/c/openbmc/openbmc/+/36159 

I think it would be better for kconfig checks to be done against the .config file that will be used in the build, rather than against the intermediate files that generate that .config.
Comment 14 Ross Burton 2021-08-24 09:13:52 UTC
If you're just using a defconfig and your own recipe, then you don't really need to include linux-yocto, as that's where the fragment handling comes in.

FWIW, you can trivially tell linux-yocto to use a defconfig and mainline kernel release, or alternatively there is a set of 'pure mainline kernel' recipes in https://git.sr.ht/~pbarker/meta-linux-mainline/.
Comment 15 Rob Calhoun 2021-08-24 14:46:04 UTC
Thanks, Ross. That's pretty much what I did, and it works fine. (I don't see any need to re-open this ticket; I just wanted to post the error in case it helps someone else out.)

Thanks also for the link to Paul Barker's linux-stable recipe. My recipe is a modification of the linux-yocto recipe; Paul's is cleaner.