From 1cdd24fbc7b45693b65b5d55e4f45c2ebc60a556 Mon Sep 17 00:00:00 2001 From: Kujtim Hoxha Date: Tue, 15 Apr 2025 11:58:01 +0200 Subject: minor fixes --- internal/llm/agent/agent.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'internal/llm/agent/agent.go') diff --git a/internal/llm/agent/agent.go b/internal/llm/agent/agent.go index 997004e12..1958111a1 100644 --- a/internal/llm/agent/agent.go +++ b/internal/llm/agent/agent.go @@ -4,6 +4,8 @@ import ( "context" "errors" "fmt" + "os" + "runtime/debug" "strings" "sync" @@ -88,6 +90,21 @@ func (a *agent) Generate(ctx context.Context, sessionID string, content string) defer func() { if r := recover(); r != nil { logging.ErrorPersist(fmt.Sprintf("Panic in Generate: %v", r)) + + // dump stack trace into a file + file, err := os.Create("panic.log") + if err != nil { + logging.ErrorPersist(fmt.Sprintf("Failed to create panic log: %v", err)) + return + } + + defer file.Close() + + stackTrace := debug.Stack() + if _, err := file.Write(stackTrace); err != nil { + logging.ErrorPersist(fmt.Sprintf("Failed to write panic log: %v", err)) + } + } }() defer a.activeRequests.Delete(sessionID) -- cgit v1.2.3