Red Hat Bugzilla – Bug 790745
[Regression]libvirtd dead when create a guest with "--channel pty,target_type=virtio" by virt-install.
Last modified: 2012-06-20 02:48:25 EDT
Description of problem: When create a guest with "--channel pty,target_type=virtio" option, the service libvirtd dead. Version-Release number of selected component (if applicable): virt-manager-0.9.0-10.el6 libvirt-0.9.10-1.el6.x86_64 python-virtinst-0.600.0-7.el6.noarch qemu-kvm-0.12.1.2-2.222.el6.x86_64 # uname -a Linux localhost.localdomain 2.6.32-220.el6.x86_64 #1 SMP Wed Nov 9 08:03:13 EST 2011 x86_64 x86_64 x86_64 GNU/Linux How reproducible: always Steps to Reproduce: 1). Create a guest by virt-install: # virt-install -n demo1 -r 1024 --disk path=/var/lib/libvirt/images/demo1.img,size=5 --channel pty,target_type=virtio -l http://fileshare.englab.nay.redhat.com/pub/redhat/rhel/rel-eng/RHEL-6.2/RHEL6.2-20111117.0/x86_64/os/ --debug Actual results: Wed, 15 Feb 2012 02:42:09 ERROR End of file while reading data: Input/output error Wed, 15 Feb 2012 02:42:09 DEBUG Traceback (most recent call last): File "/usr/sbin/virt-install", line 629, in start_install noboot=options.noreboot) File "/usr/lib/python2.6/site-packages/virtinst/Guest.py", line 1223, in start_install noboot) File "/usr/lib/python2.6/site-packages/virtinst/Guest.py", line 1291, in _create_guest dom = self.conn.createLinustart_xml or final_xml, 0) File "/usr/lib64/python2.6/site-packages/libvirt.py", line 2413, in createLinux if ret is None:raise libvirtError('virDomainCreateLinu) failed', conn=self) libvirtError: End of file while reading data: Input/output error Wed, 15 Feb 2012 02:42:09 DEBUG Domain installation does not appear to have been successful. If it was, you can restart your domain by running: virsh --connect qemu:///system start demo1 otherwise, please restart your installation. Domain installation does not appear to have been successful. If it was, you can restart your domain by running: virsh --connect qemu:///system start demo1 otherwise, please restart your installation. Check the libvirtd status: # service libvirtd status libvirtd dead but pid file exists Expected results: Guest should be installed successfully and service libvirtd is normal. Additional info: This issue can not be reproduced on libvirt-0.9.9-2.el6.x86_64, so mark it as regression. Workaround: if add the "name" option, all work well. --channel pty,target_type=virtio,name=redhat
Created attachment 562181 [details] debug info
Patch for upstream: https://www.redhat.com/archives/libvir-list/2012-February/msg00676.html
v2 patch for upstream: https://www.redhat.com/archives/libvir-list/2012-February/msg00729.html
In POST: commit 18942b9bea8a5a8a4d52c0cdde253ae91be338a6 Author: Alex Jia <ajia@redhat.com> Date: Thu Feb 16 10:32:03 2012 +0800 qemu: Prevent crash of libvirtd without guest agent * src/qemu/qemu_process.c (qemuFindAgentConfig): avoid crash libvirtd due to deref a NULL pointer. * How to reproduce? 1. virsh edit the following xml into guest configuration: <channel type='pty'> <target type='virtio'/> </channel> 2. virsh start <domain> or % virt-install -n foo -r 1024 --disk path=/var/lib/libvirt/images/foo.img,size=1 \ --channel pty,target_type=virtio -l <installation tree> Signed-off-by: Alex Jia <ajia@redhat.com>
Verify this bug with libvirt-0.9.10-2.el6.x86_64 # virt-install -n demo7 -r 1024 --disk path=/var/lib/libvirt/images/demo7.img,size=5 --channel pty,target_type=virtio -l http://fileshare.englab.nay.redhat.com/pub/redhat/rhel/rel-eng/RHEL-6.2/RHEL6.2-20111117.0/x86_64/os/ Starting install... Retrieving file vmlinuz... | 7.5 MB 00:00 ... Retrieving file initrd.img... | 56 MB 00:00 ... Allocating 'demo7.img' | 5.0 GB 00:00 Creating domain... ------------------- guest's xml ... <channel type='pty'> <source path='/dev/pts/3'/> <target type='virtio'/> <alias name='channel0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> ... Wenlong
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/RHSA-2012-0748.html