[virt-tools-list] [PATCH 3/3] Fix a segfault when the connection is dropped
Cole Robinson
crobinso at redhat.com
Wed Mar 13 13:12:03 UTC 2013
On 03/11/2013 04:21 AM, Giuseppe Scrivano wrote:
> The error dialog window was created on the "tick" thread, causing a
> crash in GTK. Fix it by moving its invocation to the main thread.
> ---
> src/virtManager/engine.py | 6 ++++--
> todo.txt | 1 -
> 2 files changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/src/virtManager/engine.py b/src/virtManager/engine.py
> index cbed3dd..70912bd 100644
> --- a/src/virtManager/engine.py
> +++ b/src/virtManager/engine.py
> @@ -255,6 +255,7 @@ class vmmEngine(vmmGObject):
>
> def tick(self):
> if not self.config.support_threading:
> +
> return self._tick()
>
> if self._tick_thread and self._tick_thread.isAlive():
I dropped this bit.
> @@ -290,8 +291,9 @@ class vmmEngine(vmmGObject):
> logging.debug("Closing connection since libvirtd "
> "appears to have stopped")
> else:
> - self.err.show_err(_("Error polling connection '%s': %s") %
> - (conn.get_uri(), e))
> + error_msg = _("Error polling connection '%s': %s") \
> + % (conn.get_uri(), e)
> + self.idle_add(lambda: self.err.show_err(error_msg))
>
> self.idle_add(conn.close)
>
> diff --git a/todo.txt b/todo.txt
> index 9f0e37d..e377bc9 100644
> --- a/todo.txt
> +++ b/todo.txt
> @@ -26,7 +26,6 @@ website: wiki-ify the whole thing, drop static content, move site styling into v
> Misc issues
> ===========
>
> -If libvirt connection is dropped, app segfaults
> segfault if open test:///default, then try and open testdriver that libvirt can't parse XML
>
>
>
Good catch! That also fixed the test:///default segfault mentioned above as
well. Pushed to gtk3 branch now.
Thanks,
Cole
More information about the virt-tools-list
mailing list