Skip to content

Bug: Race condition in build time #378

Description

@piotr-nakraszewicz-red

Problem/Opportunity

RDK-B kirkstone 2025-q2 build for BananaPi BPI-R4 is randomly failing on rdk-wifi-hal

Steps to reproduce

Follow the official build steps for BPI-R4

Expected Behavior

Build should succeed.

Actual Behavior

| make[2]: Leaving directory '/build/iscsi/piotr.nakraszewicz/bpi-r4/rdk-b/25q2-vanilla/build-bananapi4-rdk-broadband/tmp/work/cortexa53-rdk-linux/rdk-wifi-hal/rdkb-2025q2-kirkstone+gitAUTOINC+384def1191-r0/build'
| make[1]: *** [Makefile:1310: all-recursive] Error 1
| make[1]: Leaving directory '/build/iscsi/piotr.nakraszewicz/bpi-r4/rdk-b/25q2-vanilla/build-bananapi4-rdk-broadband/tmp/work/cortexa53-rdk-linux/rdk-wifi-hal/rdkb-2025q2-kirkstone+gitAUTOINC+384def1191-r0/build'
| make: *** [Makefile:667: all] Error 2
| ERROR: oe_runmake failed
| WARNING: /build/iscsi/piotr.nakraszewicz/bpi-r4/rdk-b/25q2-vanilla/build-bananapi4-rdk-broadband/tmp/work/cortexa53-rdk-linux/rdk-wifi-hal/rdkb-2025q2-kirkstone+gitAUTOINC+384def1191-r0/temp/run.do_compile.3229974:228 exit 1 from 'exit 1'
| WARNING: Backtrace (BB generated script):
|       #1: bbfatal_log, /build/iscsi/piotr.nakraszewicz/bpi-r4/rdk-b/25q2-vanilla/build-bananapi4-rdk-broadband/tmp/work/cortexa53-rdk-linux/rdk-wifi-hal/rdkb-2025q2-kirkstone+gitAUTOINC+384def1191-r0/temp/run.do_compile.3229974, line 228
|       #2: die, /build/iscsi/piotr.nakraszewicz/bpi-r4/rdk-b/25q2-vanilla/build-bananapi4-rdk-broadband/tmp/work/cortexa53-rdk-linux/rdk-wifi-hal/rdkb-2025q2-kirkstone+gitAUTOINC+384def1191-r0/temp/run.do_compile.3229974, line 212
|       #3: oe_runmake, /build/iscsi/piotr.nakraszewicz/bpi-r4/rdk-b/25q2-vanilla/build-bananapi4-rdk-broadband/tmp/work/cortexa53-rdk-linux/rdk-wifi-hal/rdkb-2025q2-kirkstone+gitAUTOINC+384def1191-r0/temp/run.do_compile.3229974, line 207
|       #4: autotools_do_compile, /build/iscsi/piotr.nakraszewicz/bpi-r4/rdk-b/25q2-vanilla/build-bananapi4-rdk-broadband/tmp/work/cortexa53-rdk-linux/rdk-wifi-hal/rdkb-2025q2-kirkstone+gitAUTOINC+384def1191-r0/temp/run.do_compile.3229974, line 193
|       #5: do_compile, /build/iscsi/piotr.nakraszewicz/bpi-r4/rdk-b/25q2-vanilla/build-bananapi4-rdk-broadband/tmp/work/cortexa53-rdk-linux/rdk-wifi-hal/rdkb-2025q2-kirkstone+gitAUTOINC+384def1191-r0/temp/run.do_compile.3229974, line 165
|       #6: main, /build/iscsi/piotr.nakraszewicz/bpi-r4/rdk-b/25q2-vanilla/build-bananapi4-rdk-broadband/tmp/work/cortexa53-rdk-linux/rdk-wifi-hal/rdkb-2025q2-kirkstone+gitAUTOINC+384def1191-r0/temp/run.do_compile.3229974, line 232
ERROR: Task (/build/iscsi/piotr.nakraszewicz/bpi-r4/rdk-b/25q2-vanilla/meta-rdk-broadband/recipes-ccsp/hal/rdk-wifi-hal.bb:do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 5460 tasks of which 1 didn't need to be rerun and 1 failed.
NOTE: Writing buildhistory
NOTE: Writing buildhistory took: 17 seconds
../git/src/wifi_hal.c: In function 'wifi_hal_getHalCapability':
../git/src/wifi_hal.c:298:23: error: 'wifi_platform_property_t' has no member named 'colocated_mode'
  298 |         hal->wifi_prop.colocated_mode = -1;
      |                       ^

Notes (Optional)

The root cause of this issue is that meta-cmf-bananapi does NOT use the standard yocto/bitbake method to apply patches, but instead own functions are used that are executed in a random order. Sometimes all patches will be applied and sometimes a subset.
In this case the problematic function is do_hal_interface_patches in meta-rdk-mtk-bpir4/recipes-ccsp/hal/halinterface.bbappend.
Why does this function even exist? Why can't the patches be applied in a standard way?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions