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_);