Hide Forgot
Also reproducible with libvirt-1.1.1-4.el7. +++ This bug was initially created as a clone of Bug #1006710 +++ Description of problem: The nodeset bitmap was freed when placement was auto, but the pointer wasn't set to NULL, leading to a double free when freeing the domain definition. Version-Release number of selected component (if applicable): libvirt-0.10.2-18.el6 Steps to Reproduce: 1. virsh define /dev/stdin <<EOF <domain type='qemu'> <name>duck</name> <memory unit='MiB'>32</memory> <numatune> <memory mode='preferred' placement='auto' nodeset='0'/> </numatune> <os> <type arch='x86_64' machine='pc'>hvm</type> </os> </domain> EOF 2. virsh undefine duck Actual results: error: Failed to undefine domain duck error: End of file while reading data: Input/output error error: Failed to reconnect to the hypervisor Expected results: Domain duck has been undefined Additional info: Reported by Liuji (Jeremy) on libvir-list: https://www.redhat.com/archives/libvir-list/2013-September/msg00337.html --- Additional comment from Jan Tomko on 2013-09-11 09:26:07 CEST --- Fixed upstream: commit ef5d51d491356f1f4287aa3a8b908b183b6dd9aa Author: Liuji (Jeremy) <jeremy.liu> AuthorDate: 2013-09-10 22:13:32 -0400 Commit: Ján Tomko <jtomko> CommitDate: 2013-09-11 09:18:28 +0200 virDomainDefParseXML: set the argument of virBitmapFree to NULL after calling virBitmapFree After freeing the bitmap pointer, it must set the pointer to NULL. This will avoid any other use of the freed memory of the bitmap pointer. https://bugzilla.redhat.com/show_bug.cgi?id=1006710 Signed-off-by: Liuji (Jeremy) <jeremy.liu> git describe: v1.1.2-96-gef5d51d
Downstream patch posted: http://post-office.corp.redhat.com/archives/rhvirt-patches/2013-September/msg00295.html
This bug is fixed in libvirt-1.1.1-5.el7.x86_64, the test steps are: # rpm -q libvirt libvirt-1.1.1-5.el7.x86_64 # virsh define /dev/stdin <<EOF > <domain type='qemu'> > <name>duck</name> > <memory unit='MiB'>32</memory> > <numatune> > <memory mode='preferred' placement='auto' nodeset='0'/> > </numatune> > <os> > <type arch='x86_64' machine='pc'>hvm</type> > </os> > </domain> > EOF Domain duck defined from /dev/stdin # virsh undefine duck Domain duck has been undefined # systemctl status libvirtd libvirtd.service - Virtualization daemon Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled) Active: active (running) since Sun 2013-09-22 11:29:26 CST; 9min ago Main PID: 4780 (libvirtd) CGroup: /system.slice/libvirtd.service ├─2961 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.... └─4780 /usr/sbin/libvirtd So I change the status to VERIFIED.
This request was resolved in Red Hat Enterprise Linux 7.0. Contact your manager or support representative in case you have further questions about the request.