RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1006722 - domain with auto numatune placement and a nodeset specified crashes libvirtd
Summary: domain with auto numatune placement and a nodeset specified crashes libvirtd
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: libvirt
Version: 7.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Ján Tomko
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On: 1006710
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-09-11 07:46 UTC by Ján Tomko
Modified: 2014-06-18 00:55 UTC (History)
5 users (show)

Fixed In Version: libvirt-1.1.1-5.el7
Doc Type: Bug Fix
Doc Text:
Clone Of: 1006710
Environment:
Last Closed: 2014-06-13 09:23:27 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Ján Tomko 2013-09-11 07:46:02 UTC
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

Comment 4 Jincheng Miao 2013-09-22 03:39:21 UTC
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.

Comment 5 Ludek Smid 2014-06-13 09:23:27 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.