Misc. bug: infinite recursion + crash on debug dump
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 62/100
Direzione di ricerca
Il bug si trova nel dumper di debug in common/peg-parser.cpp, in dump_impl: i rami Tag e Atomic chiamano dump(p.child) senza passare l'insieme visited, quindi le grammatiche cicliche ricorrono all'infinito. Compila in modalità debug e riproduci il problema con una grammatica che contiene un ciclo. La correzione proposta da chi ha segnalato il bug passa visited a dump_impl in quei due rami; la correzione è completa quando il dump di una grammatica con ciclo termina e i test del parser PEG continuano a passare. Leggi prima i tre commenti, perché il thread potrebbe già contenere la soluzione giusta.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Name and Version
commit 3549c274dc22001d9118713fa56a10085b85de3b (origin/master, origin/HEAD, master)
Author: Matt Rutkowski [email protected]
Date: Sat Nov 14 08:19:01 2026 -0600
convert : register Granite4VisionForConditionalGeneration for text (#32237)
Signed-off-by: Matt Rutkowski <[email protected]>
Operating systems
Linux
Which llama.cpp modules do you know to be affected?
libllama (core library)
Command line
Problem description & steps to reproduce
When I try to play with Gemma 4 PEG parsing, I was getting a crash (in debug build), it showed, that debug dumper produces infinite recursion. Here is the change which fixed it for me
diff --git a/common/peg-parser.cpp b/common/peg-parser.cpp
index e2ccb77bb1..d980cfc76d 100644
--- a/common/peg-parser.cpp
+++ b/common/peg-parser.cpp
@@ -1003,9 +1003,9 @@ std::string common_peg_arena::dump_impl(common_peg_parser_id
} else if constexpr (std::is_same_v<T, common_peg_ref_parser>) {
return "Ref(" + p.name + ")";
} else if constexpr (std::is_same_v<T, common_peg_tag_parser>) {
- return "Tag(" + p.tag + ", " + dump(p.child) + ")";
+ return "Tag(" + p.tag + ", " + dump_impl(p.child, visited) + ")";
} else if constexpr (std::is_same_v<T, common_peg_atomic_parser>) {
- return "Atomic(" + dump(p.child) + ")";
+ return "Atomic(" + dump_impl(p.child, visited) + ")";
} else {
return "Unknown";
}
I did not investigate if original dump() was intended, but it was crashing when grammar has the loops.
First Bad Commit
No response
Relevant log output
Logs
- Lingua principale
- C++
- Stelle
- 134k
- Fork
- 25.4k
- Merge medio
- 2g 5h
- PR unite (30g)
- 509
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di ggml-org/llama.cpp
-
bug-unconfirmed
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Feature Request: cancel model loading from the web UIForse già presa @wenyuchen96 l’ha presa 1 giorno fa. Apertaenhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
ggml-org/llama.cpp#32019 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
scripts/moe-cache-tune.py: device_room() under-reports free VRAM when a draft model is loadedForse già presa @marlonferreira1800-hue l’ha presa 6 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
ggml-org/llama.cpp#31911 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug-unconfirmed
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
ggml-org/llama.cpp#31601 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Compile bug: tools/server/server-context.cpp fails to compile with Intel icx/icpx: std::setw missing <iomanip> includeForse già presa @afnan-mojumder l’ha presa 13 giorni fa. Apertabug-unconfirmed
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
ggml-org/llama.cpp#31458 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di ggml-org/llama.cpp
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
google/tensorstore#306 ·
-
comp-formats
Difficoltà 2/5 Mezza giornata Idoneità per principianti 64/100
ClickHouse/ClickHouse#131694 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
ETSInitiative/PETSIRD#243 ·
I maintainer di solito rispondono entro 1 giorno
-
[BUG][Ascend][AscendC] Scalar FP8 arithmetic stored to UB emits ".data" on a float and fails deviceApertaascend bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 2 giorni
-
bug engine::whispercpp runtime::rocm wg::platform-core
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
lemonade-sdk/lemonade#4168 ·
I maintainer di solito rispondono entro 1 giorno