[Omnibox]: Stop ContextualSuggestionsService's processing when ZeroSuggestProvider::Stop() is called. |
||||
Issue descriptionChrome Version: (copy from chrome://version) OS: All What steps will reproduce the problem? (1) Build a non-prod version of Chrome after CL https://chromium-review.googlesource.com/c/576284 lands. (2) Enable "Experimental contextual omnibox suggestion" in chrome://flags. (3) Restart Chrome. (4) Visit an ordinary page like http://www.cnn.com/ (5) Click on the omnibox. (6) Repeat (3) and (4) lots of times until the first DCHECK() fails on ZeroSuggestProvider::OnURLFetchComplete(). What is the expected result? No crash. What happens instead? A DCHECK(!done_)-fail. Please use labels and text to provide additional information. My suspicion after some extensive debugging is that ZeroSuggestProvider::Stop() is called (externally), which sets done_ to true, while a URL fetching is happening. When the URL fetching is finally completed, the OnURLFetchComplete method is triggered, which then causes the failed check in debug mode. We need to find a way to stop all current processing in ContextualSuggestionsService if ZeroSuggestProvider::Stop() is called. For graphics-related bugs, please copy/paste the contents of the about:gpu page at the end of this report.
,
Aug 18 2017
Issue 756694 has been merged into this issue.
,
Aug 18 2017
Bumping priority because this has been reported by ConOps and adding flags from merged-in bug.
,
Aug 20 2017
,
Aug 21 2017
Your bug is tagged as Release block Stable. M62 is branching soon and we will be taking only CRITICAL merges. Please plan accordingly.
,
Aug 21 2017
,
Aug 28 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/86bbdf613f979271a555fa02d6564e4482a6ff1f commit 86bbdf613f979271a555fa02d6564e4482a6ff1f Author: Gheorghe Comanici <gcomanici@chromium.org> Date: Mon Aug 28 17:20:33 2017 When zs provider is stopped during OAuthToken fetch, stop fetching. In the current state, if zero suggest provider is stopped while waiting for a contextual suggestion fetcher to be produced (i.e. OnContextualSuggestionsFetcherAvailable did not yet run), the Stop action is ignored and the fetch is still performed. This CL fixes this issue. Also, maybe on later requests, the fetcher doesn't attach OAuth2 tokens because the system thinks the fetcher is still running. This change makes this dependable. (If it's no longer running, make sure to delete the fetcher.) TBR=rohitrao for mechanical changes to ios/chrome/browser/autocomplete/* Bug: 751837 Change-Id: I1f84ae9658d509d2159964d05f25612e93a67305 Reviewed-on: https://chromium-review.googlesource.com/621226 Commit-Queue: Gheorghe Comanici <gcomanici@chromium.org> Reviewed-by: Mark Pearson <mpearson@chromium.org> Cr-Commit-Position: refs/heads/master@{#497785} [modify] https://crrev.com/86bbdf613f979271a555fa02d6564e4482a6ff1f/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc [modify] https://crrev.com/86bbdf613f979271a555fa02d6564e4482a6ff1f/chrome/browser/autocomplete/chrome_autocomplete_provider_client.h [modify] https://crrev.com/86bbdf613f979271a555fa02d6564e4482a6ff1f/chrome/browser/autocomplete/contextual_suggestions_service_factory.cc [modify] https://crrev.com/86bbdf613f979271a555fa02d6564e4482a6ff1f/chrome/browser/autocomplete/contextual_suggestions_service_factory.h [modify] https://crrev.com/86bbdf613f979271a555fa02d6564e4482a6ff1f/components/omnibox/browser/autocomplete_provider_client.h [modify] https://crrev.com/86bbdf613f979271a555fa02d6564e4482a6ff1f/components/omnibox/browser/contextual_suggestions_service.cc [modify] https://crrev.com/86bbdf613f979271a555fa02d6564e4482a6ff1f/components/omnibox/browser/contextual_suggestions_service.h [modify] https://crrev.com/86bbdf613f979271a555fa02d6564e4482a6ff1f/components/omnibox/browser/mock_autocomplete_provider_client.h [modify] https://crrev.com/86bbdf613f979271a555fa02d6564e4482a6ff1f/components/omnibox/browser/zero_suggest_provider.cc [modify] https://crrev.com/86bbdf613f979271a555fa02d6564e4482a6ff1f/ios/chrome/browser/autocomplete/autocomplete_provider_client_impl.cc [modify] https://crrev.com/86bbdf613f979271a555fa02d6564e4482a6ff1f/ios/chrome/browser/autocomplete/autocomplete_provider_client_impl.h
,
Aug 29 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8a50087c8ccc71c32b8544559d0841798b369c0e commit 8a50087c8ccc71c32b8544559d0841798b369c0e Author: Gheorghe Comanici <gcomanici@chromium.org> Date: Tue Aug 29 20:11:10 2017 AutocompleteClassifierFactory: Add missing dependency. This CL adds a missing dependency on ContextualSuggestionsServiceFactory. This missing dependency was causing issues with the order of destruction of services. For details see Patchset 14 below https://chromium-review.googlesource.com/c/chromium/src/+/621226/14 Bug: 751837 Change-Id: I57e03fd161d9a5a221c3ff7e768bc69d02599a33 Reviewed-on: https://chromium-review.googlesource.com/639452 Reviewed-by: Mark Pearson <mpearson@chromium.org> Commit-Queue: Gheorghe Comanici <gcomanici@chromium.org> Cr-Commit-Position: refs/heads/master@{#498213} [modify] https://crrev.com/8a50087c8ccc71c32b8544559d0841798b369c0e/chrome/browser/autocomplete/autocomplete_classifier_factory.cc
,
Aug 29 2017
,
Aug 31 2017
when dev channel gets this fix? Bug is very annoying.
,
Aug 31 2017
You can workaround this by disabling the "Experimental contextual omnibox suggestion" flag (chrome://flags) until the fix is released.
,
Sep 8 2017
Issue 761262 has been merged into this issue. |
||||
►
Sign in to add a comment |
||||
Comment 1 by mpear...@chromium.org
, Aug 2 2017