Bug 1024569
| Summary: | virt-manager fails to start on rawhide (pygobject3 regression) | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Dave Allan <redhat> | ||||
| Component: | virt-manager | Assignee: | Giuseppe Scrivano <gscrivan> | ||||
| Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
| Severity: | urgent | Docs Contact: | |||||
| Priority: | urgent | ||||||
| Version: | rawhide | CC: | berrange, crobinso, dallan, kalevlember, kevin, PTrenholme, s.feltman, virt-maint, zkabelac | ||||
| Target Milestone: | --- | Keywords: | Reopened | ||||
| Target Release: | --- | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2013-12-02 19:36:53 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Attachments: |
|
||||||
Aargh, it seems like this isn't limited to root; hopefully this is PBKAC, but virt-manager is non-functional on my rawhide system. I can provide access to the VM. The exception is raised by gtk.TreeViewColumn.set_cell_data_func when the callback function is set to NULL, though I am not sure if it is an error there since userdata is also NULL so the error doesn't make sense. On the other hand, if I understand correctly the code, setting the callback to NULL is a NOP so we can just avoid this in virt-manager by skipping the call to set_cell_data_func when the callback function is NULL. Patch proposed upstream: https://www.redhat.com/archives/virt-tools-list/2013-October/msg00166.html fixed in pygobject upstream: https://bugzilla.gnome.org/show_bug.cgi?id=711173 Here's the commit:
commit 79aea2655db11bc9d2c0ad75c87862b2b66da594
Author: Simon Feltman <sfeltman.org>
Date: Mon Nov 4 03:29:57 2013 -0800
Remove overzealous argument checking for callback userdata
It just missed pygobject 3.11.1
I think this is the same error, but this extract from the log file might be useful:
[Sat, 09 Nov 2013 17:01:32 virt-manager 30088] DEBUG (cli:217) Launched with command line: /usr/share/virt-manager/virt-manager
[Sat, 09 Nov 2013 17:01:32 virt-manager 30088] DEBUG (virt-manager:180) virt-manager version: 0.10.0
[Sat, 09 Nov 2013 17:01:32 virt-manager 30088] DEBUG (virt-manager:181) virtManager import: <module 'virtManager' from '/usr/share/virt-manager/virtManager/__init__.pyc'>
[Sat, 09 Nov 2013 17:01:32 virt-manager 30089] DEBUG (virt-manager:226) GTK version: 3.11.0
[Sat, 09 Nov 2013 17:01:32 virt-manager 30089] ERROR (importer:51) Could not find any typelib for AppIndicator3
[Sat, 09 Nov 2013 17:01:32 virt-manager 30089] DEBUG (engine:439) libguestfs inspection support: True
[Sat, 09 Nov 2013 17:01:32 virt-manager 30089] DEBUG (inspection:82) waiting
[Sat, 09 Nov 2013 17:01:32 virt-manager 30089] DEBUG (systray:163) Showing systray: False
[Sat, 09 Nov 2013 17:01:32 virt-manager 30089] DEBUG (engine:231) About to connect to uris ['qemu:///system']
[Sat, 09 Nov 2013 17:01:32 virt-manager 30089] DEBUG (cli:212) Uncaught exception:
Traceback (most recent call last):
File "/usr/share/virt-manager/virtManager/engine.py", line 133, in _activate
self.show_manager()
File "/usr/share/virt-manager/virtManager/engine.py", line 862, in show_manager
self._do_show_manager(None)
File "/usr/share/virt-manager/virtManager/engine.py", line 806, in _do_show_manager
manager = self.get_manager()
File "/usr/share/virt-manager/virtManager/engine.py", line 767, in get_manager
obj = vmmManager()
File "/usr/share/virt-manager/virtManager/manager.py", line 173, in __init__
self.init_stats()
File "/usr/share/virt-manager/virtManager/manager.py", line 276, in init_stats
self.toggle_host_cpu_usage_visible_widget()
File "/usr/share/virt-manager/virtManager/manager.py", line 1026, in toggle_host_cpu_usage_visible_widget
self.host_cpu_usage_img, "menu_view_stats_host_cpu")
File "/usr/share/virt-manager/virtManager/manager.py", line 1003, in _toggle_graph_helper
col.set_cell_data_func(img, datafunc, None)
File "/usr/lib64/python2.7/site-packages/gi/overrides/Gtk.py", line 1320, in set_cell_data_func
super(TreeViewColumn, self).set_cell_data_func(cell_renderer, func, func_data)
TypeError: When passing None for a callback userdata must also be None
Fixed in virt-manager-0.10.0-5.git1ffcc0cc.fc21 This does indeed fix that traceback, unfortunately I get another one now:
[Sun, 10 Nov 2013 10:37:51 virt-manager 1365] DEBUG (cli:212) Uncaught exception:
Traceback (most recent call last):
File "/usr/share/virt-manager/virtManager/manager.py", line 710, in add_conn
row = self._append_conn(vmlist.get_model(), conn)
File "/usr/share/virt-manager/virtManager/manager.py", line 691, in _append_conn
_iter = model.append(None, row)
File "/usr/lib64/python2.7/site-packages/gi/overrides/Gtk.py", line 1194, in append
return self._do_insert(parent, -1, row)
File "/usr/lib64/python2.7/site-packages/gi/overrides/Gtk.py", line 1187, in _do_insert
treeiter = self.insert_with_values(parent, position, columns, row)
AttributeError: 'TreeStore' object has no attribute 'insert_with_values'
(for each connection I have defined)
and it starts, but I can't connect to anything, and the window is blank.
Shall I open a new bug on that?
Thanks for checking Kevin, we can just reuse this report. There doesn't seem to be any simple workaround here. I've filed an upstream gnome report: https://bugzilla.gnome.org/show_bug.cgi?id=711797 For me - I'd to downgrade gtk3 As for my today's rawhide virt-manager works with: gtk3-devel-3.10.3-1.fc20.x86_64 gtk3-3.10.3-1.fc20.i686 gtk3-debuginfo-3.11.0-1.fc21.x86_64 gtk3-3.10.3-1.fc20.x86_64 virt-manager-0.10.0-5.git1ffcc0cc.fc21.noarch virt-manager-common-0.10.0-5.git1ffcc0cc.fc21.noarch pygobject3-base-3.11.1-1.fc21.x86_64 pygobject3-3.11.1-1.fc21.x86_64 Any news here? Having virt-manager broken for almost a month is pretty sad. ;( Kevin, on my rawhide system virt-manager was fixed on 2013-11-10 when Cole originally closed this BZ and has been working fine afaik ever since. I just updated rawhide and confirmed that virt-manager starts ok. Cole, are you able to reproduce what Kevin is seeing? To be clear, it starts fine, I just can't see/use any of my connections...
It gives:
Traceback (most recent call last):
File "/usr/share/virt-manager/virtManager/manager.py", line 710, in add_conn
row = self._append_conn(vmlist.get_model(), conn)
File "/usr/share/virt-manager/virtManager/manager.py", line 691, in _append_conn
_iter = model.append(None, row)
File "/usr/lib64/python2.7/site-packages/gi/overrides/Gtk.py", line 1194, in append
return self._do_insert(parent, -1, row)
File "/usr/lib64/python2.7/site-packages/gi/overrides/Gtk.py", line 1187, in _do_insert
treeiter = self.insert_with_values(parent, position, columns, row)
AttributeError: 'TreeStore' object has no attribute 'insert_with_values'
for every connection it should be showing.
(In reply to Kevin Fenzi from comment #12) > To be clear, it starts fine, I just can't see/use any of my connections... > > It gives: > > Traceback (most recent call last): > File "/usr/share/virt-manager/virtManager/manager.py", line 710, in > add_conn > row = self._append_conn(vmlist.get_model(), conn) > File "/usr/share/virt-manager/virtManager/manager.py", line 691, in > _append_conn > _iter = model.append(None, row) > File "/usr/lib64/python2.7/site-packages/gi/overrides/Gtk.py", line 1194, > in append > return self._do_insert(parent, -1, row) > File "/usr/lib64/python2.7/site-packages/gi/overrides/Gtk.py", line 1187, > in _do_insert > treeiter = self.insert_with_values(parent, position, columns, row) > AttributeError: 'TreeStore' object has no attribute 'insert_with_values' > > for every connection it should be showing. That's why I'm keeping downgraded my gtk3 libs... (In reply to Kevin Fenzi from comment #12) > To be clear, it starts fine, I just can't see/use any of my connections... My bad, sorry; I'm seeing that as well. Sorry, I saw that the first bug was resolved and mistakenly assumed everything was working. Giuseppe is going to follow up with the gtk folks. I've filed a pygobject bug: https://bugzilla.gnome.org/show_bug.cgi?id=719488 The error seems to be in the Python GTK+ bindings. Even the example fails with the same error: https://developer.gnome.org/gnome-devel-demos/3.5/treeview_treestore.py.html.en As noted in: https://bugzilla.gnome.org/show_bug.cgi?id=719488 This is caused by an out of date GObject-Introspection not picking up the new syntax for "rename-to" used in GTK+. Updating GI should fix the problem. See also: https://bugzilla.gnome.org/show_bug.cgi?id=711341 https://bugzilla.gnome.org/show_bug.cgi?id=711797 https://bugzilla.gnome.org/show_bug.cgi?id=713044 Thanks for clarifying Simon. gobject-introspection 1.39 is in rawhide now, but the latest gtk3 build failed so things are still busted AFAICT: http://koji.fedoraproject.org/koji/taskinfo?taskID=6239961 I'll follow up tomorrow with the desktop guys to try and get things fixed. I just rebuilt pygobject3, so with that and latest gtk3 things should be working. I'm still hitting some weirdness but it might be ssh -X related so I'm doing some more testing. I can confirm it works here with the latest pygobject3 and gtk3 from koji. ;) Thanks Kevin, closing then. I had to use koji latest-build and koji download-build to get latest bits, so for others listening in a simple 'yum update' probably won't fix things yet. Wait a day or so |
Created attachment 817212 [details] python traceback Description of problem: Starting virt-manager as root silently fails. Using --no-fork shows the attached traceback. Version-Release number of selected component (if applicable): virt-manager-0.10.0-4.git79196cdf.fc21.noarch How reproducible: 100% Steps to Reproduce: 1. become root 2. execute virt-manager Actual results: silent failure (or traceback if --no-fork is specified_ Additional info: See attachment for traceback