[Debian-olpc-devel] Bug#511894: python-sugar-toolkit: traceback on accepting invitation

Sascha Silbe sascha-debian-bugs-sugar-1 at silbe.org
Thu Jan 15 13:31:30 UTC 2009


Package: python-sugar-toolkit
Version: 0.82.11-7
Severity: minor


Severity set to minor because there's no apparent effect except for the traceback itself.

Upon accepting an invitation, the following traceback will occur (on the machine accepting the invitation):

Traceback (most recent call last):
  File "/usr/lib/python2.5/site-packages/sugar/graphics/animator.py", line 66, in _next_frame_cb
    animation.do_frame(current_time, self._duration, self._easing)
  File "/usr/lib/python2.5/site-packages/sugar/graphics/animator.py", line 92, in do_frame
    self.next_frame(frame)
  File "/usr/lib/python2.5/site-packages/sugar/graphics/palette.py", line 728, in next_frame
    self._palette._hide()
  File "/usr/lib/python2.5/site-packages/sugar/graphics/palette.py", line 564, in _hide
    self.menu.set_active(False)
AttributeError: 'NoneType' object has no attribute 'set_active'


This seems to be due to calling _hide again after __destroy_cb. Custom debugging output, filtered on the instance the traceback occured on:

__init__: self = <ActivityInvitePalette object at 0x9c296e4 (SugarPalette at 0xa01c2e0)>, self.menu = <_Menu object at 0x9c29acc (SugarPaletteMenu at 0xa027210)>
_hide: self = <ActivityInvitePalette object at 0x9c296e4 (SugarPalette at 0xa01c2e0)>, self.menu = <_Menu object at 0x9c29acc (SugarPaletteMenu at 0xa027210)>
__destroy_cb: self = <ActivityInvitePalette object at 0x9c296e4 (SugarPalette at 0xa01c2e0)>, self.menu = None
_hide: self = <ActivityInvitePalette object at 0x9c296e4 (SugarPalette at 0xa01c2e0)>, self.menu = None


Stack trace from the __destroy_cb call:

  File "/usr/bin/sugar-shell", line 32, in <module>
    main()
  File "/usr/share/sugar/shell/main.py", line 151, in main
    gtk.main()
  File "/usr/share/sugar/shell/view/frame/activitiestray.py", line 364, in __invite_clicked_cb
    self._invites.remove_invite(invite)
  File "/usr/share/sugar/shell/model/Invites.py", line 103, in remove_invite
    self.emit('invite-removed', invite)
  File "/usr/share/sugar/shell/view/frame/activitiestray.py", line 372, in __invite_removed_cb
    self._remove_invite(invite)
  File "/usr/share/sugar/shell/view/frame/activitiestray.py", line 392, in _remove_invite
    self._invite_to_item[invite].destroy()
  File "/usr/lib/python2.5/site-packages/sugar/graphics/toolbutton.py", line 75, in __destroy_cb
    self._palette_invoker.detach()
  File "/usr/lib/python2.5/site-packages/sugar/graphics/palette.py", line 975, in detach
    Invoker.detach(self)
  File "/usr/lib/python2.5/site-packages/sugar/graphics/palette.py", line 772, in detach
    self._palette.destroy()
  File "/usr/lib/python2.5/site-packages/sugar/graphics/palette.py", line 284, in __destroy_cb
    traceback.print_stack()


The self._palette._hide() call belongs to _PopdownAnimation:


class _PopdownAnimation(animator.Animation):
    def __init__(self, palette):
        animator.Animation.__init__(self, 0.0, 1.0)
        self._palette = palette

    def next_frame(self, current):
        if current == 1.0:
            self._palette._hide()


Looks like this animation object should be destroyed as well when removing the invitation.


-- System Information:
Debian Release: 5.0
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable')
Architecture: i386 (i686)

Kernel: Linux 2.6.26-1-686 (SMP w/1 CPU core)
Locale: LANG=en_US, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages python-sugar-toolkit depends on:
ii  libasound2                    1.0.16-2   ALSA library
ii  libatk1.0-0                   1.22.0-1   The ATK accessibility toolkit
ii  libc6                         2.7-18     GNU C Library: Shared libraries
ii  libcairo2                     1.6.4-7    The Cairo 2D vector graphics libra
ii  libglib2.0-0                  2.16.6-1   The GLib library of C routines
ii  libgtk2.0-0                   2.12.11-4  The GTK+ graphical user interface 
ii  libice6                       2:1.0.4-1  X11 Inter-Client Exchange library
ii  libpango1.0-0                 1.20.5-3   Layout and rendering of internatio
ii  libsm6                        2:1.0.3-2  X11 Session Management library
ii  python                        2.5.2-3    An interactive high-level object-o
ii  python-cairo                  1.4.12-1.1 Python bindings for the Cairo vect
ii  python-central                0.6.8      register and build utility for Pyt
ii  python-dbus                   0.82.4-2   simple interprocess messaging syst
ii  python-gnome2-desktop         2.22.0-2   Python bindings for the GNOME desk
ii  python-gobject                2.14.2-1   Python bindings for the GObject li
ii  python-gtk2                   2.12.1-6   Python bindings for the GTK+ widge
ii  python-hippocanvas            0.3.0-1    Python bindings to hippo-canvas
ii  python-json                   3.4-2      a JSON (http://json.org) reader an
ii  python-sugar                  0.82.2-4   Sugar graphical shell - core funct
ii  python-telepathy              0.15.0-1   python language bindings for telep

Versions of packages python-sugar-toolkit recommends:
ii  python-olpc-datastore         0.82.1-2   Sugar graphical shell - datastore
ii  sugar                         0.82.8-3   window manager from the OLPC proje
ii  sugar-journal-activity        99-3       journal activity for the Sugar gra
ii  sugar-presence-service        0.82.2-1   Sugar graphical shell - presence s
ii  ttf-dejavu-core               2.25-3     Vera font family derivate with add
ii  unzip                         5.52-12    De-archiver for .zip files

Versions of packages python-sugar-toolkit suggests:
pn  git-core                    <none>       (no description available)
ii  subversion                  1.5.1dfsg1-2 Advanced version control system
ii  ttf-dejavu-extra            2.25-3       Vera font family derivate with add

-- no debconf information





More information about the Debian-olpc-devel mailing list