mirror of
https://github.com/likelovewant/ollama-for-amd.git
synced 2025-12-21 22:33:56 +00:00
win: exit instead of abort (#13138)
Calling abort on windows triggers the C++ runtime to attempt a debugger attach, which causes the crashed runners to hang instead of exit, leading to a timeout instead of a fast failure during discovery.
This commit is contained in:
28
llama/patches/0036-win-exit-instead-of-abort.patch
Normal file
28
llama/patches/0036-win-exit-instead-of-abort.patch
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Daniel Hiltgen <daniel@ollama.com>
|
||||||
|
Date: Tue, 18 Nov 2025 09:58:23 -0800
|
||||||
|
Subject: [PATCH] win: exit instead of abort
|
||||||
|
|
||||||
|
---
|
||||||
|
ggml/src/ggml.c | 7 ++++++-
|
||||||
|
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/ggml/src/ggml.c b/ggml/src/ggml.c
|
||||||
|
index 9be35c1be..923c33d05 100644
|
||||||
|
--- a/ggml/src/ggml.c
|
||||||
|
+++ b/ggml/src/ggml.c
|
||||||
|
@@ -229,8 +229,13 @@ void ggml_abort(const char * file, int line, const char * fmt, ...) {
|
||||||
|
fprintf(stderr, "%s\n", message);
|
||||||
|
ggml_print_backtrace();
|
||||||
|
}
|
||||||
|
-
|
||||||
|
+#if defined(_WIN32)
|
||||||
|
+ fflush(stderr);
|
||||||
|
+ fflush(stdout);
|
||||||
|
+ exit(1);
|
||||||
|
+#else
|
||||||
|
abort();
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
// ggml_print_backtrace is registered with std::set_terminate by ggml.cpp
|
||||||
7
ml/backend/ggml/ggml/src/ggml.c
vendored
7
ml/backend/ggml/ggml/src/ggml.c
vendored
@@ -229,8 +229,13 @@ void ggml_abort(const char * file, int line, const char * fmt, ...) {
|
|||||||
fprintf(stderr, "%s\n", message);
|
fprintf(stderr, "%s\n", message);
|
||||||
ggml_print_backtrace();
|
ggml_print_backtrace();
|
||||||
}
|
}
|
||||||
|
#if defined(_WIN32)
|
||||||
|
fflush(stderr);
|
||||||
|
fflush(stdout);
|
||||||
|
exit(1);
|
||||||
|
#else
|
||||||
abort();
|
abort();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
// ggml_print_backtrace is registered with std::set_terminate by ggml.cpp
|
// ggml_print_backtrace is registered with std::set_terminate by ggml.cpp
|
||||||
|
|||||||
Reference in New Issue
Block a user