intel / dleyna-control

dLeyna-control is a Digital Media Player written in python to demonstrate how to use the dleyna DMS APIs. It detects Digital Media Servers on the local area network and allows users to browse, search and play their contents.
https://01.org/dleyna/
GNU Lesser General Public License v2.1
8 stars 12 forks source link

dleyna-control very broken on python-gi 3.8.1 #36

Closed jku closed 11 years ago

jku commented 11 years ago

TreeIter userdata handling has been changed in ways that completely break our TreeModel in python-gi 3.8: when value 0 is inserted into TreeIter.user_data it becomes None. I consider this a bug and maintainer seemed to agree and was willing to back that out.

Depending on distro uptake and speed of updates we may have to add a workaround to GenericModel that avoids value 0.

markdryan commented 11 years ago

Hi jku,

I just tried dleyna-control on Ubuntu 13.04 and it crashes on startup. This is what I get

50 rows fetched (50/54 rows cached)
/usr/lib/python2.7/dist-packages/gi/types.py:113: Warning: g_object_set_property: assertion `G_IS_VALUE (value)' failed
  return info.invoke(*args, **kwargs)
/usr/lib/python2.7/dist-packages/gi/types.py:113: Warning: g_value_unset: assertion `G_IS_VALUE (value)' failed
  return info.invoke(*args, **kwargs)

(dleyna-control.py:14134): Gtk-WARNING **: /build/buildd/gtk+3.0-3.6.4/./gtk/gtktreemodel.c:639: Invalid path None passed to gtk_tree_path_new_from_string
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/msd/msd_generic_model.py", line 286, in do_get_path
    return Gtk.TreePath((None,))
  File "/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py", line 1121, in __new__
    raise TypeError("could not parse subscript '%s' as a tree path" % path)
TypeError: could not parse subscript 'None' as a tree path
Segmentation fault

Is this the problem you are referring to here?

jku commented 11 years ago

They are on 3.8 already? Damn, I was hoping we could wait for the bug fix releases since not too many distros were using 3.8... But it seems I was wrong about Ubuntu.

In any case: Yes, that is the bug I'm refering to. It has been fixed (https://bugzilla.gnome.org/show_bug.cgi?id=698366) and backported to 3.8. The fix has not been released though and there's no telling when Ubuntu will update anyway. So I guess we need to do the workaround.

lferrandis commented 11 years ago

Ubuntu 13.04 is officially on Gnome 3.6 Gnome provide a ppa to upgrade to 3.8

I think the problem is more when the maintainers of this ppa will include the patch.

On 03/05/2013 09:49, Jussi Kukkonen wrote:

They are on 3.8 already? Damn, I was hoping we could wait for the bug fix releases since not too many distros were using 3.8... But it seems I was wrong about Ubuntu.

In any case: Yes, that is the bug I'm refering to. It has been fixed (https://bugzilla.gnome.org/show_bug.cgi?id=698366) and backported to 3.8. The fix has not been released though and there's no telling when Ubuntu will update anyway. So I guess we need to do the workaround.

— Reply to this email directly or view it on GitHub https://github.com/01org/dleyna-control/issues/36#issuecomment-17382260.

Ludovic Ferrandis Open Source Technology Center Intel Corporation

jku commented 11 years ago

@lferrandis that's what I was counting on as well, but http://packages.ubuntu.com/raring/python-gi tells me python-gi is 3.8 so apparently it does not follow the normal GNOME versioning, at least not in ubuntu.

For additional information: the fix will be in the 3.8.2 release (and is in 3.9.1 already).

markdryan commented 11 years ago

Yep it looks like Ubuntu 13.04 is uses python-gi 3.8

dpkg -l | grep python-gi
ii  python-gi                                 3.8.0-2                                    amd64        Python 2.x bindings for gobject-introspection libraries
ii  python-gi-cairo                           3.8.0-2                                    amd64        Python Cairo bindings for the GObject library

Since dleyna-control is complete broken on Ubuntu 13.04 I'll test and apply this patch today, unless any one has any objections.

markdryan commented 11 years ago

jku, I can confirm that your patch fixes the problem on Ubuntu 13.04. Could you send a PR?

markdryan commented 11 years ago

Fixed by PR #37