Bug 742277

Summary: Daemon crashes during migration and dumpxml
Product: Red Hat Enterprise Linux 6 Reporter: Michal Privoznik <mprivozn>
Component: libvirtAssignee: Michal Privoznik <mprivozn>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.1CC: acathrow, mzhan, rwu, syeghiay, veillard, weizhan
Target Milestone: rcKeywords: Regression
Target Release: 6.2   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libvirt-0.9.4-15.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-12-06 11:34:43 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 747120    

Description Michal Privoznik 2011-09-29 15:03:10 UTC
Description of problem:
If there is an incoming migration and user run virsh dumpxml on incoming domain, but the migration fails, the daemon will then either block indefinitely or crash. This is because dumpxml tries to lock monitor, which gets free()'d meanwhile.

Version-Release number of selected component (if applicable):
libvirt-0.9.4-14.el6

How reproducible:
100%

Steps to Reproduce:
1. start migration
2. on destination run 'virsh dumpxml <domain>'
3. observe segfault or hangup
  
Actual results:
The daemon crashes

Expected results:
The daemon will not crash and virsh prints something useful

Additional info:

Comment 5 weizhang 2011-10-08 09:20:03 UTC
verify pass on 
libvirt-0.9.4-16.el6.x86_64
kernel-2.6.32-206.el6.x86_64
qemu-kvm-0.12.1.2-2.195.el6.x86_64


steps:
1. Prepare 2 hosts and prepare a nfs which is mounted on both hosts, and setting the virt_use_nfs boolean on both sides
# setsebool virt_use_nfs 1
and close the iptable on both sides
# iptables -F 

2. Start a guest located on nfs

3. Ensure two hosts have no FQDN.
on hostA: # hostname
test1
on hostB: # hostname
test2

4. Ensure /etc/hosts have no domain name resolve on two hosts
# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 loclhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

5. On destination host, do
# while true; do virsh dumpxml guest; done

6. On source host, do migration
# virsh migrate --live guest qemu+ssh://{dest ip}/system
Migration will fail with error like 
error: Unable to resolve address 'dhcp-4.196' service '49153': Name or service not known

7. Check the libvirtd status on destination host
# service libvirtd status

libvirtd still running

Comment 6 errata-xmlrpc 2011-12-06 11:34:43 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.

http://rhn.redhat.com/errata/RHBA-2011-1513.html