Bug 1143955

Summary: libvirtd crashed after running "virsh metadata --remove" command
Product: Red Hat Enterprise Linux 7 Reporter: Ruifeng <rbian>
Component: libvirtAssignee: Erik Skultety <eskultet>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: high Docs Contact:
Priority: unspecified    
Version: 7.1CC: dyuan, eskultet, mzhan, rbalakri, zhwang, zpeng
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: libvirt-1.2.8-4.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-05 07:44:50 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
libvird coredump log file. none

Description Ruifeng 2014-09-18 10:18:35 UTC
Created attachment 938829 [details]
libvird coredump log file.

description of problem:
libvirtd crashed after running "virsh metadata --remove" command.

version:
libvirt-1.2.8-2.el7.x86_64
qemu-kvm-1.5.3-60.el7.x86_64

How reproducible:
100%

step to reproduce:
1. There is no metadata in guest xml.
# virsh list --all
 Id    Name                           State
----------------------------------------------------
 -     virt-tests-vm1                 shut off
# virsh dumpxml virt-tests-vm1 | grep metadata
# ps aux | grep libvirtd
root     11804  0.2  0.2 472144 21924 ?        Ssl  17:44   0:00 /usr/sbin/libvirtd
root     11860  0.0  0.0 112640  1024 pts/0    S+   17:44   0:00 grep --color=auto libvirtd

2. run "virsh metadata" command, libvird crashed.
# virsh metadata virt-tests-vm1 "http://herp.derp/" --remove
error: End of file while reading data: Input/output error
error: Failed to reconnect to the hypervisor
# ps aux | grep libvirtdroot     11863  3.0  0.2 472144 17832 ?        Ssl  17:44   0:00 /usr/sbin/libvirtd
root     11919  0.0  0.0 112640  1024 pts/0    S+   17:44   0:00 grep --color=auto libvirtd

3. Attached libvirtd coredump log file.

Actual results:
As described.

Expect result:
libvirtd shouldn't crash.

Comment 2 Erik Skultety 2014-09-18 13:21:52 UTC
Fixed upstream:

commit 288c47406cffa7a6eb9e9c29764850b0cdeb5508
Author: Erik Skultety <eskultet>
Date:   Thu Sep 18 14:25:05 2014 +0200

    Fix libvirtd crash when removing metadata
    
    When trying to remove nonexistent metadata from XML, libvirt daemon
    crashes due to dereferencing NULL pointer.
    
    Resolves https://bugzilla.redhat.com/show_bug.cgi?id=1143955

v1.2.8-197-g288c474

Comment 5 zhe peng 2014-10-09 06:10:51 UTC
I can reproduct this issue with build: libvirt-1.2.8-2.el7.x86_64

verify with build:libvirt-1.2.8-4.el7.x86_64

step:
# ps -ef | grep libvirtd
root     15093     1  1 13:52 ?        00:00:00 /usr/sbin/libvirtd
root     15119 14076  0 13:53 pts/0    00:00:00 grep --color=auto libvirtd

# virsh metadata rhel7 "http://herp.derp" --remove
Metadata removed

# ps -ef | grep libvirtd
root     15093     1  1 13:52 ?        00:00:00 /usr/sbin/libvirtd

libvirtd not crash
movet to verified.

Comment 7 errata-xmlrpc 2015-03-05 07:44:50 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHSA-2015-0323.html