mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-24 15:38:12 +02:00
Journal moteur : un crash-loop s'affiche « erreur », plus « chargement »
Un llama-server qui plantait au démarrage (backtrace __libc_start_main dans le journal) laissait la pastille sur « chargement 0 % » pour l'éternité : aucun des motifs de modelLoadError ne reconnaissait un crash. Ajoutés : backtrace (signal, segfault, abort), mémoire GPU insuffisante (out of memory / cudaMalloc failed — avec le conseil de réduire CTX), et erreur CUDA (GPU indisponible après un redémarrage du serveur). Pas de motif « libggml » : les logs de chargement normaux citent les .so. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
7ef2c956c5
commit
cf6e19794d
1 file changed
+21
@@ -115,6 +115,27 @@ func modelLoadError() string {
|
|||||||
if reason == "" {
|
if reason == "" {
|
||||||
reason = "échec du chargement du modèle"
|
reason = "échec du chargement du modèle"
|
||||||
}
|
}
|
||||||
|
case strings.Contains(low, "out of memory"),
|
||||||
|
strings.Contains(low, "cudamalloc failed"),
|
||||||
|
strings.Contains(low, "failed to allocate"):
|
||||||
|
// Prioritaire sur l'échec générique : la cause mémoire doit gagner.
|
||||||
|
reason = "mémoire GPU insuffisante (VRAM) — réduis le contexte (CTX) ou prends une quantification plus petite"
|
||||||
|
case strings.Contains(low, "ggml_cuda error"), strings.Contains(low, "cuda error"):
|
||||||
|
if reason == "" {
|
||||||
|
reason = "erreur CUDA — GPU indisponible ? (après un redémarrage du serveur : docker restart loki)"
|
||||||
|
}
|
||||||
|
// Backtrace = le moteur a PLANTÉ, pas « il charge encore ». Les motifs
|
||||||
|
// couvrent le dump de llama.cpp (signal + pile libc) : sans eux, un
|
||||||
|
// crash-loop s'affichait « chargement… » pour l'éternité. PAS de motif
|
||||||
|
// « libggml » : les logs de chargement normaux citent les .so
|
||||||
|
// (« loaded CUDA backend from /app/libggml-cuda.so »).
|
||||||
|
case strings.Contains(low, "__libc_start_main"),
|
||||||
|
strings.Contains(l, "SIGSEGV"), strings.Contains(l, "SIGABRT"),
|
||||||
|
strings.Contains(low, "segmentation fault"),
|
||||||
|
strings.Contains(low, "aborted (core dumped)"):
|
||||||
|
if reason == "" {
|
||||||
|
reason = "le moteur a planté au démarrage (backtrace dans le journal)"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if loaded || reason == "" {
|
if loaded || reason == "" {
|
||||||
|
|||||||
Reference in new issue
Block a user