[libvirt-users] virInitialize dumps core intermittently.

Hi, I have a host with 6 VMs set to autostart. When this host reboots, it starts libvirtd, pegasus cimom and libvirt-cim. It also restarts the VMs. Intermittently we noticed a core during start up that points to the last call made by libvirt-cim to "virInitialize". I am thinking that it is a timing issue where virInitialize is called while libvirt is trying to autostart the VMs. Is this a known issue? Thanks, Sharad Mishra

On Thu, Aug 11, 2011 at 11:36:51AM -0700, Sharad Mishra wrote:
Hi,
I have a host with 6 VMs set to autostart. When this host reboots, it starts libvirtd, pegasus cimom and libvirt-cim. It also restarts the VMs. Intermittently we noticed a core during start up that points to the last call made by libvirt-cim to "virInitialize". I am thinking that it is a timing issue where virInitialize is called while libvirt is trying to autostart the VMs.
Libvirt should not crash as is, but restarting the 6 domains may take quite some time and it's done synchronously at startup, libvirt daemon will start processing requests only once done. The problem is that tog-pegasus may start in the meantime, libvirt-cim virInitialize() run ... and fails to connect. You may have a crash there, make sure how it behaves if there is a failure to connect on startup (apparently it may take multiple attempts). Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/

On Thu, Aug 11, 2011 at 11:36:51AM -0700, Sharad Mishra wrote:
Hi,
I have a host with 6 VMs set to autostart. When this host reboots, it starts libvirtd, pegasus cimom and libvirt-cim. It also restarts the VMs. Intermittently we noticed a core during start up that points to the last call made by libvirt-cim to "virInitialize". I am thinking that it is a timing issue where virInitialize is called while libvirt is trying to autostart the VMs.
The virInitialize() API calls does very little, it merely sets up a few internal data structures. There is no attempt to connect to libvirtd until you call viConnectOpen, so I can't see how virInitialize would race with libvirtd autostart. To get more information, you really need to capture a stack trace of the crash in GDB (or via Abrt) Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
participants (3)
-
Daniel P. Berrange
-
Daniel Veillard
-
Sharad Mishra