Bug 245733 - Dogtail crashes on Fedora 7
Dogtail crashes on Fedora 7
Product: Fedora
Classification: Fedora
Component: Pyrex (Show other bugs)
All Linux
high Severity high
: ---
: ---
Assigned To: Matthew Barnes
Fedora Extras Quality Assurance
: 252042 (view as bug list)
Depends On:
  Show dependency treegraph
Reported: 2007-06-26 07:46 EDT by Alexander Todorov
Modified: 2008-02-13 11:38 EST (History)
3 users (show)

See Also:
Fixed In Version: Pyrex-
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2008-02-13 06:09:56 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
console log showing the crash and versions of some rpm packages (5.03 KB, application/octet-stream)
2007-06-26 07:46 EDT, Alexander Todorov
no flags Details
Nautilus crash (189.45 KB, image/png)
2007-06-27 10:37 EDT, Alexander Todorov
no flags Details
ks.cfg for a customized install where Dogtail breaks (1.04 KB, text/plain)
2007-06-27 11:55 EDT, Alexander Todorov
no flags Details

External Trackers
Tracker ID Priority Status Summary Last Updated
GNOME Bugzilla 440887 None None None Never

  None (edit)
Description Alexander Todorov 2007-06-26 07:46:11 EDT
Description of problem:
When trying to use Dogtail or sniff on Fedora 7 it crashes with error:
TypeError: exceptions must be strings, classes, or instances, not SpiException

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. Install Fedora 7 (xen guest)
2. Log in and upgrade with latest packages.
3. yum install dogtail
4. Enable accessibility
5. Reboot (step #2 requires it)
6. Login and run 'sniff' in terminal (or from dogtail.tree import root in python)
Actual results:
Dogtil crashes.

Expected results:
Dogtail should not crash.

Additional info:
alexx@xen49:~$ sniff
Creating logfile at /tmp/dogtail/logs/sniff_20070626-073608_debug ...
Detecting distribution: Fedora (or derived distribution)
GTK Accessibility Module initialized
Traceback (most recent call last):
  File "/usr/bin/sniff", line 10, in <module>
    from dogtail import tree
  File "/usr/lib/python2.5/site-packages/dogtail/tree.py", line 1254, in <module>
    children = root.children
  File "/usr/lib/python2.5/site-packages/dogtail/tree.py", line 467, in __getattr__
    try: a = self.__accessible.getChildAtIndex (i)
  File "pyspi.pyx", line 497, in atspi.Accessible.getChildAtIndex
  File "pyspi.pyx", line 146, in atspi.exception_handler
TypeError: exceptions must be strings, classes, or instances, not SpiException
Comment 1 Alexander Todorov 2007-06-26 07:46:11 EDT
Created attachment 157884 [details]
console log showing the crash and versions of some rpm packages
Comment 2 Zack Cerza 2007-06-26 14:18:06 EDT
Did you logout after you enabled accessibility?
Comment 3 Alexander Todorov 2007-06-27 04:58:00 EDT
Yes I did. I am able to reproduce the problem every time the system is rebooted.
Comment 4 Alexander Todorov 2007-06-27 09:10:03 EDT
Added reference to GNOME bugzilla.
Comment 5 Alexander Todorov 2007-06-27 10:37:53 EDT
Created attachment 158019 [details]
Nautilus crash

1. Default install on Xen paravirt.
2. boot into new system
3. login and enable accessibility
4. logout and login again
5. yum update; yum install dogtail
6. reboot
7. the nautilus error occured.
8. runnning sniff works now.

Note: failing install was customized to include X and GNOME without
applications, games etc. Maybe something was missing or not correctly
Will try to reproduce.
Comment 6 Alexander Todorov 2007-06-27 11:55:29 EDT
Created attachment 158027 [details]
ks.cfg for a customized install where Dogtail breaks

1. Install Fedora 7 (using university mirror here) and customize packages
2. At the packages screen select ONLY: GNOME, X, Base
3. after install is complete install dogtail (yum output is)
 Package		 Arch	    Version	     Repository        Size 
 dogtail		 noarch     0.6.1-1.fc7      fedora	       171 k
Installing for dependencies:
 pyspi			 x86_64     0.6.1-3.fc7      fedora		99 k
 xorg-x11-server-Xvfb	 x86_64    updates	       1.6 M

Transaction Summary
Install      3 Package(s)	  
Update	     0 Package(s)	  
Remove	     0 Package(s) 

4. enable accessibility
5. reboot
6. run sniff and it breaks.

Install logs are available if needed.
Comment 7 Zack Cerza 2007-07-25 11:59:14 EDT
This looks like a bug in Pyrex. See
Comment 8 Zack Cerza 2007-08-16 11:52:27 EDT
*** Bug 252042 has been marked as a duplicate of this bug. ***
Comment 9 Cole Robinson 2007-08-20 15:58:53 EDT
I grabbed an rpm of the latest pyrex to see if this issue was resolved but
currently pyspi doesn't build against it ( see gnome bugzilla 423110

Also, there is an actual exception being thrown here, it is just not being
raised properly due to the pyrex error. I filed a gnome bz against the actual
problem with some more info and a workaround patch:

Comment 10 Zack Cerza 2007-08-21 13:29:38 EDT
Cole, thanks for looking into this.

GNOME bug 468636 doesn't seem to be the only thing causing this problem; I
applied your patch to pyspi there and I'm still getting:

  TypeError: exceptions must be strings, classes, or instances, not SpiException

So it's not a complete workaround. The right way to do it would include your
patch, but also to fix pyspi so it builds with the latest Pyrex, and get all
that into F7.

Then again, I've been working on a port of dogtail to python-at-spi, which are
the new official bindings in at-spi SVN. I'm unsure so far if it will be done by
F8, though. This will render pyspi obsolete, which is something I've been
wanting to do since the beginning :)
Comment 11 Matthew Barnes 2007-10-02 22:48:13 EDT
(In reply to comment #10)
> TypeError: exceptions must be strings, classes, or instances, not SpiException

Not sure if this helps, but I believe as of Python 2.5 the language requires all
exception objects to be either subclasses of type Exception or strings (which is
Comment 12 Zack Cerza 2007-10-03 11:21:29 EDT
Sorry for not updating this bug sooner. Pyrex in F7 just needs to be updated to
at least It had a bug that caused it to break some exceptions in
python 2.5. Then I can build the pyspi fix against it.
Comment 13 Matthew Barnes 2008-02-12 21:45:27 EST
Fedora 8 has Pyrex  Okay to close this?
Comment 14 Alexander Todorov 2008-02-13 04:33:31 EST
Can't see Pyrex installed on my system but the crash doesn't happen anymore with
the steps in comment #6
Comment 15 Matthew Barnes 2008-02-13 06:09:56 EST
Okay, sounds like this can be closed then.  Feel free to reopen if I'm wrong.
Comment 16 Zack Cerza 2008-02-13 11:38:45 EST
Alexander, Pyrex is only a BuildRequires of pyspi, so you won't have it
installed unless you've been building pyspi.

Note You need to log in before you can comment on or make changes to this bug.