> -----Original Message----- > From: Cole Robinson [mailto:crobinso@xxxxxxxxxx] > Sent: Tuesday, April 29, 2014 10:52 PM > To: Chen, Hanxiao/陈 晗霄; virt-tools-list@xxxxxxxxxx > Subject: Re: [virt-manager PATCH] create: fix a TypeError issue > when detecting OS info > > On 04/26/2014 02:49 AM, Chen Hanxiao wrote: > > How to reproduce: > > 1) New VM -> Use ISO image > > 2) Choose a WINDOWS IMG > > > > Then debug log shows: > > Traceback (most recent call last): > > File "/home/virt-manager/virtManager/create.py", line 1218, in > change_os_version > > if os_type_model[idx][0] == type_row[0]: > > File "/usr/lib64/python2.7/site-packages/gi/overrides/Gtk.py", line 1064, in > __getitem__ > > return self.model.get_value(self.iter, key) > > TypeError: unknown type (null) > > > > Signed-off-by: Chen Hanxiao <chenhanxiao@xxxxxxxxxxxxxx> > > Hmm, I can't reproduce, but maybe I'm doing something differently. Are you > selecting a windows ISO? > Yes , WinXP ISO, a little old though :) And I did more tests: Other Windows ISO(win98, win2000), we can’t get its OS and version, but no TypeError thrown. Win7 works fine. Fedora 20, RHEL 7, Ubuntu 13 works fine too. > What is the list selection in the UI when this triggers? OS: Windows Version: Unknown > > If this isn't a bug we can fix elsewhere, then we should at least move the > TypeError check to _selected_os_row so other users benefit as well. > > - Cole I did a test with code like: def _selected_os_row(self): - return uiutil.get_list_selection( + row = uiutil.get_list_selection( self.widget("install-os-type"), None) + if row: + try: + row[0] + except TypeError: + return None + return row + else: + return None We still got error message: [Wed, 30 Apr 2014 10:41:37 virt-manager 876] DEBUG (cli:182) Uncaught exception: Traceback (most recent call last): File "/home/virt-manager/virtManager/create.py", line 1225, in change_os_version if os_type_model[idx][0] == type_row[0]: File "/usr/lib64/python2.7/site-packages/gi/overrides/Gtk.py", line 1064, in __getitem__ return self.model.get_value(self.iter, key) TypeError: unknown type (null) Traceback (most recent call last): File "/home/virt-manager/virtManager/create.py", line 1225, in change_os_version if os_type_model[idx][0] == type_row[0]: File "/usr/lib64/python2.7/site-packages/gi/overrides/Gtk.py", line 1064, in __getitem__ return self.model.get_value(self.iter, key) TypeError: unknown type (null) With my patch, it works fine though..... Currently, only change_os_version need check self._selected_os_row()[0]. Thanks, - Chen _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list