GNOME Bugzilla – Bug 640072
Orca crashes receiving a message from Pidgin
Last modified: 2011-01-21 06:23:07 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):
+ Trace 225609
consume = client(event) or False
script = _scriptManager.getScript(app, e.source)
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...
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!
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!
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.
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.....
This commit fixes the biggest offending traceback: http://git.gnome.org/browse/orca/commit/?id=fc5b9f835da5a5a71fdcfc202532eba1a1146449 Please pull master and re-test.
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.
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!