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

Issue 850424 link

Starred by 1 user

Issue metadata

Status: Untriaged
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Compat



Sign in to add a comment

First spellcheck request is always canceled

Reported by ganenk...@yandex-team.ru, Jun 7 2018

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 YaBrowser/18.4.1.833 Yowser/2.5 Safari/537.36

Example URL:

Steps to reproduce the problem:
1. Start browser
2. Make only one spellcheck request with incorrect word
3. Request will be canceled, and spellcheck result will be incorrect until next spellcheck request

What is the expected behavior?

What went wrong?
1 renderer gets text checking request (SpellCheck::RequestTextChecking)
2 renderer sees that dictionaries are not initialized (InitializeIfNeeded), request is set as pending (pending_request_param_). It's worth mentioning, that pending_request_param_ exists by this only reason - to wait dictionaries initialization and process request.
...
3 browser receives a dictionary initialization request: hunspell and custom_dictionary initialization starts
4 in browser, the first initialized is custom_dictionary(5) and then hunspell(9). The order may be different - it depends on the speed of processing the initialization hunspell dictionary and custom dictionary.
5 browser creates a message about initializing with empty list of dictionaries and just loaded custom_dictionary.
    void SpellcheckService::OnCustomDictionaryLoaded() {
      InitForAllRenderers(); 		-- here is Initialize call with not inited dictionaries
    }
6 renderer receives a message about the initialization of dictionaries and starts pending_request_param_ spellcheck
7 renderer handles the spellcheck for an empty list of dictionaries as the cancellation of the check (see SpellCheck::PerformSpellCheck). This is the bug of which the task is devoted.
8 until the next request for spellcheck from blink, the words are not rechecked
…
9 browser successfully loads hunspell and making a new init message
10 renderer receives the initialized dictionaries, and all next spellcheck requests will be processed normally

Does it occur on multiple sites: N/A

Is it a problem with a plugin? N/A 

Did this work before? N/A 

Does this work in other browsers? N/A

Chrome version: 65.0.3325.181  Channel: n/a
OS Version: 10.0
Flash Version: Shockwave Flash 29.0 r0

Due to the large number of spellcheck requests this problem is hard to reproduce in browser. But step-by-step description shows that code path with [pending_request_param_] is working incorrectly.
 
Components: UI>Browser>Language>Spellcheck
Labels: Needs-Milestone
Cc: phanindra.mandapaka@chromium.org
Labels: Needs-Feedback Triaged-ET
Tested this on reported chrome version on 65.0.3325.181 and latest chrome stable 67.0.3396.79 and 67.0.3396.87 using Windows 10. Attaching Screencast for reference.

Steps 
--------
1. Launched chrome
2. Navigated to www.gmail.com and tried to compose some text. .
We have observed that spelling suggestion getting correctly.

@Reporter: As we are unable to reproduce the issue from our end. Could you please review the attached screen-cast and confirm if anything being missed here.upgrade to latest version on M67 stable and check the issue.The latest chrome builds can be downloaded from the below URL:
https://www.chromium.org/getting-involved/dev-channel

Thanks! 
850424.mp4
1.2 MB View Download

Comment 4 Deleted

Actually it is hard to catch it in practice.
First of all, you are getting spellcheck from online - this code pass is pretty different. Second, you got several spell requests just after pasting space symbol (there al least two of them).
And finally you can see problem repeatance in unittests in my commit (https://chromium-review.googlesource.com/c/chromium/src/+/1085449).
Project Member

Comment 6 by sheriffbot@chromium.org, Jun 14 2018

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding the requester to the cc list.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: groby@chromium.org
Status: Untriaged (was: Unconfirmed)
@groby@chromium.org: As per comment #5  marking this issue as untriaged and requesting dev to look in to it

Thanks.!

Thanks.!
Project Member

Comment 8 by bugdroid1@chromium.org, Aug 22

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

commit e7f35a93db7e02a177ee4e768dd8c66e3043d7c4
Author: Konstantin Ganenko <ganenkokb@yandex-team.ru>
Date: Wed Aug 22 22:26:42 2018

Fix first word spellcheck.

Do not process pending request if initialize call is come with not inited
 dictionaries.

R=groby@chromium.org

Bug: 850424
Change-Id: I0dd7213f9865b2c5949fd6367c524edfd09febf1
Reviewed-on: https://chromium-review.googlesource.com/1085449
Commit-Queue: Rachel Blum <groby@chromium.org>
Reviewed-by: Rachel Blum <groby@chromium.org>
Cr-Commit-Position: refs/heads/master@{#585283}
[modify] https://crrev.com/e7f35a93db7e02a177ee4e768dd8c66e3043d7c4/components/spellcheck/renderer/spellcheck.cc
[modify] https://crrev.com/e7f35a93db7e02a177ee4e768dd8c66e3043d7c4/components/spellcheck/renderer/spellcheck_unittest.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Sep 17

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

commit 5fe8de1abd4bd5a1d87d5e7e801b3949adf35230
Author: Mike Wittman <wittman@chromium.org>
Date: Mon Sep 17 21:26:02 2018

Revert "Fix first word spellcheck."

This reverts commit e7f35a93db7e02a177ee4e768dd8c66e3043d7c4.

Reason for revert: Causes significant startup and jank regressions.

Original change's description:
> Fix first word spellcheck.
> 
> Do not process pending request if initialize call is come with not inited
>  dictionaries.
> 
> R=​groby@chromium.org
> 
> Bug: 850424
> Change-Id: I0dd7213f9865b2c5949fd6367c524edfd09febf1
> Reviewed-on: https://chromium-review.googlesource.com/1085449
> Commit-Queue: Rachel Blum <groby@chromium.org>
> Reviewed-by: Rachel Blum <groby@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#585283}

TBR=groby@chromium.org,ganenkokb@yandex-team.ru

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 850424,  883398 
Change-Id: If2b242b87a44d40010427a3e0a6474c103f8f054
Reviewed-on: https://chromium-review.googlesource.com/1228934
Reviewed-by: Mike Wittman <wittman@chromium.org>
Reviewed-by: Rachel Blum <groby@chromium.org>
Commit-Queue: Mike Wittman <wittman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#591821}
[modify] https://crrev.com/5fe8de1abd4bd5a1d87d5e7e801b3949adf35230/components/spellcheck/renderer/spellcheck.cc
[modify] https://crrev.com/5fe8de1abd4bd5a1d87d5e7e801b3949adf35230/components/spellcheck/renderer/spellcheck_unittest.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Sep 20

Labels: merge-merged-3538
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6acaa334121b4607e9417eaaff7141bd90e520dc

commit 6acaa334121b4607e9417eaaff7141bd90e520dc
Author: Mike Wittman <wittman@chromium.org>
Date: Thu Sep 20 20:58:52 2018

Revert "Fix first word spellcheck."

This reverts commit e7f35a93db7e02a177ee4e768dd8c66e3043d7c4.

Reason for revert: Causes significant startup and jank regressions.

Original change's description:
> Fix first word spellcheck.
> 
> Do not process pending request if initialize call is come with not inited
>  dictionaries.
> 
> R=​groby@chromium.org
> 
> Bug: 850424
> Change-Id: I0dd7213f9865b2c5949fd6367c524edfd09febf1
> Reviewed-on: https://chromium-review.googlesource.com/1085449
> Commit-Queue: Rachel Blum <groby@chromium.org>
> Reviewed-by: Rachel Blum <groby@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#585283}

TBR=groby@chromium.org,ganenkokb@yandex-team.ru

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 850424,  883398 
Change-Id: If2b242b87a44d40010427a3e0a6474c103f8f054
Reviewed-on: https://chromium-review.googlesource.com/1228934
Reviewed-by: Mike Wittman <wittman@chromium.org>
Reviewed-by: Rachel Blum <groby@chromium.org>
Commit-Queue: Mike Wittman <wittman@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#591821}(cherry picked from commit 5fe8de1abd4bd5a1d87d5e7e801b3949adf35230)
Reviewed-on: https://chromium-review.googlesource.com/1237261
Reviewed-by: Xi Cheng <chengx@chromium.org>
Cr-Commit-Position: refs/branch-heads/3538@{#551}
Cr-Branched-From: 79f7c91a2b2a2932cd447fa6f865cb6662fa8fa6-refs/heads/master@{#587811}
[modify] https://crrev.com/6acaa334121b4607e9417eaaff7141bd90e520dc/components/spellcheck/renderer/spellcheck.cc
[modify] https://crrev.com/6acaa334121b4607e9417eaaff7141bd90e520dc/components/spellcheck/renderer/spellcheck_unittest.cc

Labels: Merge-Merged-70-refsbranch-heads3538
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6acaa334121b4607e9417eaaff7141bd90e520dc
Commit: 6acaa334121b4607e9417eaaff7141bd90e520dc
Author: wittman@chromium.org
Commiter: chengx@chromium.org
Date: 2018-09-20 20:58:52 +0000 UTC
Revert "Fix first word spellcheck."

This reverts commit e7f35a93db7e02a177ee4e768dd8c66e3043d7c4.

Reason for revert: Causes significant startup and jank regressions.

Original change's description:
> Fix first word spellcheck.
> 
> Do not process pending request if initialize call is come with not inited
>  dictionaries.
> 
> R=​groby@chromium.org
> 
> Bug: 850424
> Change-Id: I0dd7213f9865b2c5949fd6367c524edfd09febf1
> Reviewed-on: https://chromium-review.googlesource.com/1085449
> Commit-Queue: Rachel Blum <groby@chromium.org>
> Reviewed-by: Rachel Blum <groby@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#585283}

TBR=groby@chromium.org,ganenkokb@yandex-team.ru

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 850424,  883398 
Change-Id: If2b242b87a44d40010427a3e0a6474c103f8f054
Reviewed-on: https://chromium-review.googlesource.com/1228934
Reviewed-by: Mike Wittman <wittman@chromium.org>
Reviewed-by: Rachel Blum <groby@chromium.org>
Commit-Queue: Mike Wittman <wittman@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#591821}(cherry picked from commit 5fe8de1abd4bd5a1d87d5e7e801b3949adf35230)
Reviewed-on: https://chromium-review.googlesource.com/1237261
Reviewed-by: Xi Cheng <chengx@chromium.org>
Cr-Commit-Position: refs/branch-heads/3538@{#551}
Cr-Branched-From: 79f7c91a2b2a2932cd447fa6f865cb6662fa8fa6-refs/heads/master@{#587811}

Sign in to add a comment