content/en/docs/troubleshooting/start-up-error.md
Let's find out!
Please acknowledge that The Falco Project performs a wide range of tests and provides pre-built kernel drivers, but perfection is not guaranteed.
How do I determine if Falco does not start up because of a kernel driver or userspace or pure config issue?
Falco kernel driver issues are the most common source of frustrating errors.
Please note that since Falco 0.38.0, modern_ebpf driver is the new default driver, and it will be automatically used wherever is supported; this should help mitigate most of the following issues.
Here are a few tips to demystify what can go wrong with respect to Falco's kernel drivers:
ebpf based drivers, the bpf syscall needs to be allowed and not blocked by SELinux or similar.kmod driver, and your system may require custom-signed kernel modules. Also, verify the availability of the host /dev mount (e.g. /dev:/host/dev when running Falco over a container)./etc:/host/etc, /proc:/host/proc, /boot:/host/boot, /dev:/host/dev.ebpf and kmod drivers, the kernel object code needs to be available for the exact kernel release (uname -r) of your system. This invites a wide range of possible issues:
ebpf or kmod only) or explore the option of using the modern_ebpf driver if applicable.kmod or ebpf driver, consider switching to the modern_ebpf driver. It's bundled into the userspace binary and works out of the box, regardless of the kernel release, thanks to the eBPF feature called 'Compile Once Run Everywhere' (CO-RE).ebpf or modern_ebpf driver and encounter verbose and lengthy instruction printouts, you may have encountered a dreaded eBPF verifier failure. In such cases, kindly reach out to the Falco maintainers, providing the kernel release (uname -r). Resolving such instances involves modifying the driver code to ensure the eBPF verifier is happy again.Falco is a C/C++ application for performance reasons, and as such, it is not unheard of for Falco to crash and restart in some rare code paths or edge case conditions. However, if you deploy Falco with resource limits, for example the OOM killer can also kill the process and force a restart. Read more in the Falco Performance Guide.