mirror of
https://github.com/netdata/libbpf.git
synced 2026-03-20 16:29:07 +08:00
All tests disabled in this commit pass on main kernel CI and fail or flip/flop on libbpf CI. Failures do not seem to be related to libbpf. It appears that common theme for all failing tests is that hardware perf events are not delivered as expected on github CI worker machines. Examples of failed CI runs: - https://github.com/libbpf/libbpf/actions/runs/6961182067 - https://github.com/libbpf/libbpf/actions/runs/6961088131 Fails with the following log: test_send_signal_common:FAIL:incorrect result \ unexpected incorrect result: actual 48 != expected 50 Test mode of operation: - fork' - child: - install handler for SIGUSR1; - send ready message to parent; - wait for SIGUSR1 in busy loop; - send message '2' (50) to parent if SIGUSR1 occured; - send message '0' (48) to parent if no SIGUSR1 occured. - parent: - wait for ready message from child; - install perf_event or tracepoint bpf program that uses bpf_send_signal() to send SIGUSR1; - wait for message '0' or '2' from child, '2' is expected for test success. It appears that perf event that should be triggered by parent never happens, thus message 48 is received by parent and test fails. Fails with the following log: test_and_reset_skel:FAIL:found_vm_exec \ unexpected found_vm_exec: actual 0 != expected 1 Such log is printed if variables set from BPF program are not set after some timeout. The program that should set the variable is SEC("perf_event") int handle_pe(void), it appears that it is never run. Fails with the following log: pe_subtest:FAIL:pe_res1 unexpected pe_res1: actual 0 != expected 1048576 Variable pe_res1 should be triggered by program SEC("perf_event") int handle_pe(struct pt_regs *ctx), it appears that it is never run. Signed-off-by: Eduard Zingerman <eddyz87@gmail.com>