From c179e098dcc7155817bc3e5537a18bf8e553f7f0 Mon Sep 17 00:00:00 2001 From: Hasbi Mizan Azzami Date: Mon, 20 Apr 2026 21:31:47 +0700 Subject: [PATCH] fix: prevent agent abort when optional BPF program is missing from ELF insert_prog_to_map() calls ebpf_error() when a BPF program is not found in the ELF object. ebpf_error maps to ERROR_ABORT which triggers abort() via os_panic(), crashing the agent with SIGABRT (exit 134). This is a problem for CE builds where language-specific unwinder programs (e.g. df_PE_python_unwind) are absent from the compiled binary. The function already handles the missing program gracefully by returning early, so the abort is unnecessary. Downgrade ebpf_error to ebpf_warning so the missing program is logged without crashing the agent. --- agent/src/ebpf/user/table.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agent/src/ebpf/user/table.c b/agent/src/ebpf/user/table.c index 72ec4822222..14bec22378c 100644 --- a/agent/src/ebpf/user/table.c +++ b/agent/src/ebpf/user/table.c @@ -128,8 +128,8 @@ void insert_prog_to_map(struct bpf_tracer *tracer, const char *map_name, { struct ebpf_prog *prog = ebpf_obj__get_prog_by_name(tracer->obj, prog_name); if (prog == NULL) { - ebpf_error("bpf_obj__get_prog_by_name() not find \"%s\"\n", - prog_name); + ebpf_warning("bpf_obj__get_prog_by_name() not find \"%s\"\n", + prog_name); return; }