diff --git a/src/im/InformationManager.cc b/src/im/InformationManager.cc index efc06747d5..512dd1ab50 100644 --- a/src/im/InformationManager.cc +++ b/src/im/InformationManager.cc @@ -434,6 +434,13 @@ void InformationManager::_vm_state(unique_ptr> msg) continue; } + if (!vm->hasHistory() || vm->get_hid() != msg->oid()) + { + //VM is not running in this host anymore, ignore + vm->unlock(); + continue; + } + if (vm->get_deploy_id() != deploy_id) { vm->set_deploy_id(deploy_id); @@ -505,7 +512,7 @@ void InformationManager::_vm_state(unique_ptr> msg) continue; } - if (!vm->hasHistory()) + if (!vm->hasHistory() || (vm->get_hid() != msg->oid())) { vm->unlock(); continue;