From 75d65fb291384b48d171913e28ac26229fde2f6d Mon Sep 17 00:00:00 2001 From: Evgueni Driouk Date: Wed, 20 May 2026 18:34:22 +0200 Subject: [PATCH 1/2] Fix crash in LoadPacks RPC call --- tools/projmgr/src/ProjMgrRpcServer.cpp | 1 + tools/projmgr/src/ProjMgrWorker.cpp | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/projmgr/src/ProjMgrRpcServer.cpp b/tools/projmgr/src/ProjMgrRpcServer.cpp index 95a56902d..140bcd28c 100644 --- a/tools/projmgr/src/ProjMgrRpcServer.cpp +++ b/tools/projmgr/src/ProjMgrRpcServer.cpp @@ -304,6 +304,7 @@ RpcArgs::SuccessResult RpcHandler::LoadPacks(void) { RpcArgs::SuccessResult result = {false}; m_manager.Clear(); m_solutionLoaded = false; + ProjMgrKernel::Get()->GetGlobalModel()->Clear(); m_worker.InitializeModel(); m_worker.SetLoadPacksPolicy(LoadPacksPolicy::ALL); result.success = m_worker.LoadAllRelevantPacks(); diff --git a/tools/projmgr/src/ProjMgrWorker.cpp b/tools/projmgr/src/ProjMgrWorker.cpp index 00c6be800..76f2ece48 100644 --- a/tools/projmgr/src/ProjMgrWorker.cpp +++ b/tools/projmgr/src/ProjMgrWorker.cpp @@ -74,7 +74,7 @@ bool ProjMgrWorker::PushImageOnlyTargetType(const string& targetType, const vect } } CollectionUtils::PushBackUniquely(imageOnlyTargetTypes, targetType); - return true; + return true; } void ProjMgrWorker::AddImageOnlyContext() { @@ -522,6 +522,7 @@ bool ProjMgrWorker::CollectAllRequiredPdscFiles() { } bool ProjMgrWorker::LoadAllRelevantPacks() { + m_loadedPacks.clear(); // the list will be updated, is should not contain dangling pointers // Get required pdsc files std::list pdscFiles; for (const auto& context : m_selectedContexts) { @@ -6064,7 +6065,7 @@ bool ProjMgrWorker::CheckPackVerAndCollectRelNotes(std::vector& res vector checkPackResults; for (const auto& [packId, packInfo] : usedPacks) { - const string& currentVersion = packInfo.first; + const string& currentVersion = packInfo.first; auto latestPack = latestPacks.find(packId); if (latestPack == latestPacks.end()) { checkPackResults.push_back(packId + "@" + currentVersion + " (not found in CMSIS pack root or project-specified pack paths)"); From 40b336da10f0ebe972f97cec879db4e7eb1d7475 Mon Sep 17 00:00:00 2001 From: Evgueni Driouk Date: Wed, 20 May 2026 19:09:08 +0200 Subject: [PATCH 2/2] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- tools/projmgr/src/ProjMgrWorker.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/projmgr/src/ProjMgrWorker.cpp b/tools/projmgr/src/ProjMgrWorker.cpp index 76f2ece48..575603975 100644 --- a/tools/projmgr/src/ProjMgrWorker.cpp +++ b/tools/projmgr/src/ProjMgrWorker.cpp @@ -522,7 +522,7 @@ bool ProjMgrWorker::CollectAllRequiredPdscFiles() { } bool ProjMgrWorker::LoadAllRelevantPacks() { - m_loadedPacks.clear(); // the list will be updated, is should not contain dangling pointers + m_loadedPacks.clear(); // the list will be updated, it should not contain dangling pointers // Get required pdsc files std::list pdscFiles; for (const auto& context : m_selectedContexts) {