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@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@entry=0x7f7608000ad0, 
driver=driver@entry=0x7f760c009440, 
    vm=vm@entry=0x7f760c2097d0, migrateFrom=migrateFrom@entry=0x7f76146dfeeb 
"stdio", stdin_fd=16, 
    stdin_path=stdin_path@entry=0x7f7600000a90 
"/home/lcapitulino/work/src/upstream/libvirt/foobar", 
snapshot=snapshot@entry=0x0, 
    vmop=vmop@entry=VIR_NETDEV_VPORT_PROFILE_OP_RESTORE, flags=flags@entry=2) 
at qemu/qemu_process.c:3365
#2  0x00007f76146c25a0 in qemuDomainSaveImageStartVM 
(conn=conn@entry=0x7f7608000ad0, driver=driver@entry=0x7f760c009440, 
    vm=vm@entry=0x7f760c2097d0, fd=fd@entry=0x7f761882fa7c, 
header=header@entry=0x7f761882fa90, 
    path=path@entry=0x7f7600000a90 
"/home/lcapitulino/work/src/upstream/libvirt/foobar", 
start_paused=start_paused@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@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@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

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to