[libvirt] libvirtd segfault on latest git

Luiz Capitulino lcapitulino at redhat.com
Wed Apr 3 20:19:41 UTC 2013


Hi,

Libvirtd from latest git (HEAD fc8c1787) is segfaulting when I try to
restore a previously saved domain (backtrace below).

I was testing a custom QEMU when it happened first time, but it also
happens with latest qemu.git (HEAD 162cbbd17).

What I did to run libvirt from source was:

1. Build it

 $ ./autogen.sh --system --enable-compile-warnings=error
 $ ./configure --localstatedir=/var --sysconfdir=/etc --prefix=/usr --libdir=/usr/lib
 (this was needed because I had to re-ran configure and it ended up overwriting
  --system)
 $ make -j4

2. Stop system's libvirtd

 # systemctl stop libvitd

3. Change /etc/libvirt/qemu/Fedora18.xml to use a custom QEMU binary

4. Run libvirtd

 # ./daemon/libvirtd

5. Reproduce the problem with virsh

 # ./tools/virsh
 virsh # save Fedora18 foobar
 virsh # restore foobar
 error: Failed to restore domain from foobar
 error: End of file while reading data: Input/output error
 error: Failed to reconnect to the hypervisor

6. Change to the libvirtd terminal

 [...]
 
 2013-04-03 20:01:58.742+0000: 32334: debug : virNetServerAddShutdownInhibition:795 : srv=0x1ecf3f0 inhibitions=1
 2013-04-03 20:01:58.742+0000: 32334: debug : qemuProcessStart:3351 : Preparing host devices
 2013-04-03 20:01:58.742+0000: 32334: debug : qemuProcessStart:3355 : Preparing chr devices
 2013-04-03 20:01:58.742+0000: 32334: debug : qemuProcessStart:3364 : Generating domain security label (if required)
 
 
      ====== end of log =====
 
 Segmentation fault (core dumped)
 [root at doriath libvirt]#

Here's the backtrace:

Core was generated by `/home/lcapitulino/work/src/upstream/libvirt/daemon/.libs/lt-libvirtd'.
Program terminated with signal 11, Segmentation fault.
#0  0x00007f7623a4e79f in virSecurityManagerGenLabel (mgr=0x7f760c022380, vm=<optimized out>) at security/security_manager.c:424
424	int virSecurityManagerGenLabel(virSecurityManagerPtr mgr,
(gdb) bt
#0  0x00007f7623a4e79f in virSecurityManagerGenLabel (mgr=0x7f760c022380, vm=<optimized out>) at security/security_manager.c:424
#1  0x00007f761467718c in qemuProcessStart (conn=conn at entry=0x7f7608000ad0, driver=driver at entry=0x7f760c009440, 
    vm=vm at entry=0x7f760c2097d0, migrateFrom=migrateFrom at entry=0x7f76146dfeeb "stdio", stdin_fd=16, 
    stdin_path=stdin_path at entry=0x7f7600000a90 "/home/lcapitulino/work/src/upstream/libvirt/foobar", snapshot=snapshot at entry=0x0, 
    vmop=vmop at entry=VIR_NETDEV_VPORT_PROFILE_OP_RESTORE, flags=flags at entry=2) at qemu/qemu_process.c:3365
#2  0x00007f76146c25a0 in qemuDomainSaveImageStartVM (conn=conn at entry=0x7f7608000ad0, driver=driver at entry=0x7f760c009440, 
    vm=vm at entry=0x7f760c2097d0, fd=fd at entry=0x7f761882fa7c, header=header at entry=0x7f761882fa90, 
    path=path at entry=0x7f7600000a90 "/home/lcapitulino/work/src/upstream/libvirt/foobar", start_paused=start_paused at entry=false)
    at qemu/qemu_driver.c:4843
#3  0x00007f76146c35c6 in qemuDomainRestoreFlags (conn=0x7f7608000ad0, 
    path=0x7f7600000a90 "/home/lcapitulino/work/src/upstream/libvirt/foobar", dxml=<optimized out>, flags=<optimized out>)
    at qemu/qemu_driver.c:4962
#4  0x00007f762393923b in virDomainRestore (conn=0x7f7608000ad0, 
    from=0x7f76000008c0 "/home/lcapitulino/work/src/upstream/libvirt/foobar") at libvirt.c:2768
#5  0x00007f7624365691 in remoteDispatchDomainRestore (server=<optimized out>, msg=<optimized out>, args=0x7f7600000900, 
    rerr=0x7f761882fcd0, client=0x7f76253b9150) at remote_dispatch.h:4679
#6  remoteDispatchDomainRestoreHelper (server=<optimized out>, client=0x7f76253b9150, msg=<optimized out>, rerr=0x7f761882fcd0, 
    args=0x7f7600000900, ret=<optimized out>) at remote_dispatch.h:4661
#7  0x00007f76239a4d56 in virNetServerProgramDispatchCall (msg=0x7f76253b8700, client=0x7f76253b9150, server=0x7f76253b23f0, 
    prog=0x7f76253bd070) at rpc/virnetserverprogram.c:439
#8  virNetServerProgramDispatch (prog=0x7f76253bd070, server=server at entry=0x7f76253b23f0, client=0x7f76253b9150, msg=0x7f76253b8700)
    at rpc/virnetserverprogram.c:305
#9  0x00007f76239a0338 in virNetServerProcessMsg (msg=<optimized out>, prog=<optimized out>, client=<optimized out>, 
    srv=0x7f76253b23f0) at rpc/virnetserver.c:162
#10 virNetServerHandleJob (jobOpaque=<optimized out>, opaque=0x7f76253b23f0) at rpc/virnetserver.c:183
#11 0x00007f76238c20ee in virThreadPoolWorker (opaque=opaque at entry=0x7f76253bd230) at util/virthreadpool.c:144
#12 0x00007f76238c1766 in virThreadHelper (data=<optimized out>) at util/virthreadpthread.c:161
#13 0x00007f76227ffd15 in start_thread (arg=0x7f7618830700) at pthread_create.c:308
#14 0x00007f762212b48d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114




More information about the libvir-list mailing list