← Back to team overview

gnome-zeitgeist team mailing list archive

[Bug 830634] Re: Crash on startup: TypeError: getattr(): attribute name must be string

 

Okay, I hacked my way into getting a GUI. Here's my hack around line 105
(the place of the original traceback). Replace the line:

                       meth = getattr(self.__iface, method_name)

with this:

                        import dbus.proxies
                        if not isinstance(method_name, dbus.proxies._ProxyMethod):
                            meth = getattr(self.__iface, method_name)
                        else:
                            meth = method_name
                        return meth(*args, **kwargs)

this along with the scary __getattr__ (which is already there but which
I criticized before) will make things work at least enough to make the
GUI appear on Fedora 15.

I'm not proposing this as a real patch, as I have no idea what I'm
doing. I have the feeling that there was a slow accumulation of magic in
this class probably intended to make programming easier, but now pretty
scary to me (and leading to odd bugs like this).

-- 
You received this bug notification because you are a member of GNOME
Zeitgeist Team, which is the registrant for GNOME Activity Journal.
https://bugs.launchpad.net/bugs/830634

Title:
  Crash on startup: TypeError: getattr(): attribute name must be string

Status in GNOME Activity Journal:
  Confirmed
Status in “gnome-activity-journal” package in Fedora:
  Unknown

Bug description:
  The bug was first reported here:

  https://bugzilla.redhat.com/show_bug.cgi?id=725821

  It is still happening with the latest 0.8.0 release of gnome-activity-
  journal as well as a current checkout from bzr. This is with zeitgeist
  0.8.1.

  The full output when attempting to run gnome-activity-journal is:

  Traceback (most recent call last):
    File "/usr/bin/gnome-activity-journal", line 88, in <module>
      from src.external import CLIENT, CLIENT_VERSION
    File "/usr/share/gnome-activity-journal/src/external.py", line 88, in <module>
      CLIENT_VERSION = CLIENT.get_version()
    File "/usr/lib/python2.7/site-packages/zeitgeist/client.py", line 450, in get_version
      return [int(i) for i in self._iface.version()]
    File "/usr/lib/python2.7/site-packages/zeitgeist/client.py", line 207, in version
      self.INTERFACE_NAME, "version")
    File "/usr/lib/python2.7/site-packages/zeitgeist/client.py", line 105, in _disconnection_safe
      meth = getattr(self.__iface, method_name)
  TypeError: getattr(): attribute name must be string

To manage notifications about this bug go to:
https://bugs.launchpad.net/gnome-activity-journal/+bug/830634/+subscriptions


References