Race condition in Process Monitor / disable proccess
Bug #1401042 reported by
Miguel Angel Ajo
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
Undecided
|
Miguel Angel Ajo |
Bug Description
When we disable a monitored process via ProcessMonitor, and the
monitoring loop is running a
RuntimeError: dictionary changed size during iteration
will happen here:
https:/
This can be prevented by either, getting the full list of .keys() for the loop, or adding extra locking.
Changed in neutron: | |
milestone: | none → kilo-1 |
status: | Fix Committed → Fix Released |
Changed in neutron: | |
milestone: | kilo-1 → 2015.1.0 |
To post a comment you must log in.
A simple change:
- for service_id in self._process_ managers: managers. keys():
+for service_id in self._process_
would fix the issue, as the later:
pm = self._process_ managers. get(service_ id) // if pm...
will just skip a process manager that has been disabled.