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 640072 - Orca crashes receiving a message from Pidgin
Orca crashes receiving a message from Pidgin
Status: RESOLVED FIXED
Product: orca
Classification: Applications
Component: general
2.91.x
Other All
: Normal major
: ---
Assigned To: Joanmarie Diggs (IRC: joanie)
Orca Maintainers
regression, refactor
Depends on:
Blocks:
 
 
Reported: 2011-01-20 15:18 UTC by Javier
Modified: 2011-01-21 06:23 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Javier 2011-01-20 15:18:44 UTC
When Pidgin is running and a message arrives, when Orca is not focusing Pidgin
Orca crashes and give us the following traceback:
Traceback (most recent call last):
  • File "/usr/lib/pymodules/python2.6/pyatspi/registry.py", line 654 in _dispatchEvent
    consume = client(event) or False
  • File "/usr/lib/python2.6/dist-packages/orca/event_manager.py", line 202 in _enqueue
    script = _scriptManager.getScript(app, e.source)
AttributeError: 'NoneType' object has no attribute 'getScript'

Traceback (most recent call last):
  File "/usr/lib/python2.6/dist-packages/orca/generator.py", line 249, in generate
    globalsDict[arg] = self._methodsDict[arg](obj, **args)
  File "/usr/lib/python2.6/dist-packages/orca/braille_generator.py", line 146, in _generateAccelerator
    self._script.utilities.mnemonicShortcutAccelerator(obj)
  File "/usr/lib/python2.6/dist-packages/orca/script_utilities.py", line 2730, in mnemonicShortcutAccelerator
    [mnemonic, fullShortcut, accelerator]
KeyError: 'keyBinding'


Traceback (most recent call last):
  File "/usr/lib/python2.6/dist-packages/orca/event_manager.py", line 236, in _dequeue
    self._processObjectEvent(event)
  File "/usr/lib/python2.6/dist-packages/orca/event_manager.py", line 482, in _processObjectEvent
    script.processObjectEvent(event)
  File "/usr/lib/python2.6/dist-packages/orca/script.py", line 403, in processObjectEvent
    self.listeners[key](event)
  File "/usr/lib/python2.6/dist-packages/orca/scripts/apps/pidgin/script.py", line 185, in onTextInserted
    if self.chat.presentInsertedText(event):
  File "/usr/lib/python2.6/dist-packages/orca/chat.py", line 750, in presentInsertedText
    self.utterMessage(name, message, focused)
  File "/usr/lib/python2.6/dist-packages/orca/chat.py", line 661, in utterMessage
    verbosity = self._script.getSettings().chatMessageVerbosity
  File "/usr/lib/python2.6/dist-packages/orca/script.py", line 337, in getSettings
    name = script_manager.getModuleName(self.app)
AttributeError: 'module' object has no attribute 'getModuleName'

event_manager._dequeue: the event queue is empty!

There are two tracebacks infact, but first I can not reproduce by now...
Comment 1 Joanmarie Diggs (IRC: joanie) 2011-01-20 21:10:47 UTC
Heh. Unlike your previous bug in which you said you thought it was refactor-related and I said it was not, *this* bug does indeed look very refactor related. In particular:

----
    name = script_manager.getModuleName(self.app)
AttributeError: 'module' object has no attribute 'getModuleName'

event_manager._dequeue: the event queue is empty!
----

Therefore, I'm adding both regression and refactor to the whiteboard field.

I shall try to reproduce these issues. Thanks for testing and the report!
Comment 2 Joanmarie Diggs (IRC: joanie) 2011-01-21 02:25:15 UTC
Javier, I have been talking to myself using Pidgin and Orca master on two machines (i.e. talking from one machine to the other). I cannot reproduce this bug. From the tracebacks, I can put in some defensive measures to stop the problems (and thus hopefully the crashes). But first, I would really, really like to know why they are happening. And that means I need more info. Ideally, some definitive steps I can follow to reliably reproduce it. Failing that. A debug.out captured during the crash might help.

On a related note, you stated:

> There are two tracebacks infact, but first I can not reproduce by now...

I see three from your opening report:

1. AttributeError: 'NoneType' object has no attribute 'getScript'
2. KeyError: 'keyBinding'
3. event_manager._dequeue: the event queue is empty!

I'm curious about all of them. But I'd also like to know which one you are no longer able to reproduce.

Thanks for testing!
Comment 3 Joanmarie Diggs (IRC: joanie) 2011-01-21 03:20:59 UTC
The statement that the event queue is empty is something I am also seeing in bug 640132 (which I just filed). In addition, one of the things Javier notes here is that Pidgin is not focused. Something I stated on the Orca-list is that bug 640132 *seems* to only happen if an app is quit and no window is given focus by the window manager. So.... This might actually all be the same bug, which would be super. Then again, it might not. Anyhoo.... People watching this bug should watch the other bug, which is where I shall start.
Comment 4 Joanmarie Diggs (IRC: joanie) 2011-01-21 05:45:02 UTC
Okay, I can reproduce at least some of the tracebacks. Even then, I cannot reproduce the Orca crash. Perhaps I got that as part of 640132.....
Comment 5 Joanmarie Diggs (IRC: joanie) 2011-01-21 05:56:16 UTC
This commit fixes the biggest offending traceback:

http://git.gnome.org/browse/orca/commit/?id=fc5b9f835da5a5a71fdcfc202532eba1a1146449

Please pull master and re-test.
Comment 6 Joanmarie Diggs (IRC: joanie) 2011-01-21 06:09:25 UTC
The KeyError issue, upon closer examination, is one of timing and one we've seen with other aspects of our 'generator cache'. The fix is trivial. It's also unrelated to this bug and the refactor. I've opened bug 640135 for it.
Comment 7 Joanmarie Diggs (IRC: joanie) 2011-01-21 06:23:07 UTC
I have committed the fix for the KeyError issue filed as bug 640135.

As for AttributeError: 'NoneType' object has no attribute 'getScript'. I don't *think* that's actually part of this pidgin issue either. It most certainly is not specific to Pidgin or Orca's chat support. And I'm curious about it. So I've opened bug 640138 for it.

Regarding this bug, I believe it's fixed. If you can still reproduce the originally reported problem (incoming message comes in and Orca crashes) after pulling master, please re-open.

Thanks!