]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
server : add kill switch when server is stuck (#20277)
authorGeorgi Gerganov <redacted>
Mon, 9 Mar 2026 08:33:12 +0000 (10:33 +0200)
committerGitHub <redacted>
Mon, 9 Mar 2026 08:33:12 +0000 (10:33 +0200)
tools/server/server-context.cpp

index 3790308d0eac4610f93aa985d0fc0e5e3b14c50a..b67190a469837936754ececb33be941c26579c61 100644 (file)
@@ -562,7 +562,7 @@ private:
 
     llama_model_ptr model_dft;
 
-    bool add_bos_token  = true;
+    bool add_bos_token = true;
 
     int32_t n_ctx; // total context for all clients / slots
 
@@ -570,6 +570,7 @@ private:
     std::vector<server_slot> slots;
 
     int slots_debug = 0;
+    int n_empty_consequtive = 0;
 
     std::unique_ptr<server_prompt_cache> prompt_cache;
 
@@ -2628,6 +2629,12 @@ private:
 
         if (batch.n_tokens == 0) {
             SRV_WRN("%s", "no tokens to decode\n");
+
+            if (++n_empty_consequtive > 3) {
+                GGML_ABORT("fatal error - please provide logs and repro in %s\n", "https://github.com/ggml-org/llama.cpp/pull/20277");
+            }
+        } else {
+            n_empty_consequtive = 0;
         }
 
         int32_t i_next = 0;