Re: [virt-manager PATCH] create: fix a TypeError issue when detecting OS info

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----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





[Index of Archives]     [Linux Virtualization]     [KVM Development]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux