Yaniv Bronhaim has submitted this change and it was merged.
Change subject: vm: fix _dom access when QEMU is dying
......................................................................
vm: fix _dom access when QEMU is dying
commit 8fedf8bde3c28edb07add23c3e9b72681cb48e49 introduced a tiny
window for races between libvirt notifications (vm._onQemuDeath)
and polling for stats from engine.
This is demonstrated by bz1073478, but it really boils down
to how events are serialized.
In this case, a stats request from engine is being answered
while QEMU is being reported down and the _dom handle is being
shut down, we end up with an uncaught exception.
This patch address the reported race between polling and qemu death.
The window of vulnerability is (supposed to be) tiny
and the issue itself is hard to reproduce.
Sampling thread is theorically vulnerable to the a race of the
same type, but this problem will be addressed in a separate
patch.
Change-Id: Ibac9e75a484b228c67d5432b71e965bdf317b89c
Bug-Url:
https://bugzilla.redhat.com/1098148
Signed-off-by: Francesco Romani <fromani(a)redhat.com>
Reviewed-on:
http://gerrit.ovirt.org/26539
Reviewed-by: Dan Kenigsberg <danken(a)redhat.com>
Reviewed-on:
http://gerrit.ovirt.org/27724
Reviewed-by: Yaniv Bronhaim <ybronhei(a)redhat.com>
---
M tests/vmTests.py
M vdsm/vm.py
2 files changed, 70 insertions(+), 2 deletions(-)
Approvals:
Yaniv Bronhaim: Looks good to me, approved
Francesco Romani: Verified
--
To view, visit
http://gerrit.ovirt.org/27724
To unsubscribe, visit
http://gerrit.ovirt.org/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ibac9e75a484b228c67d5432b71e965bdf317b89c
Gerrit-PatchSet: 3
Gerrit-Project: vdsm
Gerrit-Branch: ovirt-3.4
Gerrit-Owner: Francesco Romani <fromani(a)redhat.com>
Gerrit-Reviewer: Dan Kenigsberg <danken(a)redhat.com>
Gerrit-Reviewer: Francesco Romani <fromani(a)redhat.com>
Gerrit-Reviewer: Michal Skrivanek <michal.skrivanek(a)redhat.com>
Gerrit-Reviewer: Yaniv Bronhaim <ybronhei(a)redhat.com>
Gerrit-Reviewer: automation(a)ovirt.org