From 88c1db201d08a7733b0b3a4eebf32d583524d036 Mon Sep 17 00:00:00 2001 From: Alexey Rybalchenko Date: Fri, 2 Jul 2021 01:22:15 +0200 Subject: [PATCH] shmmonitor: handle missing segmentInfos --- fairmq/shmem/Monitor.cxx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/fairmq/shmem/Monitor.cxx b/fairmq/shmem/Monitor.cxx index 910a5f83..3c347c32 100644 --- a/fairmq/shmem/Monitor.cxx +++ b/fairmq/shmem/Monitor.cxx @@ -596,8 +596,14 @@ std::vector> Monitor::Cleanup(const ShmId& shmId, b Uint16SegmentInfoHashMap* segmentInfos = managementSegment.find(bipc::unique_instance).first; - for (const auto& s : *segmentInfos) { - result.emplace_back(RunRemoval(Monitor::RemoveObject, "fmq_" + shmId.shmId + "_m_" + to_string(s.first), verbose)); + if (segmentInfos) { + for (const auto& s : *segmentInfos) { + result.emplace_back(RunRemoval(Monitor::RemoveObject, "fmq_" + shmId.shmId + "_m_" + to_string(s.first), verbose)); + } + } else { + if (verbose) { + LOG(info) << "Cannot find information about managed segments"; + } } result.emplace_back(RunRemoval(Monitor::RemoveObject, managementSegmentName.c_str(), verbose));