Subject: connection: Report error if things fall over during connection bring up From: Cole Robinson crobinso@redhat.com Fri Jul 4 17:37:42 2014 -0400 Date: Fri Jul 4 18:20:54 2014 -0400: Git: e12d7a6a8c21f0d8e0331fa06f53523258bdfaae Index: virt-manager-1.0.1/virtManager/connection.py =================================================================== --- virt-manager-1.0.1.orig/virtManager/connection.py +++ virt-manager-1.0.1/virtManager/connection.py @@ -1101,23 +1101,27 @@ class vmmConnection(vmmGObject): def _open_notify(self): logging.debug("Notifying open result") - self.idle_emit("state-changed") - - if self.state == self.STATE_ACTIVE: - logging.debug("libvirt version=%s", - self._backend.local_libvirt_version()) - logging.debug("daemon version=%s", - self._backend.daemon_version()) - logging.debug("conn version=%s", self._backend.conn_version()) - logging.debug("%s capabilities:\n%s", - self.get_uri(), self.caps.xml) - self._add_conn_events() - self._backend.setKeepAlive(20, 1) - self.schedule_priority_tick(stats_update=True, - pollvm=True, pollnet=True, - pollpool=True, polliface=True, - pollnodedev=True, pollmedia=True, - force=True) + try: + self.idle_emit("state-changed") + if self.state == self.STATE_ACTIVE: + logging.debug("libvirt version=%s", + self._backend.local_libvirt_version()) + logging.debug("daemon version=%s", + self._backend.daemon_version()) + logging.debug("conn version=%s", self._backend.conn_version()) + logging.debug("%s capabilities:\n%s", + self.get_uri(), self.caps.xml) + self._add_conn_events() + self._backend.setKeepAlive(20, 1) + self.schedule_priority_tick(stats_update=True, + pollvm=True, pollnet=True, + pollpool=True, polliface=True, + pollnodedev=True, pollmedia=True, + force=True) + except Exception, e: + self.close() + self.connectError = (str(e), + "".join(traceback.format_exc()), False) if self.state == self.STATE_DISCONNECTED: if self.connectError: