After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 354502 - Dogtail recorder fails (built from CVS head - 20060905)
Dogtail recorder fails (built from CVS head - 20060905)
Status: RESOLVED NOTABUG
Product: dogtail
Classification: Deprecated
Component: Recorder
CVS HEAD
Other Linux
: Normal major
: ---
Assigned To: Dogtail Maintainers
Dogtail Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-09-05 19:21 UTC by Len DiMaggio
Modified: 2006-09-06 01:28 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
The recorded gedit script (1.24 KB, text/plain)
2006-09-05 19:22 UTC, Len DiMaggio
Details

Description Len DiMaggio 2006-09-05 19:21:10 UTC
Dogtail recorder fails (built from CVS head - 20060905)

The error is:


Detecting distribution: Red Hat/Fedora/derived distribution
Warning: AT-SPI's desktop is visible but it has no children. Are you running any AT-SPI-aware applications?
Traceback (most recent call last):
  • File "/usr/bin/dogtail-recorder", line 439 in ?
    class EventRecorder:
  • File "/usr/bin/dogtail-recorder", line 443 in EventRecorder
    modifiers = {
AttributeError: 'module' object has no attribute 'Accessibility_MODIFIER_NUMLOCK'


Before I encountered this problem, I was trying the recorder as built from CVS head on 20060712 and was seeing these errors:

=====================================

When Dogtail built from CVS head on July 12(?) was in use - these errors were seen in trying to playback the gedit script attached to this bugzilla:


Error 1 - missing comma

[ldimaggi@dhcp83-99 Desktop]$ python gedit_script.py
  File "gedit_script.py", line 6
    ldimaggiDhcp8399DesktopWin.child( name="Terminal" roleName=terminal).click()
                                                           ^
SyntaxError: invalid syntax


---------------------------------------

Error 2 - wrong name for terminal window used

gnomeTerminalApp = root.application("gnome-terminal")
ldimaggiDhcp8399DesktopWin = root.application("gnome-terminal").window("ldimaggi@dhcp83-99:~/Desktop")
ldimaggiDhcp8399DesktopWin.child( name="Terminal" roleName=terminal).click()


--------------------------------------

Error 3 - non-ASCII character instead of underscore ("_")

[ldimaggi@dhcp83-99 Desktop]$ python gedit_script.py
sys:1: DeprecationWarning: Non-ASCII character '\xe2' in file gedit_script.py on line 15, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
  File "gedit_script.py", line 15
    saveAs…Dlg = root.application("gedit").dialog("Save As…")
          ^
SyntaxError: invalid syntax

-----------------------

Error 4 - UnicodeDecodeError

UnicodeDecodeError: 'utf8' codec can't decode byte 0xb0 in position 0: unexpected code byte
The following string is invalid and caused the above error: �Nv �;�     �
searching for child of {root}: "gedit" application (attempt 12)
Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/dogtail/i18n.py", line 141, in stringsMatch
    outString = outString.decode('utf-8')
  File "/usr/lib/python2.4/encodings/utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xb0 in position 0: unexpected code byte
The following string is invalid and caused the above error: �Nv �;�     �
searching for child of {root}: "gedit" application (attempt 13)
Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/dogtail/i18n.py", line 141, in stringsMatch
    outString = outString.decode('utf-8')
  File "/usr/lib/python2.4/encodings/utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xb0 in position 0: unexpected code byte
The following string is invalid and caused the above error: �Nv �;�     �
searching for child of {root}: "gedit" application (attempt 14)
Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/dogtail/i18n.py", line 141, in stringsMatch
    outString = outString.decode('utf-8')
  File "/usr/lib/python2.4/encodings/utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xb0 in position 0: unexpected code byte
Comment 1 Len DiMaggio 2006-09-05 19:22:06 UTC
Created attachment 72267 [details]
The recorded gedit script
Comment 2 Zack Cerza 2006-09-05 21:03:29 UTC
First off: that's way too many issues for one report. :)

As for the first error (let's call it 0), check that you have pyspi from CVS HEAD installed. Dogtail HEAD usually requires pyspi HEAD.

Errors 1, 2, and probably 3: The Object-Oriented recorder backend is known to be broken. I probably won't have time to fix it for 0.6, and might have to disable it until it can be fixed.

Error 4: I would need a complete traceback, along with a list of all the currently running applications, to debug this one. I am 99% positive it is the fault of a broken application passing an invalid UTF-8 string where a UTF-8 string is required.

I'm closing this; you can reopen it if error 0 is not fixed by a CVS pyspi. As for the others, we should deal with them separately.
Comment 3 Len DiMaggio 2006-09-06 01:28:05 UTC
Hi Zack - it's really one issue now - the first one. I'll retry with PYSPI from CVS head. 

The other (potential) issues? If they are real with the recorder recording, then I'll log separate bugs for each. Thanks!