GNOME Bugzilla – Bug 442069
Unneeded gnome-speech drivers not stopped when GUI setup window is dismissed
Last modified: 2008-07-22 19:28:02 UTC
As described by Halim on the orca users list, the gnome-speech drivers do not unload when the GUI setup window is dismissed: http://mail.gnome.org/archives/orca-list/2007-May/msg00398.html.
Created attachment 90764 [details] [review] Patch to hopefully fix the problem. Patch attached that I believe should fix the problem. Unfortunately I don't have multiple speech factories installed on my machine(s). Could somebody who does, please give this a shot. Note that I've left a bit of extra debug in there for now to hopefully show what's going on if I've made a booboo.
Hey Rich. At the risk of sounding dumb, I'm not sure how I could verify that it fixes the problem as I'm not sure I'm seeing the problem Halim reported. That said, I do have gnome-speech and emacspeak installed. :-) Here's the debug output that resulted from switching from the former to the latter: _cleanupSpeechServers called. len(self.workingFactories): 2 self.workingFactories: [<module 'orca.espeechfactory' from '/usr/lib/python2.5/site-packages/orca/espeechfactory.pyc'>, <module 'orca.gnomespeechfactory' from '/usr/lib/python2.5/site-packages/orca/gnomespeechfactory.pyc'>] workingFactory: <module 'orca.espeechfactory' from '/usr/lib/python2.5/site-packages/orca/espeechfactory.pyc'> self.speechSystemsChoice: <module 'orca.espeechfactory' from '/usr/lib/python2.5/site-packages/orca/espeechfactory.pyc'> servers: [<orca.espeechfactory.SpeechServer instance at 0x8ad7d8c>, <orca.espeechfactory.SpeechServer instance at 0x8ad34ec>] server: <orca.espeechfactory.SpeechServer instance at 0x8ad7d8c> self.speechServersChoice: <orca.espeechfactory.SpeechServer instance at 0x8ad7d8c> server: <orca.espeechfactory.SpeechServer instance at 0x8ad34ec> self.speechServersChoice: <orca.espeechfactory.SpeechServer instance at 0x8ad7d8c> SHUTTING down server. workingFactory: <module 'orca.gnomespeechfactory' from '/usr/lib/python2.5/site-packages/orca/gnomespeechfactory.pyc'> self.speechSystemsChoice: <module 'orca.espeechfactory' from '/usr/lib/python2.5/site-packages/orca/espeechfactory.pyc'> SHUTTING down all active servers for this factory. If there's something specific you'd like me to do/try, please let me know!
That debug looks good. Could you try the following please? 1/ Start Orca. 2/ Bring up the Preferences dialog. 3/ Go to the Speech pane, change your speech system and/or speech server and/or voice. 3/ Click on the Cancel (or Apply) button. You should see a load more debug messages appear in the terminal window. If you've still got the correct speech voice chatting away after the Preferences dialog has disappeared, and there are no tracebacks in the terminal window, we've probably got a good patch. Thanks.
> If you've still got the correct speech voice chatting away after the > Preferences dialog has disappeared, and there are no tracebacks in > the terminal window, we've probably got a good patch. The following command should also show only the gnome-speech drivers in use: ps -elf | grep synthesis-driver
Thanks for reminding me of that. Here's what I get. First ps whilst the Orca Preferences dialog is running. Second ps after I've Cancel'ed it: richb@richb-laptop:~/DVD/NOTES$ ps -ef | fgrep synthe richb 23698 1 1 12:59 ? 00:00:00 /usr/bin/swift-synthesis-driver --oaf-activate-iid=OAFIID:GNOME_Speech_SynthesisDriver_Swift:proto0.3 --oaf-ior-fd=34 richb 23728 1 0 12:59 ? 00:00:00 /usr/bin/espeak-synthesis-driver --oaf-activate-iid=OAFIID:GNOME_Speech_SynthesisDriver_Espeak:proto0.3 --oaf-ior-fd=35 richb 23736 1 28 12:59 ? 00:00:01 /usr/bin/festival-synthesis-driver --oaf-activate-iid=OAFIID:GNOME_Speech_SynthesisDriver_Festival:proto0.3 --oaf-ior-fd=43 richb 23772 5126 0 12:59 pts/1 00:00:00 grep -F synthe richb@richb-laptop:~/DVD/NOTES$ ps -ef | fgrep synthe richb 23698 1 1 12:59 ? 00:00:00 /usr/bin/swift-synthesis-driver --oaf-activate-iid=OAFIID:GNOME_Speech_SynthesisDriver_Swift:proto0.3 --oaf-ior-fd=34 richb 23823 5126 0 12:59 pts/1 00:00:00 grep -F synthe richb@richb-laptop:~/DVD/NOTES$
Cool! Looks like you're getting rid of the right ones and keeping the right one around.
(In reply to comment #3) > the terminal window, we've probably got a good patch. Then we've probably got a good patch. :-) (In reply to comment #4) > The following command should also show only the gnome-speech drivers in use: > > ps -elf | grep synthesis-driver Aha. :-) For the most part this is true. Without the patch I see that the drivers for the software DECTalk, Swift, and eSpeak are all loaded. With the patch, this is no longer the case -- as long as I'm using gnome-speech. However, if emacspeak is being used, I see the software DECTalk drivers loaded as well. But I think that's related to bug 403760 because when this occurs, I can no longer choose emacspeak in the Orca Preferences dialog.
Thanks Joanie. I've committed the patch (without the debug messages). Bug is now in "[pending]" state.
Changing target to 2.19.5 as I think this one should go in our next release.
(In reply to comment #9) > Changing target to 2.19.5 as I think this one should go in our next release. Looks good to me. Please feel free to close as FIXED. Thanks!