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 668880 - traceback in unity-panel-service
traceback in unity-panel-service
Status: RESOLVED FIXED
Product: orca
Classification: Applications
Component: speech
3.3.x
Other Linux
: Normal normal
: ---
Assigned To: Joanmarie Diggs (IRC: joanie)
Orca Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-01-27 21:32 UTC by Jose Vilmar Estacio de Souza
Modified: 2012-01-27 22:39 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Jose Vilmar Estacio de Souza 2012-01-27 21:32:57 UTC
I am having problems to access the network menu using ubuntu 11.10.
I press the f10 key to access the global menu and then I use left/right arrows to locate the network menu.
After locate the desired menu I press down arrow to navigate in the itens but sometimes orca doesn't read them.
I found the following in the debug file:

vvvvv PROCESS OBJECT EVENT focus: vvvvv
OBJECT EVENT: focus:                                   detail=(0,0,0)
    app.name='unity-panel-service' name='iPhone de José Vilmar Network' role='check menu item' state='enabled focused selectable selected sensitive showing visible' relations=''
Script for event: unity-panel-service (module=orca.scripts.toolkits.GAIL)
mapped unity-panel-service to unity-panel-service
Looking for app-settings.unity-panel-service.py
Could not import app-settings.unity-panel-service.py
ACTIVE SCRIPT: unity-panel-service (module=orca.scripts.toolkits.GAIL) (reason=Event source claimed focus.)
LOCUS OF FOCUS: app='unity-panel-service' name='iPhone de José Vilmar Network' role='check menu item'
                event='focus:'

PREPARATION TIME: 0.0006
generate braille for focused app.name='unity-panel-service' name='iPhone de José Vilmar Network' role='check menu item' state='enabled focused selectable selected sensitive showing visible' relations='' (args={'formatType': 'focused', 'role': <enum ATSPI_ROLE_CHECK_MENU_ITEM of type Role>, 'mode': 'braille', 'recursing': True}) using '(includeContext                           and (ancestors                                + (rowHeader and [Region(" " + asString(rowHeader))])                                + (columnHeader and [Region(" " + asString(columnHeader))])                                + (radioButtonGroup and [Region(" " + asString(radioButtonGroup))])                                + [Region(" ")])                           or []) + [Component(obj,                                     asString(label + displayedText + roleName + availability) + asString(accelerator),                                     indicator=asString(checkedState))] + (nodeLevel and [Region(" " + asString(nodeLevel))])'
GENERATION  TIME: 0.0003  ---->  includeContext=True

PREPARATION TIME: 0.0008
generate braille for focused app.name='unity-panel-service' name='None' role='image' state='active enabled focusable focused horizontal sensitive showing visible' relations='' (args={'formatType': 'focused', 'role': <enum ATSPI_ROLE_IMAGE of type Role>, 'mode': 'braille', 'includeContext': False, 'recursing': True}) using '[Component(obj,                                     asString(label + displayedText + value + roleName + required))]'
GENERATION  TIME: 0.0007  ---->  label=[]
GENERATION  TIME: 0.0002  ---->  displayedText=[]
GENERATION  TIME: 0.0005  ---->  value=['']
GENERATION  TIME: 0.0002  ---->  roleName=['Image']
GENERATION  TIME: 0.0002  ---->  required=[]
COMPLETION  TIME: 0.0031
generate braille results:
  Component: 'Image', 0
Object deemed to be for layout purposes only: [panel | ]

PREPARATION TIME: 0.0007
generate braille for focused app.name='unity-panel-service' name='unity-panel-service' role='application' state='' relations='' (args={'formatType': 'focused', 'role': <enum ATSPI_ROLE_APPLICATION of type Role>, 'mode': 'braille', 'includeContext': False, 'recursing': True}) using '[Component(obj,                                     asString(label + displayedText + value + roleName + required))]'
GENERATION  TIME: 0.0006  ---->  label=[]
GENERATION  TIME: 0.0002  ---->  displayedText=[u'unity-panel-service']
GENERATION  TIME: 0.0005  ---->  value=['']
GENERATION  TIME: 0.0002  ---->  roleName=['Application']
GENERATION  TIME: 0.0002  ---->  required=[]
COMPLETION  TIME: 0.0028
generate braille results:
  Component: 'unity-panel-service Application', 0
GENERATION  TIME: 0.0080  ---->  ancestors=[<orca.braille.Component instance at 0x2ab39e0>, <orca.braille.Region instance at 0x2999a28>, <orca.braille.Component instance at 0x278b878>]
GENERATION  TIME: 0.0004  ---->  rowHeader=[]
GENERATION  TIME: 0.0004  ---->  columnHeader=[]
GENERATION  TIME: 0.0003  ---->  radioButtonGroup=[]
GENERATION  TIME: 0.0007  ---->  label=[]
GENERATION  TIME: 0.0004  ---->  displayedText=[u'iPhone de Jos\xe9 Vilmar Network']
GENERATION  TIME: 0.0004  ---->  roleName=['CheckItem']
GENERATION  TIME: 0.0004  ---->  availability=[]
script_utilities.getKeyBinding: ['', u'', '']
GENERATION  TIME: 0.0007  ---->  accelerator=[]
GENERATION  TIME: 0.0003  ---->  checkedState=['< >']
GENERATION  TIME: 0.0004  ---->  nodeLevel=[]
COMPLETION  TIME: 0.0141
generate braille results:
  Component: 'unity-panel-service Application', 0
  Region: ' ', 0
  Component: 'Image', 0
  Region: ' ', 0
TypeError when trying to write text
BRAILLE LINE:  'unity-panel-service Application Image < > iPhone de José Vilmar Network CheckItem'
     VISIBLE:  '< > iPhone de José Vilmar Networ', cursor=1

PREPARATION TIME: 0.0005
generate speech for unfocused app.name='unity-panel-service' name='iPhone de José Vilmar Network' role='check menu item' state='enabled focused selectable selected sensitive showing visible' relations='' (args={'recursing': True, 'priorObj': <Accessible object at 0x2ad4b90 (AtspiAccessible at 0x2bba950)>, 'role': <enum ATSPI_ROLE_CHECK_MENU_ITEM of type Role>, 'mode': 'speech', 'formatType': 'unfocused'}) using 'newAncestors + newRowHeader + newColumnHeader + newRadioButtonGroup + labelAndName + roleName + checkedState + required + availability + (mnemonic and (pause + mnemonic + lineBreak) or []) + accelerator + pause + positionInList + newNodeLevel + unselectedCell + (tutorial and (pause + tutorial) or [])'
script_utilities.commonAncestor...
...script_utilities.commonAncestor
Object deemed to be for layout purposes only: [panel | ]
GENERATION  TIME: 0.0020  ---->  newAncestors=[]
GENERATION  TIME: 0.0002  ---->  newRowHeader=[]
GENERATION  TIME: 0.0002  ---->  newColumnHeader=[]
GENERATION  TIME: 0.0002  ---->  newRadioButtonGroup=[]
GENERATION  TIME: 0.0002  ---->  labelAndName=['iPhone de Jos\xc3\xa9 Vilmar Network', {u'average-pitch': 4.5, u'rate': 75.0}]
GENERATION  TIME: 0.0002  ---->  roleName=['check item', {}]
GENERATION  TIME: 0.0002  ---->  checkedState=['not checked', {}]
GENERATION  TIME: 0.0002  ---->  required=[]
GENERATION  TIME: 0.0002  ---->  availability=[]
GENERATION  TIME: 0.0001  ---->  mnemonic=[]
GENERATION  TIME: 0.0001  ---->  accelerator=[]
GENERATION  TIME: 0.0001  ---->  pause=[<orca.speech_generator.Pause instance at 0x24605f0>]

Traceback (most recent call last):
  • File "/usr/local/lib/python2.7/dist-packages/orca/generator.py", line 254 in generate
    globalsDict[arg] = self._methodsDict[arg](obj, **args)
  • File "/usr/local/lib/python2.7/dist-packages/orca/speech_generator.py", line 1710 in _generatePositionInList
    nextName = self._generateName(child)
  • File "/usr/local/lib/python2.7/dist-packages/orca/speech_generator.py", line 151 in _generateName
    result = generator.Generator._generateName(self, obj, **args)
  • File "/usr/local/lib/python2.7/dist-packages/orca/generator.py", line 301 in _generateName
    name = self._script.utilities.displayedText(obj)
  • File "/usr/local/lib/python2.7/dist-packages/orca/script_utilities.py", line 596 in displayedText
    displayedText = obj.name
  • File "/usr/lib/python2.7/dist-packages/pyatspi/Accessibility.py", line 177 in <lambda>
    Atspi.Accessible.name = property(fget=lambda x: exwrap(Atspi.Accessible.get_name, x))
  • File "/usr/lib/python2.7/dist-packages/pyatspi/Accessibility.py", line 154 in exwrap
    raise LookupError LookupError

COMPLETION  TIME: 0.0078
generate speech results:
TOTAL PROCESSING TIME: 0.0300
^^^^^ PROCESS OBJECT EVENT focus: ^^^^^


I received the following feedback from the ubuntu accessibility list:

From: Paul Hunt <paul-leics@virginmedia.com>
To: ubuntu-accessibility@lists.ubuntu.com

Hi,

Strangely, the items in the network menu in Unity-2D are brailled but 
not spoken.

They are spoken if Unity-3D is being used.
Comment 1 Joanmarie Diggs (IRC: joanie) 2012-01-27 21:46:18 UTC
Added a sanity check to Orca for the LookupError. Please pull master and try again. Thanks!
Comment 2 Paul Hunt 2012-01-27 22:00:26 UTC
The items in the network menu are still not being spoken, only brailled.
Comment 3 Jose Vilmar Estacio de Souza 2012-01-27 22:07:15 UTC
(In reply to comment #1)
> Added a sanity check to Orca for the LookupError. Please pull master and try
> again. Thanks!

After pull master I receive the following trace:

Traceback (most recent call last):
  • File "/usr/local/lib/python2.7/dist-packages/orca/generator.py", line 254 in generate
    globalsDict[arg] = self._methodsDict[arg](obj, **args)
  • File "/usr/local/lib/python2.7/dist-packages/orca/speech_generator.py", line 1710 in _generatePositionInList
    nextName = self._generateName(child)
  • File "/usr/local/lib/python2.7/dist-packages/orca/speech_generator.py", line 151 in _generateName
    result = generator.Generator._generateName(self, obj, **args)
  • File "/usr/local/lib/python2.7/dist-packages/orca/generator.py", line 304 in _generateName
    elif obj.description:
  • File "/usr/lib/python2.7/dist-packages/pyatspi/Accessibility.py", line 176 in <lambda>
    Atspi.Accessible.description = property(fget=lambda x: exwrap(Atspi.Accessible.get_description, x))
  • File "/usr/lib/python2.7/dist-packages/pyatspi/Accessibility.py", line 154 in exwrap
    raise LookupError LookupError

Comment 4 Jose Vilmar Estacio de Souza 2012-01-27 22:10:33 UTC
In the debug file I found the following text:
TypeError when trying to write text

What does it means?
Is this information useful?
Thanks.
Comment 5 Joanmarie Diggs (IRC: joanie) 2012-01-27 22:15:18 UTC
Please pull master and try again.
Comment 6 Joanmarie Diggs (IRC: joanie) 2012-01-27 22:17:18 UTC
(In reply to comment #4)
> In the debug file I found the following text:
> TypeError when trying to write text
> 
> What does it means?
> Is this information useful?
> Thanks.

It means we have a dead or bogus Accessible on our hands. /me sighs

Just before I left for Spain, I was working on moving all of the bogus/dead object handling to a centralized location within Orca to stop this sort of thing from happening. I hope to resume that work soon.
Comment 7 Paul Hunt 2012-01-27 22:20:12 UTC
network menu items now being spoken and brailled :-)
Comment 8 Joanmarie Diggs (IRC: joanie) 2012-01-27 22:28:42 UTC
(In reply to comment #7)
> network menu items now being spoken and brailled :-)

And there was much rejoicing. Yay! :)

Thanks for testing!
Comment 9 Jose Vilmar Estacio de Souza 2012-01-27 22:39:49 UTC
(In reply to comment #5)
> Please pull master and try again.

Works like a charm!
Thanks