OK, that is the problem. in src/util/cgmanager.c, we are calling cgm_dbus_connect() from multiple threads. it in turn assigns 'cgroup_manager'. but this is a global (static) var. So the threads fight over it, and corrupt.
static NihDBusProxy *cgroup_manager = NULL; bool cgm_running = false; VIR_LOG_INIT("util.cgmanager"); #define CGMANAGER_DBUS_SOCK "unix:path=/sys/fs/cgroup/cgmanager/sock" bool cgm_dbus_connect(void) { DBusError dbus_error; DBusConnection *connection; dbus_error_init(&dbus_error); connection = dbus_connection_open_private(CGMANAGER_DBUS_SOCK, &dbus_error); if (!connection) { dbus_error_free(&dbus_error); return false; } dbus_connection_set_exit_on_disconnect(connection, FALSE); dbus_error_free(&dbus_error); cgroup_manager = nih_dbus_proxy_new(NULL, connection, NULL /* p2p */, "/org/linuxcontainers/cgmanager", NULL, NULL); dbus_connection_unref(connection); if (!cgroup_manager) { NihError *nerr; nerr = nih_error_get(); VIR_ERROR("cgmanager: Error opening proxy: %s", nerr->message); nih_free(nerr); return false; } -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1367702 Title: libvirt-bin terminated unexpectedly To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1367702/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs