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