From ba9f4f1915e0337e5798541bbc533c74932241e0 Mon Sep 17 00:00:00 2001 From: grantseltzer Date: Fri, 7 Feb 2025 15:02:24 -0500 Subject: [PATCH] Add better logic for handling stack trace parsing errors (#33786) Signed-off-by: grantseltzer --- pkg/dynamicinstrumentation/uploader/stack_trace.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkg/dynamicinstrumentation/uploader/stack_trace.go b/pkg/dynamicinstrumentation/uploader/stack_trace.go index d01edeae2da6c..c50504161464e 100644 --- a/pkg/dynamicinstrumentation/uploader/stack_trace.go +++ b/pkg/dynamicinstrumentation/uploader/stack_trace.go @@ -31,8 +31,10 @@ func parseStackTrace(procInfo *ditypes.ProcessInfo, rawProgramCounters []uint64) } funcInfo, err := pcToLine(procInfo, rawProgramCounters[i]) - if err != nil { - return stackTrace, fmt.Errorf("could not resolve pc to function info: %w", err) + if err != nil && len(stackTrace) == 0 { + return stackTrace, fmt.Errorf("no stack trace: %w", err) + } else if err != nil { + return stackTrace, nil } stackFrame := ditypes.StackFrame{Function: funcInfo.fn, FileName: funcInfo.file, Line: int(funcInfo.line)} stackTrace = append(stackTrace, stackFrame)