From 63b1be7e59b0afb4688ec4e722238f87d38d9816 Mon Sep 17 00:00:00 2001 From: Fabian Peller-Konrad <fabian.peller-konrad@kit.edu> Date: Fri, 12 Aug 2022 15:21:04 +0200 Subject: [PATCH] fixed ltm enable via GUI (marshalling exception on release builds) and commented out locks from memory viewer --- .../libraries/armem/client/Reader.cpp | 6 +++- .../armem/server/MemoryToIceAdapter.cpp | 2 +- .../libraries/armem_gui/MemoryViewer.cpp | 30 +++++++++---------- 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/source/RobotAPI/libraries/armem/client/Reader.cpp b/source/RobotAPI/libraries/armem/client/Reader.cpp index 48efb7bb9..55483dce0 100644 --- a/source/RobotAPI/libraries/armem/client/Reader.cpp +++ b/source/RobotAPI/libraries/armem/client/Reader.cpp @@ -428,7 +428,11 @@ namespace armarx::armem::client server::RecordingMemoryInterfacePrx storingMemoryPrx = server::RecordingMemoryInterfacePrx::checkedCast(readingPrx); if (storingMemoryPrx) { - server::dto::StartRecordInput i; // WHAT TO PUT HERE? + server::dto::StartRecordInput i; + i.executionTime = armarx::core::time::dto::DateTime(); + i.recordingID = ""; + i.configuration.clear(); + storingMemoryPrx->startRecord(i); return; } diff --git a/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.cpp b/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.cpp index 6aa17f4ce..8f37824ff 100644 --- a/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.cpp +++ b/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.cpp @@ -381,7 +381,7 @@ namespace armarx::armem::server ARMARX_TRACE; ARMARX_CHECK_NOT_NULL(longtermMemory); ARMARX_IMPORTANT << "Enabling the recording of memory " << longtermMemory->id().str(); - longtermMemory->startRecording(); + longtermMemory->startRecording(); // TODO: config and execution time! dto::StartRecordResult ret; ret.success = true; diff --git a/source/RobotAPI/libraries/armem_gui/MemoryViewer.cpp b/source/RobotAPI/libraries/armem_gui/MemoryViewer.cpp index 699a41d01..8623bf6c0 100644 --- a/source/RobotAPI/libraries/armem_gui/MemoryViewer.cpp +++ b/source/RobotAPI/libraries/armem_gui/MemoryViewer.cpp @@ -256,7 +256,7 @@ namespace armarx::armem::gui const armem::wm::Memory* MemoryViewer::getSingleMemoryData(const std::string& memoryName) { - std::scoped_lock l(memoryDataMutex); + //std::scoped_lock l(memoryDataMutex); auto it = memoryData.find(memoryName); if (it == memoryData.end()) { @@ -313,7 +313,7 @@ namespace armarx::armem::gui void MemoryViewer::startLTMRecording() { - std::scoped_lock l(memoryReaderMutex); + //std::scoped_lock l(memoryReaderMutex); TIMING_START(MemoryStartRecording); @@ -334,7 +334,7 @@ namespace armarx::armem::gui void MemoryViewer::stopLTMRecording() { - std::scoped_lock l(memoryReaderMutex); + //std::scoped_lock l(memoryReaderMutex); TIMING_START(MemoryStopRecording); @@ -354,7 +354,7 @@ namespace armarx::armem::gui void MemoryViewer::commit() { - std::scoped_lock l(memoryWriterMutex); + //std::scoped_lock l(memoryWriterMutex); TIMING_START(Commit); auto now = armem::Time::Now(); @@ -401,7 +401,7 @@ namespace armarx::armem::gui void MemoryViewer::storeOnDisk(QString directory) { - std::scoped_lock l(memoryDataMutex); + //std::scoped_lock l(memoryDataMutex); TIMING_START(MemoryExport) std::string status; @@ -415,7 +415,7 @@ namespace armarx::armem::gui void MemoryViewer::loadFromDisk(QString directory) { - std::scoped_lock l(memoryWriterMutex); + //std::scoped_lock l(memoryWriterMutex); std::string status; std::map<std::string, wm::Memory> data = @@ -481,8 +481,8 @@ namespace armarx::armem::gui void MemoryViewer::startDueQueries() { - std::scoped_lock l(memoryReaderMutex); - std::scoped_lock l2(runningQueriesMutex); + //std::scoped_lock l(memoryReaderMutex); + //std::scoped_lock l2(runningQueriesMutex); armem::client::QueryInput input = memoryGroup->queryInput(); int recursionDepth = memoryGroup->queryWidget()->queryLinkRecursionDepth(); @@ -524,8 +524,8 @@ namespace armarx::armem::gui std::map<std::string, client::QueryResult> MemoryViewer::collectQueryResults() { - std::scoped_lock l(memoryReaderMutex); - std::scoped_lock l2(runningQueriesMutex); + //std::scoped_lock l(memoryReaderMutex); + //std::scoped_lock l2(runningQueriesMutex); TIMING_START(tCollectQueryResults) @@ -578,7 +578,7 @@ namespace armarx::armem::gui void MemoryViewer::applyQueryResults(const std::map<std::string, client::QueryResult>& results, int* outErrorCount) { - std::scoped_lock l(memoryDataMutex); + //std::scoped_lock l(memoryDataMutex); TIMING_START(tProcessQueryResults) for (const auto& [name, result] : results) { @@ -649,7 +649,7 @@ namespace armarx::armem::gui void MemoryViewer::updateInstanceTree(const armem::MemoryID& selectedID) { - std::scoped_lock l(memoryDataMutex); + //std::scoped_lock l(memoryDataMutex); const armem::wm::Memory* data = getSingleMemoryData(selectedID.memoryName); if (data) { @@ -701,7 +701,7 @@ namespace armarx::armem::gui void MemoryViewer::resolveMemoryID(const MemoryID& id) { - std::scoped_lock l(memoryDataMutex); + //std::scoped_lock l(memoryDataMutex); // ARMARX_IMPORTANT << "Resolving memory ID: " << id; auto handleError = [this](const std::string& msg) @@ -806,7 +806,7 @@ namespace armarx::armem::gui void MemoryViewer::updateMemoryTree() { - std::scoped_lock l(memoryDataMutex); + //std::scoped_lock l(memoryDataMutex); std::map<std::string, const armem::wm::Memory*> convMap; for (auto& [name, data] : memoryData) { @@ -945,7 +945,7 @@ namespace armarx::armem::gui const armarx::DateTime& timestamp, const std::string& engineID) { - std::scoped_lock l(memoryReaderMutex); + //std::scoped_lock l(memoryReaderMutex); std::stringstream errorStream; auto showError = [this, &errorStream]() -- GitLab