From c222735c02a3fda18cdbd05ccae2d5dc1a290b42 Mon Sep 17 00:00:00 2001 From: Daniel Hiltgen Date: Wed, 11 Mar 2026 10:31:31 -0700 Subject: [PATCH] mlx: only log load errors when MLX is needed (#14764) This suppresses irrelevant/noisy errors in the GGML runner. --- x/mlxrunner/mlx/dynamic.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/x/mlxrunner/mlx/dynamic.go b/x/mlxrunner/mlx/dynamic.go index 38f825d241..7138c5d989 100644 --- a/x/mlxrunner/mlx/dynamic.go +++ b/x/mlxrunner/mlx/dynamic.go @@ -16,9 +16,14 @@ import ( ) var initError error +var initLoadError string // CheckInit returns any error that occurred during MLX dynamic library initialization. +// When initialization failed, detailed load errors are logged to help diagnose the issue. func CheckInit() error { + if initError != nil && initLoadError != "" { + slog.Error(initLoadError) + } return initError } @@ -44,12 +49,12 @@ func tryLoadFromDir(dir string) bool { var handle C.mlx_dynamic_handle if C.mlx_dynamic_load(&handle, cPath) != 0 { - slog.Error("Failed to load MLX dynamic library", "path", path) + initLoadError = fmt.Sprintf("failed to load MLX dynamic library: path=%s", path) continue } if C.mlx_dynamic_load_symbols(handle) != 0 { - slog.Error("Failed to load MLX dynamic library symbols", "path", path) + initLoadError = fmt.Sprintf("failed to load MLX dynamic library symbols: path=%s", path) C.mlx_dynamic_unload(&handle) continue }