From: Pascal Date: Tue, 19 May 2026 06:49:01 +0000 (+0200) Subject: server-context: guarantee there is at least 1 token to decode (#23280) X-Git-Tag: upstream/0.0.10438~1207 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=ccee42642677005555b28c6ef93760e2604348e8;p=pkg%2Fggml%2Fsources%2Fllama.cpp server-context: guarantee there is at least 1 token to decode (#23280) --- diff --git a/tools/server/server-context.cpp b/tools/server/server-context.cpp index 88b207ad5..dc3189e17 100644 --- a/tools/server/server-context.cpp +++ b/tools/server/server-context.cpp @@ -2589,9 +2589,9 @@ private: llama_pos pos_next = slot.prompt.tokens.pos_next(n_past); // the largest pos_min required for a checkpoint to be useful - const auto pos_min_thold = std::max(0, pos_next - n_swa); + const auto pos_min_thold = std::max(0, pos_next - n_swa - 1); - if (n_past > 0 && n_past < slot.prompt.n_tokens()) { + if (n_past > 0 && n_past <= slot.prompt.n_tokens()) { const auto pos_min = llama_memory_seq_pos_min(llama_get_memory(ctx_tgt), slot.id); if (pos_min == -1) { SLT_ERR(slot, "n_past = %d, slot.prompt.tokens.size() = %d, seq_id = %d, pos_min = %d\n", n_past, (int) slot.prompt.tokens.size(), slot.id, pos_min);