d-feet crashed with AttributeError in cursor_changed_handler()

Bug #189543 reported by Murray Cumming
170
This bug affects 19 people
Affects Status Importance Assigned to Milestone
d-feet (Debian)
Fix Released
Unknown
d-feet (Ubuntu)
Fix Released
Low
Robert Ancell

Bug Description

Binary package hint: d-feet

This happened while viewing the PolicyKit D-Bus API in d-feet.

The application did not seem to actually crash. I could continue using it.

ProblemType: Crash
Architecture: i386
Date: Wed Feb 6 12:53:29 2008
DistroRelease: Ubuntu 8.04
ExecutablePath: /usr/bin/d-feet
InterpreterPath: /usr/bin/python2.5
Package: d-feet 0.1.8-1
PackageArchitecture: all
ProcCmdline: /usr/bin/python /usr/bin/d-feet
ProcCwd: /home/murrayc/svn/gnome220/fluendo-remotecontrol/trunk/gnome_lirc_properties
ProcEnviron:
 SHELL=/bin/bash
 PATH=/home/murrayc/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
 LANG=en_US.UTF-8
PythonArgs: ['/usr/bin/d-feet']
SourcePackage: d-feet
Title: d-feet crashed with AttributeError in cursor_changed_handler()
Traceback:
 Traceback (most recent call last):
   File "/var/lib/python-support/python2.5/dfeet/_ui/busnameinfobox.py", line 98, in cursor_changed_handler
     node.on_selected(self.busname)
 AttributeError: 'NoneType' object has no attribute 'on_selected'
Uname: Linux murrayc-desktop 2.6.24-5-generic #1 SMP Thu Jan 24 19:45:21 UTC 2008 i686 GNU/Linux
UserGroups: adm admin audio cdrom dialout dip floppy lpadmin netdev plugdev powerdev sambashare scanner video

Tags: apport-crash

Related branches

Revision history for this message
Murray Cumming (murrayc) wrote :
Revision history for this message
Martin Pitt (pitti) wrote :

Got the same problem repeatedly.

Changed in d-feet:
status: New → Confirmed
Revision history for this message
Antono Vasiljev (antono) wrote :

The same problem while browsing almost any dbus api..

Revision history for this message
Chris Coulson (chrisccoulson) wrote :

I have the same problem too

Revision history for this message
Matteo Settenvini (tchernobog) wrote :

Right clicking a couple of times in a row on a method name should reliably bring up this.

Revision history for this message
Matteo Settenvini (tchernobog) wrote :

Just expanding a couple of items in the right pane brings this up continously.
Can't we have simply a "if node != None:"...

Revision history for this message
Rick McBride (rmcbride) wrote :

same problem with a good portion of the things I expand in the right pane

Revision history for this message
Stuart Langridge (sil) wrote :

The traceback being thrown also confuses apport, which reports that D-Feet has crashed (even though it hasn't).

Revision history for this message
Laurent Bigonville (bigon) wrote :

Could you retry with last version (0.1.10-1)?

Changed in d-feet (Ubuntu):
status: Confirmed → Incomplete
assignee: nobody → Laurent Bigonville (bigon)
status: Incomplete → Confirmed
Changed in d-feet (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Martin Pitt (pitti) wrote :

Yep, still the same crash, reproduces every time.

Changed in d-feet (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Baptiste Mille-Mathias (bmillemathias) wrote :

The problem still exists could it be just apport being too sensitive about python crash?

Changed in d-feet (Ubuntu):
assignee: Laurent Bigonville (bigon) → Baptiste Mille-Mathias (bmillemathias)
Revision history for this message
Robert Ancell (robert-ancell) wrote :

Bug was an incorrect implementation of TreeModelIface (get_iter would never stop returning iterators)

Fix is:
diff --git a/dfeet/introspect_data.py b/dfeet/introspect_data.py
index f68ed19..df5ad85 100644
--- a/dfeet/introspect_data.py
+++ b/dfeet/introspect_data.py
@@ -51,6 +51,8 @@ class Node:
         return self.child_list.index(child)

     def on_get_iter(self, path):
+ if path[0] >= len(self.child_list):
+ return None
         op = self.child_list[path[0]]
         if len(path) == 1:
             return op

Uploaded to Lucid (needs approval to be released)

Changed in d-feet (Ubuntu):
status: Confirmed → Triaged
importance: Undecided → Low
assignee: Baptiste Mille-Mathias (bmillemathias) → Robert Ancell (robert-ancell)
status: Triaged → Fix Committed
Revision history for this message
Robert Ancell (robert-ancell) wrote :

Patch sent to John Palmieri

Revision history for this message
Robert Ancell (robert-ancell) wrote :

(The reason this doesn't crash or actually cause a problem is PyGTK catches exceptions in signal handlers and continues execution. In this case since the function should not return None anyway the behaviour was correct for GTK+).

Revision history for this message
Robert Ancell (robert-ancell) wrote :

should return None anyway

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package d-feet - 0.1.10-2ubuntu1

---------------
d-feet (0.1.10-2ubuntu1) lucid; urgency=low

  * debian/patches/10_tree_model_crash.patch:
    - Fix crash in tree model API usage (LP: #189543)
  * debian/rules:
  * debian/control:
    - Use quilt
 -- Robert Ancell <email address hidden> Mon, 19 Apr 2010 13:59:04 +1000

Changed in d-feet (Ubuntu):
status: Fix Committed → Fix Released
Changed in d-feet (Debian):
status: Unknown → New
Changed in d-feet (Debian):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.