HomeDefectsLIN1022-5660
Fixed

LIN1022-5660 : Bitbake QA Error for "Patch-Fuzz" is not persistent between rebuilds

Created: Oct 16, 2023    Updated: Jan 9, 2024
Resolved Date: Dec 22, 2023
Found In Version: 10.22.33.12
Fix Version: 10.22.33.14
Severity: Standard
Applicable for: Wind River Linux LTS 22
Component/s: Build & Config

Description

+*Error Description*+

When "patch-fuzz" is configured to be considered a QA error instead of a warning. The first time a package is build and there is no data in the SSTATE cache, the build process will fail and report the errors.

*First Run Output*

user@hostname $ bitbake -c cleanall numactl; sleep 30; bitbake numactl

Initialising tasks: 100% |#######################################################################| Time: 0:00:03
Sstate summary: Wanted 116 Local 109 Mirrors 0 Missed 7 Current 66 (93% match, 96% complete)
NOTE: Executing Tasks
ERROR: numactl-2.0.16-r0 do_patch: Fuzz detected:

Applying patch numa_init.patch
patching file libnuma.c

Hunk #1 succeeded at 79 with fuzz 2 (offset 1 line).
Hunk #2 succeeded at 107 (offset 3 lines).
Hunk #3 succeeded at 843 (offset 37 lines).

The context lines in the patches can be updated with devtool:    
    
    devtool modify numactl
    devtool finish --force-patch-refresh numactl <layer_path>

Don't forget to review changes done by devtool!

ERROR: numactl-2.0.16-r0 do_patch: QA Issue: Patch log indicates that patches do not apply cleanly. [patch-fuzz]
NOTE: Tasks Summary: Attempted 729 tasks of which 714 didn't need to be rerun and all succeeded.

Summary: There was 1 WARNING message.
Summary: There were 2 ERROR messages, returning a non-zero exit code.

user@hostname $ 
However, if the user rebuilds the package, the error vanishes because do_patch and do_compile are not executed since the recipe was correctly added to the SSTATE cache in the first build attempt.

*Second Run Output (errors disappeared)*

user@hostname $ bitbake numactl

Initialising tasks: 100% |#######################################################################| Time: 0:00:03
Sstate summary: Wanted 109 Local 109 Mirrors 0 Missed 0 Current 73 (100% match, 100% complete)
NOTE: Executing Tasks
NOTE: Tasks Summary: Attempted 729 tasks of which 729 didn't need to be rerun and all succeeded.

Summary: There was 1 WARNING message.

user@hostname $ 
This inconsistent behavior causes confusion for WRL users. Error will disappear, and it will go unnoticed until a new environment get created or SSTATE is manually cleaned.

Steps to Reproduce

1) Clone WRL LTS22 with latest RCPL for intel-x86-64
(--machine intel-x86-64 --all-layers --dl-layers)

2) Add the attached recipe in /layers/local/
 - The recipe includes a patch that triggers patch fuzz
 - Configures patch-fuzz to be considered a QA error

3) Clean SSTATE cache and build "numactl" recipe
 - bitbake -c cleanall numactl; sleep 30; bitbake numactl
 - This will trigger the QA error

4) Rebuild "numactl" without cleaning the SSTATE cache
 - bitbake numactl
 - Error will disappear, and it will go unnoticed until a new environment get created or SSTATE is manually cleaned.