New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 616636 link

Starred by 12 users

Issue metadata

Status: Verified
Owner:
Closed: Mar 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug-Regression
Team-Accessibility

Blocked on:
issue 637880



Sign in to add a comment

Chrome OS built-in text-to-speech extension starts even if any site queries the TTS API voices, and never exits

Project Member Reported by w...@chromium.org, Jun 1 2016

Issue description

Version: 52.0.2743.0
OS: Chrome

What steps will reproduce the problem?
(1) Sign in to ChromeOS.
(2) Navigate to a site which queries the TTS voices available, but don't actually trigger TTS (I use https://www.guardian.co.uk/).
(3) Open Task Manager.

What is the expected output?

Expect that there is no text-to-speech extension running.

What do you see instead?

Each signed-in user has a text-to-speech extension running. Each extension has a Native Client process running. Extension + Native Client processes consume about 70MB of RAM for each signed-in user, sometimes including the First User (sign-in page user account).

ChromeOS' built-in TTS engine extension is added to the ComponentLoader the first time the TTS Controller invokes a TTS Engine API. This includes voice queries, though those only require loading the extension's manifest to fetch the set of voices.

Even though there is no interaction with the background page at that point, it is "persistent", so loading the extension starts it anyway.

Even if the extension had a lazy event page, it would not unload once started, because it creates the Native Client plugin, and any plugins a background page has active keep the page alive (this change was made in 2015 to support VPN extensions better).

To address this we should (in order of priority):
1. Switch the TTS extension to use a lazy event page. This is straightforward but event-handling code in the extension needs auditing for event-page compatibility.
2. Have the TTS extension only instantiate the Native Client component when first needed, rather than when the extension is loaded (e.g. in response to onSpeak).
3. Have the TTS extension unload the plugin when idle.

#1 should be the biggest win, preventing the extension consuming resources except on the first sign-in that TTS getVoices() is called, since the manifest can be queried without loading the background page.

#3 may affect performance due to re-loading the plugin, if TTS is used infrequently, so we may not want to do that.

We should also review whether the plugin keep-alive of event pages is sensible, since it also impacts other extensions that may not expect it to.
 
Project Member

Comment 1 by sheriffbot@chromium.org, Jun 2 2016

Labels: -M-52 M-53 MovedFrom-52
Moving this nonessential bug to the next milestone.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: rohi...@chromium.org
rohitbm@ - do you have any idea where to route this? This appears to be specific to ChromeOS.
Cc: kathrelk...@chromium.org
CC'ing kathrelkeld@
Cc: jansson@chromium.org
Owner: kathrelk...@chromium.org
Status: Assigned (was: Untriaged)
kathrelkeld@ - can you find an appropriate owner for this bug?
Cc: dtseng@chromium.org lpalmaro@chromium.org
Components: -Blink>Speech UI>Accessibility
Owner: ----
Status: Untriaged (was: Assigned)
This is a component extension, it's always installed. It's normal for it to run briefly during startup and then get unloaded automatically.

Does it still appear if you check again after 30 seconds?

Is it actually active and taking up resources?

Cc: -rohi...@chromium.org
Status: WontFix (was: Untriaged)
The extension and ChromeVox are separate, it is expected that the extension will stay even though ChromeVox is off.

Comment 9 by willg...@gmail.com, Jun 17 2016

So it's wasting my Memory on a feature that I'll never use? How nice. ಠ_ಠ

Comment 10 by w...@chromium.org, Jun 17 2016

Owner: dmazz...@chromium.org
Status: Assigned (was: WontFix)
Re #9: No; as dmazzoni@ indicates, component extensions are actually required to only run when they're actually required, which is why I filed this bug.

Re #8: The issue is not that the extension stays installed, but that it stays running despite the feature being disabled -> re-opening for discussion.

Re #6: Sorry, I was too terse in the bug description. :-/  I'm familiar with component extensions & event pages; I filed this specifically because the extension was listed in Task Manager for a prolonged period (>10 minutes). I'm away from that device, so can't check right now, but it's been rebooted & updated since then in any case.  FWIW I do not see this issue on a separate device running M53 (dev-channel) right now.  My suspicion is that we have some (rare) "leak" in the renderer process activity counters, e.g. if an async extension API does something unusual, but I'm not sure how to narrow that down further.

So it's still happening on this particular device?

Are you running any other extensions that use the TTS API?

Are you visiting any web pages that use the web speech synthesis API (it's a public API that any web page can use)?

Comment 12 by w...@chromium.org, Jun 17 2016

I am away from the device right now, so can't check.

I'm not intentionally using anything that uses that API, no, but I'm not sure how I'd be sure?
Check the permissions of any extensions you have installed (if a dev machine, grep through the extension manifests), look for "tts"? Or just disable extensions and log out / log in again to try to make this go away?

Comment 14 by w...@chromium.org, Jun 20 2016

Status: WontFix (was: Assigned)
No longer seems to repro on this device, so WontFix - will re-open if I see the issue again.
Hi, my task manager ALWAYS shows 
"Native client module: Chrome built in OS text to speech engine" process ID 11251 running for 35,000 k memory being used. I have Google Now turned off, my microphone turned off, and no extensions that use voice. Another user has also started a thread about this
https://productforums.google.com/forum/#!topic/chromebook-central/tTQPU2WzE8M
I'd like to free up the memory being used, it sounds like this thread is saying there is a bug that keeps that process going regardless of user preference. Any chance this will be addressed? 
Thank you.

Comment 16 by w...@chromium.org, Jul 11 2016

Status: Assigned (was: WontFix)
Re #15: Thanks for the ping; prompted me to check. I have two user profiles signed-in and *three* TTS extensions (one for corp, one personal, one for "First User"), and three NaCl processes running, for a grand total of 200MB wasted.

Given it's there for all users it'd have to be some extension that is installed to the First User profile - presumably that means it must be installed-by-default or admin-installed?
Extensions I have enabled are:

Ad Block
McAfee Secure Safe Browsing 
Bookmarks 
Readability
Chromebook Apps Launcher
Clipboard History
Simple Undo Close
Up
System
Cog-System Info Viewer
Settings Button
Extensity 
A+ Font Rendering Enhancer
Google Docs
Google Keep

Active Plug Ins are:
Native Client
Widevine Content Decryption Module
Adobe Flash Player
Chrome PDF Viewer

I also have Voice and Audio Activity paused at this Settings page:
https://productforums.google.com/forum/#!topic/chromebook-central/tTQPU2WzE8M

I would never use text to speech engine and I am just an ordinary user without much tech knowledge.

Comment 18 by w...@chromium.org, Jul 11 2016

Labels: ReleaseBlock-Stable
Re #17: Thanks for those details. My question was aimed at dmazzoni@, since I'm re-opening the bug and it's assigned to him to investigate. :)

dmazzoni: I can't check extension permissions because of  issue 627137 .

Looking at Task Manager right now, I see that (following the browser crash as I tried to open Details...) I no longer have any instances of the extension nor NaCl components running.

The extension would get run if the OS, or the extension itself, gets updated, so perhaps it has some sort of update handler registered that prevents it from being regarded as "idle"?
dmazzoni@ can we confirm we still see this issue with the latest M53 beta build?
dmazzoni@ can you please comment on #19? If we do not repro this in any latest build we should close this out. It looks like the last repro was a while ago in mid july.
Blockedon: 637880
I'm trying to figure out some stats.

The crash logs have a list of running extensions. For all of Chrome 52, there were 4,398,652 crash reports overall, and only 21k crashes from users who have the speech synthesis extension running.

https://crash.corp.google.com/browse?q=product.name%3D%27Chrome_ChromeOS%27%20AND%20product.version%20LIKE%20%2752%25%27&ignore_case=false&enable_rewrite=false&omit_field_name=custom_data.ChromeCrashProto.extensions.ids&omit_field_value=bpoagfhjfpobepeipcmkncplegidfaee&omit_field_opt=%3D

https://crash.corp.google.com/browse?q=product.name%3D%27Chrome_ChromeOS%27%20AND%20product.version%20LIKE%20%2752%25%27%20OMIT%20RECORD%20IF%20SUM(custom_data.ChromeCrashProto.extensions.ids%3D%27gjjabgpgjpampikjhjpfhneeoapjbjaf%27)%20%3D%200&ignore_case=false&enable_rewrite=false&omit_field_name=custom_data.ChromeCrashProto.extensions.ids&omit_field_value=bpoagfhjfpobepeipcmkncplegidfaee&omit_field_opt=%3D#-samplereports:5,extensions

So I think that implies the vast majority of users do not have that extension running.

I checked for extensions that use the TTS permission and noticed that two Chrome OS input method extensions use it, and I'm not sure why. I filed  http://crbug.com/637880 

To both @wez and @emerson987987@gmail.com, do you have an input method installed / running? Do you see the TTS extension if you reboot then log in as "guest"?

I filed a bug with the webstore team to find out extensions that use the TTS permission: b/30869608

Labels: -ReleaseBlock-Stable
Since this was filed on M52 removing RBS for M53.
Hello 

Following up on my post #15 above, I noticed that with the newest update the problem did not initially appear. However after working online for some time, these two items still pop up on the task manager

native client module chrome os built in text to speech extension
extension: chrome os built in text to speech extension

My computer performance takes a hit when this occurs; trying to stop them kicks me offline and requires a reboot. 

Am still very much hoping this can be fixed. As stated above I still have nothing set that would require these items to run.

Many thanks.
Oh, about logging in as a guest, no those extensions don't show up. But in normal mode, they don't initially show up either, only after a while working online on a news discussion website that has nothing to do with text to speech.
Oh, about the question about an input method running, not sure what that is.
Oh now they both came on immediately after rebooting, the processes cannot be stopped they just pop back on again but was not kicked offline this time.

The only other extension I'm using now not listed above is One Tab.
Can you give me the url of the site that seems to be triggering it?

I'm almost positive that the site must be calling a TTS API. I'd really like to see if it seems like a bug, or if they're using it for fingerprinting, or if it's an ad, or what.

I'm not sure if this is the site triggering it but the main site I spend time on is
http://www.newsvine.com/
Networking and blogging on this site involves seeding articles from other sites and following multiple links to other news sites such as New York Times, Politifact, and dozens more.
 
Also I forgot to add the Process ID's:
native client module chrome os built in text to speech extension - process id 15656
extension: chrome os built in text to speech extension - process id 15647
Also, have done some browsing on Amazon
https://www.amazon.com/
I tried installing all of the extensions you listed and visiting those sites, including following the first 25 links from newsvine. So far it hasn't reproduced for me.

I haven't given up, but so far I'm not sure what the specific cause is.

Please respond if you get any clues as to a specific site or specific extension that seems to be the one causing this issue.

Your help is most appreciated. Don't understand this whole problem, since I have
 
-Voice and Audio Activity paused at this Settings page:
https://productforums.google.com/forum/#!topic/chromebook-central/tTQPU2WzE8M
-Web and App Activity paused at this Settings page:
https://myaccount.google.com/activitycontrols/search?pli=1
-Google Now turned off in Settings
-OK Google turned off in Settings
-No extensions that use Voice
-Ad blocker that blocks most ads on sites I visit
-No apps that use voice

Yet these items stay on all the time:
native client module chrome os built in text to speech extension -process id 15656     -33200K memory
extension: chrome os built in text to speech extension - process id 15647 - 11940K memory

Seems that since everything is turned off, why would these processes not turn off? Is this not a bug?

The thing is a performance issue. They don't make these Chromebooks extremely powerful. I don't feel that I can be the only one having the issue, there are mentions of it in Google Product Forums, however, the people asking how to turn it off are being told by volunteer moderators that this is something that cannot be turned off, so I imagine further visitors are not bothering to bring up the problem. But it's out there.

The latest Chrome release did seem to solve the problem for a while, unfortunately it did not last. Seems you were on the right track however, and maybe something in the way of a solution will turn up some day.

Once again I thank you for taking the time to explore this matter and all of your courtesy shown to me. I hope you won't give up on this. Thank you.








Hi, just to update you. With the latest version of Chrome again at first the items did not show then pretty soon they did. The memory drain is now up to 63,512K.

I think these items may have awakened after I used Google search at google.com and that is the website that may be triggering them.

Cheers!
Another update. Just noticed that now

Extension Chrome OS Built in text-to-speech extension process ID 26973 = 187,820K memory

Native Client Module: Chrome OS Built-in text-to-speech extension process ID 26986 = 42,260K memory

Wow these are hogging more memory every day.
@emerson987987@gmail.com, sorry I don't have any answers yet. I'm not seeing this from other users.

Could you try this:

1. Open chrome://inspect
2. Click on Extensions
3. Under "Chrome OS Built-in text-to-speech extension", click on "inspect"
4. Click on the "Console" tab

What I'm interested in seeing is if there are any requests for speech, i.e. if it thinks it's trying to speak something, or if it's just sitting there doing nothing.

If there's a lot of text there, maybe you could copy and paste it and send it to me? Email it directly to dmazzoni@google.com

Have just emailed you a screenshot.
Since talking last, I've added one more extension, Web Boost.
Since the last 2 new Chrome releases, I've been carefully monitoring my Task Manager. At first the two TTS items don't show up. But after browsing various websites they pop up on the Task Manager. I no longer think it's tied to Google Search, but to random websites, specifically ones that have a video that starts to play automatically as soon as the site loads.
Restarting the computer will get rid of these items until again another site loads and plays a video then they are back.
I'm going to send you another email with a screenshot of my Task Manager.

Comment 37 by willg...@gmail.com, Dec 15 2016

While a nuisance, I've never seen it use so much memory before.

Comment 38 by willg...@gmail.com, Dec 15 2016

Screenshot 2016-12-15 at 1.04.48 AM.png
48.1 KB View Download

Comment 39 by w...@chromium.org, Jan 23 2017

Cc: dmazz...@chromium.org
Owner: w...@chromium.org
Status: Started (was: Assigned)
dmazzoni->wez: I'll add some logging to the TTS APIs to see if we can understand the trigger(s) here.

Comment 40 by w...@chromium.org, Jan 26 2017

Labels: M-58
This has been happening for > 10 minutes on my screen - sufficient to search for the issue and find this bug report.  I've run inspect on the extension, but don't see any invocations.  
Screenshot 2017-01-30 at 15.40.04.png
48.1 KB View Download
Apologies - forgot to include version information:  Google Chrome	56.0.2924.79 (Official Build) beta (64-bit) on an original Chromebook Pixel.
I, too have discovered this via checking task manager.
I have all activity controls set to disabled/off.
I use no voice/speech features. None.
I have all accessiblity features, off.
This is on an Acer Chromebook 15.
Please address, thank you!
Upon following the above instructions in comment 35, below is what comes up:
Adding event listener for ttslstm
tts_controller.js:314 Got message: loading
tts_controller.js:410 10% complete.
tts_controller.js:410 20% complete.
tts_controller.js:410 30% complete.
tts_controller.js:410 40% complete.
tts_controller.js:410 50% complete.
tts_controller.js:410 60% complete.
tts_controller.js:410 70% complete.
tts_controller.js:410 80% complete.
tts_controller.js:410 90% complete.
tts_controller.js:410 100% complete.
tts_controller.js:314 Got message: idle
tts_controller.js:552 Closing audio channel after 30 seconds of idle.
What, is an "event listener?"
Very disturbing.

Comment 46 by w...@chromium.org, Feb 23 2017

Labels: Performance-Memory
Summary: Chrome OS built-in text-to-speech extension starts even if any site queries the TTS API voices, and never exits (was: Chrome OS built-in text-to-speech extension is running even though "ChromeVox" is off in Settings.)

Comment 47 by w...@chromium.org, Feb 23 2017

Description: Show this description

Comment 48 by w...@chromium.org, Feb 24 2017

For reference this has the same root-cause as issue 512300, which is the workaround introduced for  issue 472532 .
Project Member

Comment 49 by bugdroid1@chromium.org, Feb 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0334393935b3a305019a982b4c33e3f51bac45f3

commit 0334393935b3a305019a982b4c33e3f51bac45f3
Author: wez <wez@chromium.org>
Date: Sat Feb 25 02:01:42 2017

Correct some details in the instructions for modifying TTS engine.

BUG= 616636 
NOTRY=true

Review-Url: https://codereview.chromium.org/2711263005
Cr-Commit-Position: refs/heads/master@{#453043}

[modify] https://crrev.com/0334393935b3a305019a982b4c33e3f51bac45f3/docs/accessibility/patts.md

Project Member

Comment 50 by bugdroid1@chromium.org, Mar 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/assets/+/15a7dd9e43c7d67c57687ee1ef015d17b33c010b

commit 15a7dd9e43c7d67c57687ee1ef015d17b33c010b
Author: Wez <wez@chromium.org>
Date: Tue Mar 07 04:42:36 2017

Update TTS Engine extension to use an event page.

This CL updates the TTS Engine extension to:

1. Use an event page, allowing ChromeOS to tear it down when it is
   not actively in-use. Chrome will also avoid loading the extension
   at startup, until it is actually used, which allows the TTS
   controller to query the extension's manifest for the set of
   supported voices without causing the event page to be loaded.
   Chrome will only (re-)load the extension to dispatch onSpeak,
   or system-upgrade, events to it.

2. Tear down the Native Client subcomponent when idle, rather than
   just disconnecting the audio output stream. Active NaCl plugins
   cause the event page to stay in-use, effectively creating a
   reference-cycle and preventing Chrome tearing them down when
   idle.

This can save as much as 70MB of memory usage in long-running
sessions, and helps avoid the TTS components running for users who
aren't actually using TTS.

BUG= chromium:616636 
TEST=Open Task Manager. Load a web-site which queries TTS capabilities, e.g. https://www.guardian.co.uk. Observe that TTS extension does not load, or loads but then unloads again within a minute or so.

Change-Id: I6d2d6d2f969ed2ad61fa7008b8b8e41093418f37
Reviewed-on: https://chromium-review.googlesource.com/447000
Commit-Ready: James Weatherall <wez@chromium.org>
Tested-by: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: David Tseng <dtseng@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/15a7dd9e43c7d67c57687ee1ef015d17b33c010b/speech_synthesis/patts/manifest_guest.json
[modify] https://crrev.com/15a7dd9e43c7d67c57687ee1ef015d17b33c010b/speech_synthesis/patts/manifest.json
[modify] https://crrev.com/15a7dd9e43c7d67c57687ee1ef015d17b33c010b/speech_synthesis/patts/tts_controller.js
[modify] https://crrev.com/15a7dd9e43c7d67c57687ee1ef015d17b33c010b/speech_synthesis/patts/tts_main.js

Comment 51 by w...@chromium.org, Mar 8 2017

Cc: gov...@chromium.org
+govind: Krishna, we would like to make sure this change is folded in to M58 - it's a ChromeOS assets change, though, so is there some separate merge process for that?

Comment 52 Deleted

+ bhthompson@ (Chrome OS M58 TPM) for merge review (PTAL comment #51)

Adding "Merge-Request-58" label.
Project Member

Comment 54 by sheriffbot@chromium.org, Mar 8 2017

Labels: -Merge-Request-58 Hotlist-Merge-Approved Merge-Approved-58
Your change meets the bar and is auto-approved for M58. Please go ahead and merge the CL to branch 3029 manually. Please contact milestone owner if you have questions.
Owners: amineer@(clank), cmasso@(bling), bhthompson@(cros), govind@(desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
LGTM for 58, thanks!
Project Member

Comment 56 by bugdroid1@chromium.org, Mar 9 2017

Labels: merge-merged-release-R58-9334.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/assets/+/ef3f792d901903c2f7e6b542480ee223a89a1950

commit ef3f792d901903c2f7e6b542480ee223a89a1950
Author: Wez <wez@chromium.org>
Date: Thu Mar 09 22:33:43 2017

Update TTS Engine extension to use an event page.

This CL updates the TTS Engine extension to:

1. Use an event page, allowing ChromeOS to tear it down when it is
   not actively in-use. Chrome will also avoid loading the extension
   at startup, until it is actually used, which allows the TTS
   controller to query the extension's manifest for the set of
   supported voices without causing the event page to be loaded.
   Chrome will only (re-)load the extension to dispatch onSpeak,
   or system-upgrade, events to it.

2. Tear down the Native Client subcomponent when idle, rather than
   just disconnecting the audio output stream. Active NaCl plugins
   cause the event page to stay in-use, effectively creating a
   reference-cycle and preventing Chrome tearing them down when
   idle.

This can save as much as 70MB of memory usage in long-running
sessions, and helps avoid the TTS components running for users who
aren't actually using TTS.

TBR=vapier
BUG= chromium:616636 
TEST=Open Task Manager. Load a web-site which queries TTS capabilities, e.g. https://www.guardian.co.uk. Observe that TTS extension does not load, or loads but then unloads again within a minute or so.

Change-Id: I6d2d6d2f969ed2ad61fa7008b8b8e41093418f37
Reviewed-on: https://chromium-review.googlesource.com/447000
Commit-Ready: James Weatherall <wez@chromium.org>
Tested-by: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: David Tseng <dtseng@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
(cherry picked from commit 15a7dd9e43c7d67c57687ee1ef015d17b33c010b)
Reviewed-on: https://chromium-review.googlesource.com/452078
Commit-Queue: James Weatherall <wez@chromium.org>
Tested-by: James Weatherall <wez@chromium.org>
Reviewed-by: James Weatherall <wez@chromium.org>
Reviewed-by: Bernie Thompson <bhthompson@chromium.org>

[modify] https://crrev.com/ef3f792d901903c2f7e6b542480ee223a89a1950/speech_synthesis/patts/manifest_guest.json
[modify] https://crrev.com/ef3f792d901903c2f7e6b542480ee223a89a1950/speech_synthesis/patts/manifest.json
[modify] https://crrev.com/ef3f792d901903c2f7e6b542480ee223a89a1950/speech_synthesis/patts/tts_controller.js
[modify] https://crrev.com/ef3f792d901903c2f7e6b542480ee223a89a1950/speech_synthesis/patts/tts_main.js

Comment 57 by w...@chromium.org, Mar 9 2017

Status: Fixed (was: Started)
Project Member

Comment 58 by sheriffbot@chromium.org, Mar 13 2017

This issue has been approved for a merge. Please merge the fix to any appropriate branches as soon as possible!

If all merges have been completed, please remove any remaining Merge-Approved labels from this issue.

Thanks for your time! To disable nags, add the Disable-Nags label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 59 by w...@chromium.org, Mar 13 2017

Labels: -Merge-Approved-58
Status: assigned (was: Fixed)
Project Member

Comment 61 by bugdroid1@chromium.org, Mar 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/assets/+/4f3ba0b2d207eb5928c077e0e2a56e7459e0dfb6

commit 4f3ba0b2d207eb5928c077e0e2a56e7459e0dfb6
Author: David Tseng <dtseng@chromium.org>
Date: Wed Mar 15 21:10:26 2017

Account for repeated calls to TtsController ensureInitialized

When the tts extension gets initialized either on startup or when being woken as an event page, it initializes itself via:
- a nacl embed node
- a boolean flag |initialized_|.

It is possible that the embeded node gets added to the document, but initialized_| is not yet set to true while other calls to |onSpeak| come through.

In those instances, it is appropriate to consider the extension uninitialized, but not assert that the embed is still null.

BUG= chromium:616636 
TEST=let tts go idle (i.e. tts controller's nativeTts_gets nullified. Verify calls to tts results in speech even when there are multiple such calls.

Change-Id: I2e091162d3bca866b10731ff0836ae61667f1767
Reviewed-on: https://chromium-review.googlesource.com/455001
Commit-Queue: David Tseng <dtseng@chromium.org>
Trybot-Ready: David Tseng <dtseng@chromium.org>
Tested-by: David Tseng <dtseng@chromium.org>
Reviewed-by: Dan Erat <derat@chromium.org>
Reviewed-by: James Weatherall <wez@chromium.org>

[modify] https://crrev.com/4f3ba0b2d207eb5928c077e0e2a56e7459e0dfb6/speech_synthesis/patts/tts_controller.js

Project Member

Comment 62 by bugdroid1@chromium.org, Mar 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/assets/+/be1e11452f40898b045a6bbe2b955ad452f7a42a

commit be1e11452f40898b045a6bbe2b955ad452f7a42a
Author: David Tseng <dtseng@chromium.org>
Date: Thu Mar 16 20:54:50 2017

Merge to m58: Fix initialization issue in tts extension

When the tts extension gets initialized either on startup or when being woken as an event page, it initializes itself via:
- a nacl embed node
- a boolean flag |initialized_|.

It is possible that the embedded node gets added to the document, but initialized_| is not yet set to true while other calls to |onSpeak| come through.

    In those instances, it is appropriate to consider the extension uninitialized, but not assert that the embed is still null.

BUG= chromium:616636 
TEST=let tts go idle (i.e. tts controller's nativeTts_gets nullified. Verify calls to tts results in speech even when there are multiple such calls.

Change-Id: I70003a0b08ad41114ce519ac1de2d5724749c814
Reviewed-on: https://chromium-review.googlesource.com/456641
Commit-Queue: David Tseng <dtseng@chromium.org>
Trybot-Ready: David Tseng <dtseng@chromium.org>
Reviewed-by: Dan Erat <derat@chromium.org>
Tested-by: David Tseng <dtseng@chromium.org>

[modify] https://crrev.com/be1e11452f40898b045a6bbe2b955ad452f7a42a/speech_synthesis/patts/tts_controller.js

Project Member

Comment 63 by bugdroid1@chromium.org, Mar 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/assets/+/a03e171c9993baf32eadf898441c9c1dc6e02478

commit a03e171c9993baf32eadf898441c9c1dc6e02478
Author: David Tseng <dtseng@chromium.org>
Date: Sat Mar 18 16:40:05 2017

Simplify tts fix for initialization

BUG= chromium:616636 
TEST=let tts go idle (i.e. tts controller's nativeTts_gets nullified. Verify calls to tts results in speech even when there are multiple such calls.

Change-Id: I7fb831f6184f1a8f66892b50d9721808953b90f0
Reviewed-on: https://chromium-review.googlesource.com/456636
Commit-Ready: David Tseng <dtseng@chromium.org>
Tested-by: David Tseng <dtseng@chromium.org>
Reviewed-by: Dan Erat <derat@chromium.org>

[modify] https://crrev.com/a03e171c9993baf32eadf898441c9c1dc6e02478/speech_synthesis/patts/tts_controller.js

Comment 64 by w...@chromium.org, Mar 18 2017

Status: Fixed (was: Assigned)
Both Extension Chrome OS Built in text-to-speech extension & Native Client Module: Chrome OS Built-in text-to-speech extension are fixed?

Comment 66 by w...@chromium.org, Mar 23 2017

Both processes should no longer linger, unless you are using TTS, yes - the
fix has only reached dev-channel at this point, though, I believe.
Hello

With the latest update the processes no longer linger. However (just shoot me) my Chromebook's performance has taken a hit. I rarely ever experienced buffering on YouTube and now am. A couple other things I'm still checking out. 

I turned on text to speech and don't experience the YouTube buffering. 
Hello re Comment 67, I think that performance issue pertained to a slow few days with my Internet and not to the processes not lingering. Sorry for the false alarm and many thanks for getting this issue resolved.
Status: Verified (was: Fixed)
Hello,

After OS update my chromeVox will not stop either.

Acer Chromebook 14

Have already "done" all settings as per:https://productforums.google.com/forum/#!category-topic/chromebook-central/xozTy-uOKIM

ctl-alt-z is known, but ineffective.

ChromeVox talks on start up and any random moment.

Did Microsoft get into the OS? Update was uncommanded.

Brgs
E.


Screenshot 2017-10-14 at 08.19.59.png
186 KB View Download
I have this moronic talking problem.  It is really, really annoying.  I also have an extension that can see my wireless printer but refuses to print to it.  Could they be related? The machine is unusable at the moment.

Sign in to add a comment