Bug 602160

Summary: [LXC] Can not define vm domain
Product: Red Hat Enterprise Linux 6 Reporter: LiZhang Li <eli>
Component: libvirtAssignee: Daniel Veillard <veillard>
Status: CLOSED DUPLICATE QA Contact: Virtualization Bugs <virt-bugs>
Severity: high Docs Contact:
Priority: low    
Version: 6.0CC: berrange, hbrock, jialiu, llim, tyan, xen-maint, yoyzhang
Target Milestone: rcKeywords: TestBlocker
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-06-28 15:35:35 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description LiZhang Li 2010-06-09 09:39:46 UTC
Description of problem:
When using libvirt-0.8.1-7.el6.i686, can not even define vm domain.

# virsh -c lxc:/// define libvirt_domain_xml_template/lxc_template.xml
error: Failed to define domain from libvirt_domain_xml_template/lxc_template.xml
error: server closed connection:  

When downgrade to libvirt-0.8.1-6.el6.i686,everything works fine.And libvirt-0.8.1-6.el6.x86_64 also works fine.

Version-Release number of selected component (if applicable):
# rpm -qa | grep libvirt
libvirt-client-0.8.1-7.el6.i686
libvirt-python-0.8.1-7.el6.i686
libvirt-0.8.1-7.el6.i686

# uname -r
2.6.32-30.el6.i686

How reproducible:
100%

Steps to Reproduce:
1.# virsh -c lxc:/// define libvirt_domain_xml_template/lxc_template.xml
2.
3.
  
Actual results:
error: Failed to define domain from libvirt_domain_xml_template/lxc_template.xml
error: server closed connection:  

Expected results:
domain defined

Additional info:
lxc_template.xml

<domain type='lxc'>
  <name>lxc-fedora-rawhide-test3</name>
  <memory>32768</memory>
  <currentMemory>32768</currentMemory>
  <vcpu>1</vcpu>
  <os>
    <type arch='i686'>exe</type>
    <init>/sbin/init</init>
  </os>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/libexec/libvirt_lxc</emulator>
    <filesystem type='mount'>
      <source dir='/tmp/rawhide'/>
      <target dir='/'/>
    </filesystem>
    <interface type='network'>
      <source network='default'/>
    </interface>
    <console type='pty' tty='/dev/pts/7'>
      <source path='/dev/pts/7'/>
      <target port='0'/>
    </console>
  </devices>
</domain>

Comment 2 RHEL Program Management 2010-06-09 09:53:19 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux major release.  Product Management has requested further
review of this request by Red Hat Engineering, for potential inclusion in a Red
Hat Enterprise Linux Major release.  This request is not yet committed for
inclusion.

Comment 4 Daniel Berrangé 2010-06-10 17:12:58 UTC
I can't reproduce this problem myself. Does it only affect i686, or can you reproduce on x86_64 too ?

Can you try to capture a stack trace from libvirtd.

 # service libvirtd stop

 # yum install libvirt-debuginfo

 # gdb /usr/sbin/libvirtd

  (gdb) run

...now run virsh -c lxc:/// define ....

hopefuly GDB will show the SEGV at this point, then run

  (gdb) thread apply all backtrace

and upload the trace to thsi bug

Comment 5 Johnny Liu 2010-06-11 04:07:28 UTC
Good news is re-test it with libvirt-0.8.1-8.el6.i686, it does not reproduce.


I reproduce it with libvirt-0.8.1-7.el6.i686. 
It only affect i686, it does not reproduce on x86_64.

Following your comments, no SEGV is seen:

# service libvirtd stop
Stopping libvirtd daemon:                                  [  OK  ]
# rpm -ihv libvirt-debuginfo-0.8.1-7.el6.i686.rpm 
Preparing...                ########################################### [100%]
   1:libvirt-debuginfo      ########################################### [100%]
# gdb /usr/sbin/libvirtd
GNU gdb (GDB) Red Hat Enterprise Linux (7.1-26.el6)
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/sbin/libvirtd...Reading symbols from /usr/lib/debug/usr/sbin/libvirtd.debug...done.
done.
(gdb) run
Starting program: /usr/sbin/libvirtd 
[Thread debugging using libthread_db enabled]
[New Thread 0xb7fe5b70 (LWP 2902)]
Detaching after fork from child process 2904.
[New Thread 0xb73ffb70 (LWP 2903)]
[New Thread 0xb69feb70 (LWP 2905)]
[New Thread 0xb5ffdb70 (LWP 2906)]
[New Thread 0xb55fcb70 (LWP 2907)]
[New Thread 0xb4bfbb70 (LWP 2908)]
Detaching after fork from child process 2909.
Detaching after fork from child process 2910.
Detaching after fork from child process 2911.
Detaching after fork from child process 2912.
Detaching after fork from child process 2913.
Detaching after fork from child process 2914.
Detaching after fork from child process 2915.
Detaching after fork from child process 2916.
Detaching after fork from child process 2917.
Detaching after fork from child process 2918.
Detaching after fork from child process 2919.
Detaching after fork from child process 2920.
Detaching after fork from child process 2921.
Detaching after fork from child process 2922.
Detaching after fork from child process 2923.
Detaching after fork from child process 2924.
Detaching after fork from child process 2925.
Detaching after fork from child process 2926.
Detaching after fork from child process 2927.
Detaching after fork from child process 2928.
Detaching after fork from child process 2930.
Detaching after fork from child process 2932.
Detaching after fork from child process 2933.
Detaching after fork from child process 2934.

On the another terminal, run the following:
# virsh -c lxc:/// define lxc_template.xml 
error: Failed to define domain from lxc_template.xml
error: server closed connection:


The gdb show nothing at this point.


Whatever, with the latest libvirt package - libvirt-0.8.1-8.el6.i686, it does not reproduce.

Comment 8 Daniel Berrangé 2010-08-18 12:53:28 UTC
This was eventually reproduced in the -26.el6 build. Further info can be found in bug 624895

*** This bug has been marked as a duplicate of bug 624895 ***