From 909a88c5c0242d2dbaeb4b07ff643a9b6b6bada0 Mon Sep 17 00:00:00 2001 From: Daniel Hiltgen Date: Tue, 19 Nov 2024 16:26:57 -0800 Subject: [PATCH] Improve crash reporting (#7728) Many model crashes are masked behind "An existing connection was forcibly closed by the remote host" This captures that common error message and wires in any detected errors from the log. This also adds the deepseek context shift error to the known errors we capture. --- llm/server.go | 8 +++++--- llm/status.go | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/llm/server.go b/llm/server.go index 624acbf8..d7c5198d 100644 --- a/llm/server.go +++ b/llm/server.go @@ -838,13 +838,15 @@ func (s *llmServer) Completion(ctx context.Context, req CompletionRequest, fn fu } if err := scanner.Err(); err != nil { - if strings.Contains(err.Error(), "unexpected EOF") { + if strings.Contains(err.Error(), "unexpected EOF") || strings.Contains(err.Error(), "forcibly closed") { s.Close() - msg := "" + var msg string if s.status != nil && s.status.LastErrMsg != "" { msg = s.status.LastErrMsg + } else { + msg = err.Error() } - return fmt.Errorf("an unknown error was encountered while running the model %s", msg) + return fmt.Errorf("an error was encountered while running the model: %s", msg) } return fmt.Errorf("error reading llm response: %v", err) diff --git a/llm/status.go b/llm/status.go index 604fe9e0..80f44e65 100644 --- a/llm/status.go +++ b/llm/status.go @@ -27,6 +27,7 @@ var errorPrefixes = []string{ "\"ERR\"", "error loading model", "GGML_ASSERT", + "Deepseek2 does not support K-shift", } func (w *StatusWriter) Write(b []byte) (int, error) {