From 09682bff0e7f07d1537215ab953ac8a438659c6f Mon Sep 17 00:00:00 2001 From: sangjanai Date: Fri, 14 Feb 2025 14:37:26 +0700 Subject: [PATCH] fix: unload engine before updating --- engine/controllers/engines.cc | 2 ++ engine/services/engine_service.cc | 2 +- engine/services/model_service.cc | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/engine/controllers/engines.cc b/engine/controllers/engines.cc index 257aaaf2b..7c1a0b9d3 100644 --- a/engine/controllers/engines.cc +++ b/engine/controllers/engines.cc @@ -379,6 +379,8 @@ void Engines::UpdateEngine( metadata = (*exist_engine).metadata; } + (void) engine_service_->UnloadEngine(engine); + auto upd_res = engine_service_->UpsertEngine(engine, type, api_key, url, version, "all-platforms", status, metadata); diff --git a/engine/services/engine_service.cc b/engine/services/engine_service.cc index 6938a3005..65e37ac4d 100644 --- a/engine/services/engine_service.cc +++ b/engine/services/engine_service.cc @@ -906,10 +906,10 @@ cpp::result EngineService::UnloadEngine( auto unload_opts = EngineI::EngineUnloadOption{}; e->Unload(unload_opts); delete e; - engines_.erase(ne); } else { delete std::get(engines_[ne].engine); } + engines_.erase(ne); CTL_DBG("Engine unloaded: " + ne); return {}; diff --git a/engine/services/model_service.cc b/engine/services/model_service.cc index 4a21dff40..0fcf957eb 100644 --- a/engine/services/model_service.cc +++ b/engine/services/model_service.cc @@ -1255,6 +1255,8 @@ cpp::result, std::string> ModelService::MayFallbackToCpu(const std::string& model_path, int ngl, int ctx_len, int n_batch, int n_ubatch, const std::string& kv_cache_type) { + // TODO(sang) temporary disable this function + return std::nullopt; assert(hw_service_); auto hw_info = hw_service_->GetHardwareInfo(); assert(!!engine_svc_);