Closed Bug 1252732 Opened 9 years ago Closed 9 years ago

speech-dispatcher processes spawned from SpeechDispatcherService even when not used and live after application terminates

Categories

(Core :: DOM: Core & HTML, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
Tracking Status
firefox47 - wontfix
firefox48 + fixed

People

(Reporter: karlt, Unassigned)

References

Details

(Keywords: regression, Whiteboard: btpp-fixlater)

These speech-dispatcher processes are spawned during start-up, even though they are not used. They present also as 4 streams in pulseaudio mixers, and continue to exist, even after quitting the application. #0 mozilla::dom::SpeechDispatcherService::Init (this=0x7fd4ba4d7980) at /mnt/ssd1/karl/moz/dev/dom/media/webspeech/synth/speechd/SpeechDispatcherService.cpp:307 #1 0x00007fd4f5ba721b in mozilla::dom::SpeechDispatcherService::GetInstance ( create=true) at /mnt/ssd1/karl/moz/dev/dom/media/webspeech/synth/speechd/SpeechDispatcherService.cpp:540 #2 0x00007fd4f5ba729c in mozilla::dom::SpeechDispatcherService::GetInstanceForService () at /mnt/ssd1/karl/moz/dev/dom/media/webspeech/synth/speechd/SpeechDispatcherService.cpp:550 #3 0x00007fd4f5ba53b0 in SpeechDispatcherServiceConstructor (aOuter=0x0, aIID=..., aResult=0x7fff94eb3320) at /mnt/ssd1/karl/moz/dev/dom/media/webspeech/synth/speechd/SpeechDispatcherModule.cpp:19 #4 0x00007fd4f2bffe9b in mozilla::GenericFactory::CreateInstance ( this=0x7fd4ba4f0220, aOuter=0x0, aIID=..., aResult=0x7fff94eb3320) at /mnt/ssd1/karl/moz/dev/xpcom/glue/GenericFactory.cpp:17 #5 0x00007fd4f2b98a90 in nsComponentManagerImpl::CreateInstanceByContractID ( this=0x7fd502e77410, aContractID=0x7fd4b1a510d0 "@mozilla.org/synthspeechdispatcher;1", aDelegate=0x0, aIID=..., aResult=0x7fff94eb3320) at /mnt/ssd1/karl/moz/dev/xpcom/components/nsComponentManager.cpp:1235 #6 0x00007fd4f2b999b0 in nsComponentManagerImpl::GetServiceByContractID ( this=0x7fd502e77410, aContractID=0x7fd4b1a510d0 "@mozilla.org/synthspeechdispatcher;1", aIID=..., aResult=0x7fff94eb3460) at /mnt/ssd1/karl/moz/dev/xpcom/components/nsComponentManager.cpp:1592 #7 0x00007fd4f2c18352 in CallGetService ( aContractID=0x7fd4b1a510d0 "@mozilla.org/synthspeechdispatcher;1", aIID=..., aResult=0x7fff94eb3460) at /mnt/ssd1/karl/moz/dev/xpcom/glue/nsComponentManagerUtils.cpp:69 #8 0x00007fd4f2c18888 in nsGetServiceByContractID::operator() ( this=0x7fff94eb3450, aIID=..., aInstancePtr=0x7fff94eb3460) at /mnt/ssd1/karl/moz/dev/xpcom/glue/nsComponentManagerUtils.cpp:280 #9 0x00007fd4f2c03038 in nsCOMPtr_base::assign_from_gs_contractid ( this=0x7fff94eb3500, aGS=..., aIID=...) at /mnt/ssd1/karl/moz/dev/xpcom/glue/nsCOMPtr.cpp:103 #10 0x00007fd4f2b94069 in nsCOMPtr<nsISupports>::nsCOMPtr ( this=0x7fff94eb3500, aGS=...) at /mnt/sda11/karl/obj/dist/include/nsCOMPtr.h:855 #11 0x00007fd4f2b93b90 in NS_CreateServicesFromCategory ( aCategory=0x7fd4f9620729 "profile-after-change", aOrigin=0x0, aObserverTopic=0x7fd4f9620729 "profile-after-change") at /mnt/ssd1/karl/moz/dev/xpcom/components/nsCategoryManager.cpp:806 #12 0x00007fd4f7379828 in nsXREDirProvider::DoStartup (this=0x7fff94eb3900) at /mnt/ssd1/karl/moz/dev/toolkit/xre/nsXREDirProvider.cpp:888 #13 0x00007fd4f7369711 in XREMain::XRE_mainRun (this=0x7fff94eb38c0) at /mnt/ssd1/karl/moz/dev/toolkit/xre/nsAppRunner.cpp:4151 #14 0x00007fd4f736a3ae in XREMain::XRE_main (this=0x7fff94eb38c0, argc=4, argv=0x7fff94eb4df8, aAppData=0x7fff94eb3ae0) at /mnt/ssd1/karl/moz/dev/toolkit/xre/nsAppRunner.cpp:4384 #15 0x00007fd4f736a6c3 in XRE_main (argc=4, argv=0x7fff94eb4df8, aAppData=0x7fff94eb3ae0, aFlags=0) at /mnt/ssd1/karl/moz/dev/toolkit/xre/nsAppRunner.cpp:4486 #16 0x0000000000405872 in do_main (argc=4, argv=0x7fff94eb4df8, envp=0x7fff94eb4e20, xreDirectory=0x7fd502e43780) at /mnt/ssd1/karl/moz/dev/browser/app/nsBrowserApp.cpp:220 #17 0x0000000000405c82 in main (argc=4, argv=0x7fff94eb4df8, envp=0x7fff94eb4e20) at /mnt/ssd1/karl/moz/dev/browser/app/nsBrowserApp.cpp:360 https://hg.mozilla.org/mozilla-central/annotate/a4929411c0aa3ec6b727e2bc2fc050c8199c6573/dom/media/webspeech/synth/speechd/SpeechDispatcherService.cpp#l352 https://hg.mozilla.org/mozilla-central/annotate/a4929411c0aa3ec6b727e2bc2fc050c8199c6573/dom/media/webspeech/synth/speechd/SpeechDispatcherService.cpp#l307
needinfoing some people who would know.
Flags: needinfo?(kdavis)
Flags: needinfo?(eitan)
Whiteboard: btpp-followup-2016-03-09
TTS is Eitan's baby.
Flags: needinfo?(kdavis)
This is definitely a flaw with the current design, and the requirements of the current speech spec. I'm curious to know what the priority on this would be? Should this block release?
Flags: needinfo?(eitan)
(In reply to Eitan Isaacson [:eeejay] from comment #3) > This is definitely a flaw with the current design, and the requirements of > the current speech spec. I'm curious to know what the priority on this would > be? > > Should this block release? It's probably worth asking on dev–platform.
Depends on: 1254378
Whiteboard: btpp-followup-2016-03-09 → btpp-fixlater
Are you going to make the call about whether or not this should block release (or riding the trains?), Eitan?
Flags: needinfo?(eitan)
Sorry, I was waiting for someone more opinionated. I think this should block the train ride. Not sure what bz flag is most appropriate. Andrew, could use give this but the appropriate flag?
Flags: needinfo?(eitan) → needinfo?(overholt)
[Tracking Requested - why for this release]: See comment 1: "These speech-dispatcher processes are spawned during start-up, even though they are not used. They present also as 4 streams in pulseaudio mixers, and continue to exist, even after quitting the application."
Flags: needinfo?(overholt)
(In reply to Andrew Overholt [:overholt] from comment #7) > [Tracking Requested - why for this release]: > See comment 1: > > "These speech-dispatcher processes are spawned during start-up, even though > they are not used. They present also as 4 streams in pulseaudio mixers, and > continue to exist, even after quitting the application." Hi Andrew, just so I understand the end-user impact of this better, does this lead to a memory leak that could potentially grow? Is this a fixed memory leak? Also based on "btpp-fixlater" does it mean we don't plan to fix for Fx47? I am trying to understand whether this needs to be tracked for Fx47 or not. Is this a new regression in 47?
Flags: needinfo?(overholt)
My understanding is that it's a fixed increase in memory usage (due to process overhead, I'm inferring). btpp-fixlater just means we'd like to see it fixed in the next couple of month. It's a new "regression" in that it's the outcome of a new feature. Eitan, is this going to ride the trains with 47?
Flags: needinfo?(overholt) → needinfo?(eitan)
Since speech is not riding the trains (it is preffed on only in nightly), this bug should not appear in anything but nightly. I am working on a patch now that will hopefully land in 48, and I don't recommend it be uplifted. Does that answer the question?
Flags: needinfo?(eitan)
That answers my question. Ritu, does that make it clear from your perspective?
Flags: needinfo?(rkothari)
(In reply to Andrew Overholt [:overholt] from comment #11) > That answers my question. > > Ritu, does that make it clear from your perspective? Yup, Thanks Andrew and Eitan. Wontfix for 47.
Flags: needinfo?(rkothari)
Bug 1254378 makes speed load lazily, so you shouldn't see any processes spawn in startup anymore.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Depends on: 1262067
No longer depends on: 1262067
Sounds like this was fixed for 48 in bug 1254378. Eitan does that mean this feature isn't limited to nightly anymore? Is it riding the train with 48?
Flags: needinfo?(eitan)
(In reply to Liz Henry (:lizzard) (needinfo? me) from comment #14) > Sounds like this was fixed for 48 in bug 1254378. > Eitan does that mean this feature isn't limited to nightly anymore? Is it > riding the train with 48? Speech isn't riding the trains, it is preffed off, so this fix doesn't really touch releases.
Flags: needinfo?(eitan)
Component: DOM → DOM: Core & HTML
See Also: → 1444567
You need to log in before you can comment on or make changes to this bug.