You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We enabled the bcc in Yocto framework and found there are a few test cases (listed below) with bcc selftest are getting failed on non x86_64 architectures (arm64/riscv64).
In Poky, meta-openembedded & meta-clang layers added along with below local.conf changes:
FAILED CASES ( cc resolve symbol addresses for a given PID; cc resolve symbols using /tmp/perf-pid.map; cc test bpf stack table; cc test bpf stack_id table; cc test hash of maps; cc test hash of maps using custom key; cc test array of maps; cc test read perf event; cc test usdt argument parsing; cc test finding a probe in our own process; cc test fine a probe in our own binary with C++ API; cc test fine probes in our own binary with C++ API; cc test fine a probe in our Process with C++ API; cc test find a probe in our process' shared libs with c++ API; cc test usdt partial init w/ fail init_usdt; cc Test uprobe refcnt semaphore activation;)
We tried selftest by compiling the bcc code by setting the cmake options - CMAKE_USE_LIBBPF_PACKAGE, DENABLE_LLVM_SHARED, ENABLE_USDT, ENABLE_CPP_API, ENABLE_CLANG_JIT, ENABLE_TESTS along with the kernel options given in https://github.com/iovisor/bcc/blob/master/docs/kernel_config.md but with all these settings the test failures are same. (There are several test executables generated by changing these settings like - test_libbcc, test_libbcc_no_libbpf, test_static. And, with all executables the test failures are same.)
There is also an upstream issue iovisor/bcc#4681 is raised but did not get any update from community yet.
We've analyzed a few cases by attaching the gdb and found that there is a lot of diff in probe assertions w.r.t x86_64 (See below variables from gdb). We suspect that the probe assertions are not happening and do not know what could cause this.
We enabled the bcc in Yocto framework and found there are a few test cases (listed below) with bcc selftest are getting failed on non x86_64 architectures (arm64/riscv64).
In Poky, meta-openembedded & meta-clang layers added along with below local.conf changes:
FAILED CASES ( cc resolve symbol addresses for a given PID; cc resolve symbols using /tmp/perf-pid.map; cc test bpf stack table; cc test bpf stack_id table; cc test hash of maps; cc test hash of maps using custom key; cc test array of maps; cc test read perf event; cc test usdt argument parsing; cc test finding a probe in our own process; cc test fine a probe in our own binary with C++ API; cc test fine probes in our own binary with C++ API; cc test fine a probe in our Process with C++ API; cc test find a probe in our process' shared libs with c++ API; cc test usdt partial init w/ fail init_usdt; cc Test uprobe refcnt semaphore activation;)
We tried selftest by compiling the bcc code by setting the cmake options - CMAKE_USE_LIBBPF_PACKAGE, DENABLE_LLVM_SHARED, ENABLE_USDT, ENABLE_CPP_API, ENABLE_CLANG_JIT, ENABLE_TESTS along with the kernel options given in https://github.com/iovisor/bcc/blob/master/docs/kernel_config.md but with all these settings the test failures are same. (There are several test executables generated by changing these settings like - test_libbcc, test_libbcc_no_libbpf, test_static. And, with all executables the test failures are same.)
There is also an upstream issue iovisor/bcc#4681 is raised but did not get any update from community yet.
We've analyzed a few cases by attaching the gdb and found that there is a lot of diff in probe assertions w.r.t x86_64 (See below variables from gdb). We suspect that the probe assertions are not happening and do not know what could cause this.
arm64:
prevAssertions = {passed = 862809464, failed = 4, failedButOk = 549755809248}
assertions = {passed = 4, failed = 879586680, failedButOk = 0}
x86_64:
prevAssertions = {passed = 140737488346592, failed = 4, failedButOk = 913141112}
assertions = {passed = 140737488346624, failed = 4, failedButOk = 929918328}
Can you help us here to find what could be the reason for these failures and how to fix these test cases.
Thanks,
Sundeep K.
The text was updated successfully, but these errors were encountered: