Closed ddelnano closed 1 month ago
After supplying one-off built kernel headers from #2036, this community user's ARM64 and x86 PEMs are still seeing BPF compilation issues. I ran one of the trace bpf tests in qemu with a 6.11.1 kernel and the new headers, and I'm able to reproduce the same error message that they have.
observabilityvizier-pem-dv96npem.log qemu_dns_trace_bpf_test.log
I was able to track down the problem and upgrading bcc fixes the issue.
BCC has certain "virtual" files it includes behind the scenes. The compat/linux/virtual_bpf.h
file in particular needs to be kept in sync with libbpf and matches the header guard of the include/uapi/linux/bpf.h
file. This means that while our linux headers were updated, our older bcc install was inserting an older copy of the uapi/linux/bpf.h
file -- one that didn't contain the bpf_wq
declaration.
I need to double check that my rebasing of bcc's updated changes is correct, and update our fork (pixie-io/bcc) first, but I should be able to open a PR for this soon.
Describe the bug From working with someone in the community, I received a report that their OpenSUSE MicroOS instances were failing to start the socket tracer. Their PEMs fail to compile multiple BPF programs (as seen below). Their instances are running a 6.11 kernel while our latest kernel headers are 6.1.x.
I'm in the process of verifying that newer kernel headers resolves their problems, and if that's the case, our linux header kernels should be updated through 6.11.
Logs
pixie_logs_20241001120707.zip
The relevant logs from that PEM are the following:
App information (please complete the following information):