[libvirt] infinite loop while restarting libvirt after LXC creation
Michael R. Hines
mrhines at linux.vnet.ibm.com
Sat Aug 3 01:56:15 UTC 2013
On 08/02/2013 09:06 PM, Michael R. Hines wrote:
> Hi,
>
> I'm using OpenStack grizzly on Ubuntu 12.04 to create LXC containers.
>
> After successful container creation and a subsequent reboot of the
> hypervisor,
> libvirt gets stuck in an infinite loop, spinning at 100%
>
> Here's the backtrace:
>
> (gdb) thread 12
> [Switching to thread 12 (Thread 0x7fffee46f700 (LWP 7052))]
> #0 0x00007ffff7617de1 in virDomainDefMaybeAddController
> (def=0x7fffe8033b30, type=2, idx=73405, model=-1) at
> conf/domain_conf.c:10570
> warning: Source file is more recent than executable.
> 10570 for (i = 0; i < def->ncontrollers; i++) {
> (gdb) bt
> #0 0x00007ffff7617de1 in virDomainDefMaybeAddController
> (def=0x7fffe8033b30, type=2, idx=73405, model=-1) at
> conf/domain_conf.c:10570
> #1 0x00007ffff76180ab in virDomainDefAddDiskControllersForType
> (def=0x7fffe8033b30, controllerType=2, diskBus=<optimized out>) at
> conf/domain_conf.c:13653
> #2 0x00007ffff761a11d in virDomainDefAddImplicitControllers
> (def=0x7fffe8033b30) at conf/domain_conf.c:13747
> #3 0x00007ffff7623a29 in virDomainDefParseXML (xml=0x7fffe8034500,
> root=0x7fffe802fc60, ctxt=<optimized out>, caps=0x7fffe8030f20,
> xmlopt=0x7fffe8031a60, expectedVirtTypes=<optimized out>, flags=2) at
> conf/domain_conf.c:12375
> #4 0x00007ffff76299a0 in virDomainDefParseNode (xml=0x7fffe8034500,
> root=0x7fffe802fc60, caps=0x7fffe8030f20, xmlopt=0x7fffe8031a60,
> expectedVirtTypes=16, flags=2) at conf/domain_conf.c:12562
> #5 0x00007ffff7629b19 in virDomainDefParse (xmlStr=<optimized out>,
> filename=<optimized out>, caps=0x7fffe8030f20, xmlopt=0x7fffe8031a60,
> expectedVirtTypes=16, flags=2) at conf/domain_conf.c:12504
> #6 0x00007ffff762a489 in virDomainObjListLoadConfig (opaque=0x0,
> notify=0, expectedVirtTypes=16, name=0x7fffe80fb543
> "instance-00000017", autostartDir=0x7fffe8033280
> "/etc/libvirt/lxc/autostart",
> configDir=0x7fffe8033b10 "/etc/libvirt/lxc",
> xmlopt=0x7fffe8031a60, caps=0x7fffe8030f20, doms=0x7fffe80fac40) at
> conf/domain_conf.c:17027
> #7 virDomainObjListLoadAllConfigs (doms=0x7fffe80fac40,
> configDir=<optimized out>, autostartDir=0x7fffe8033280
> "/etc/libvirt/lxc/autostart", liveStatus=<optimized out>,
> caps=0x7fffe8030f20, xmlopt=0x7fffe8031a60, expectedVirtTypes=16,
> notify=0, opaque=0x0) at conf/domain_conf.c:17155
> #8 0x00007fffef1def58 in lxcStateInitialize (privileged=<optimized
> out>, callback=<optimized out>, opaque=<optimized out>) at
> lxc/lxc_driver.c:1449
> #9 lxcStateInitialize (privileged=<optimized out>,
> callback=<optimized out>, opaque=<optimized out>) at
> lxc/lxc_driver.c:1361
> #10 0x00007ffff766df12 in virStateInitialize (privileged=true,
> callback=0x555555568110 <daemonInhibitCallback>,
> opaque=0x5555557cc8e0) at libvirt.c:832
> #11 0x00005555555681c0 in daemonRunStateInit (opaque=<optimized out>)
> at libvirtd.c:902
> #12 0x00007ffff75f0ae6 in virThreadHelper (data=<optimized out>) at
> util/virthreadpthread.c:161
> #13 0x00007ffff733ee9a in start_thread () from
> /lib/x86_64-linux-gnu/libpthread.so.0
> #14 0x00007ffff706bccd in clone () from /lib/x86_64-linux-gnu/libc.so.6
> #15 0x0000000000000000 in ?? ()
> (gdb) next
>
>
>
>
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list
>
FYI: The infinite loop was caused by a missing disk (iSCSI disk to be
precise).
By removing the corresponding XML, libvirtd started up successfully.
Would be nice if it didn't get stuck in an infinite loop, though =)
- Michael
More information about the libvir-list
mailing list