[libvirt] [PATCH] fix libvirtd crash in qemu driver

I noticed that the following sequence of events would crash libvirtd when using the qemu driver: (1) establish a connection that successfully registers for domain events (either of the event-test programs will do, though the python one is currently broken -- another patch on the way for that) (2) close this connection (3) open another connection (4) do something (like start a domain) that issues a domain event The problem is that qemudClose() isn't removing registered domain event callbacks when the connection closes. This patch does that, and fixes the crash. Dave domain_event.c | 38 ++++++++++++++++++++++++++++++++++++++ domain_event.h | 3 +++ qemu_driver.c | 5 ++++- 3 files changed, 45 insertions(+), 1 deletion(-)

On Thu, Nov 20, 2008 at 04:48:46PM -0500, David Lively wrote:
I noticed that the following sequence of events would crash libvirtd when using the qemu driver: (1) establish a connection that successfully registers for domain events (either of the event-test programs will do, though the python one is currently broken -- another patch on the way for that) (2) close this connection (3) open another connection (4) do something (like start a domain) that issues a domain event
The problem is that qemudClose() isn't removing registered domain event callbacks when the connection closes. This patch does that, and fixes the crash.
Ah ha, that explains the crash I was seeing. I've committed this fix. Regards, Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|
participants (2)
-
Daniel P. Berrange
-
David Lively