From 51355234290ac3adb0ee0df597aa6a3bb9189cb4 Mon Sep 17 00:00:00 2001 From: oobabooga <112222186+oobabooga@users.noreply.github.com> Date: Fri, 18 Apr 2025 17:10:26 -0700 Subject: [PATCH] Fix the new llama.cpp loader failing to unload models --- modules/llama_cpp_server.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/modules/llama_cpp_server.py b/modules/llama_cpp_server.py index a6eb9b20..8180f974 100644 --- a/modules/llama_cpp_server.py +++ b/modules/llama_cpp_server.py @@ -280,13 +280,17 @@ class LlamaServer: bufsize=1 ) - def filter_stderr(): - for line in iter(self.process.stderr.readline, ''): - if not line.startswith(('srv ', 'slot ')) and 'log_server_r: request: GET /health' not in line: - sys.stderr.write(line) - sys.stderr.flush() + def filter_stderr(process_stderr): + try: + for line in iter(process_stderr.readline, ''): + if not line.startswith(('srv ', 'slot ')) and 'log_server_r: request: GET /health' not in line: + sys.stderr.write(line) + sys.stderr.flush() + except (ValueError, IOError): + # Handle pipe closed exceptions + pass - threading.Thread(target=filter_stderr, daemon=True).start() + threading.Thread(target=filter_stderr, args=(self.process.stderr,), daemon=True).start() # Wait for server to be healthy health_url = f"http://localhost:{self.port}/health"