mirror of
https://github.com/LostRuins/koboldcpp.git
synced 2026-04-28 03:30:20 +00:00
* lookup, lookahead: fix crash when n_ctx not specified Since PR #16653 (Dec 15, 2025), the default n_ctx is 0 to enable automatic GPU memory fitting. This causes llama-lookup and llama-lookahead to crash when run without explicit -c flag: GGML_ASSERT(batch.seq_id[batch.n_tokens] && "llama_batch size exceeded") Root cause: Both examples use params.n_ctx directly for batch initialization, but params.n_ctx remains 0 even after the context is properly initialized to n_ctx_train internally. Bug history: - Nov 2023: lookahead.cpp created (PR #4207) with params.n_ctx pattern - Dec 2023: lookup.cpp created (PR #4484) with same pattern - Nov 2024: default n_ctx changed to 4096 (PR #10136) - bug dormant - Dec 2025: default n_ctx changed to 0 (PR #16653) - bug activated The bug was dormant for 2+ years because params.n_ctx defaulted to 512, then 4096. PR #16653 changed it to 0 for GPU auto-fitting, triggering the crash. Fix: Use llama_n_ctx(ctx) to get the actual runtime context size, matching the pattern already used elsewhere in lookup.cpp (line 72) and in speculative.cpp/speculative-simple.cpp. Tested: llama-lookup now works without -c flag (12.5% acceptance on Gemma-3-1B). Note: llama-lookahead has a separate pre-existing issue with sequence initialization (n_seq_max=1 vs W+G+1 needed) that is unrelated to this fix. * lookahead: fix n_seq_max and kv_unified configuration Lookahead decoding requires: - W + G + 1 = 31 sequences for parallel Jacobi decoding - Unified KV cache for coupled sequences in batch splitting These requirements were broken after PR #14482 changed validation logic. Consolidates fix from PR #18730 per maintainer request. Commit message drafted with Claude. |
||
|---|---|---|
| .. | ||
| batched | ||
| batched.swift | ||
| convert-llama2c-to-ggml | ||
| debug | ||
| deprecation-warning | ||
| diffusion | ||
| embedding | ||
| eval-callback | ||
| gen-docs | ||
| gguf | ||
| gguf-hash | ||
| idle | ||
| llama.android | ||
| llama.swiftui | ||
| lookahead | ||
| lookup | ||
| model-conversion | ||
| parallel | ||
| passkey | ||
| retrieval | ||
| save-load-state | ||
| simple | ||
| simple-chat | ||
| simple-cmake-pkg | ||
| speculative | ||
| speculative-simple | ||
| sycl | ||
| training | ||
| CMakeLists.txt | ||
| convert_legacy_llama.py | ||
| json_schema_pydantic_example.py | ||
| json_schema_to_grammar.py | ||
| llama.vim | ||
| pydantic_models_to_grammar.py | ||
| pydantic_models_to_grammar_examples.py | ||
| reason-act.sh | ||
| regex_to_grammar.py | ||
| server-llama2-13B.sh | ||
| server_embd.py | ||
| ts-type-to-grammar.sh | ||