New issue
Advanced search Search tips

Issue 803412 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner: ----
Closed: Mar 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug



Sign in to add a comment

Spontaneous subresource filter throttling hangings

Reported by ivafa...@gmail.com, Jan 18 2018

Issue description

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

Example URL:

Steps to reproduce the problem:
1. Wait until subresource filter starts to delete obsolete ruleset files or index new files.
2. Open the new page.
3. Page opening is throttled until obsolete files deleted.

What is the expected behavior?
Tasks not critical for user experience should not slowdown navigation.

What went wrong?
ActivationStateComputingNavigationThrottle throttles response until
AsyncDocumentSubresourceFilter get an activation state from blocking
pool task runner. This task runner:
a) Has TaskPriority::BACKGROUND priority, i.e. page opening is throttled
until some info from low priority task runner retrieved.
b) Processes obsolete ruleset files deletion and new ruleset files
indexing. I.e. page opening sometimes is throttled until obsolete files
deletion finished but does not depends on it.

Did this work before? N/A 

Chrome version: 62.0.3202.89  Channel: stable
OS Version: 10.0
Flash Version: Shockwave Flash 28.0 r0
 
Components: -Internals>Network UI>Browser>AdFilter
Status: Assigned (was: Unconfirmed)
Project Member

Comment 3 by bugdroid1@chromium.org, Jan 22 2018

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

commit 3fbda2cbb1dce3d91b95087c23888a1050eb5cda
Author: Ivan Afanasyev <ivafanas@yandex-team.ru>
Date: Mon Jan 22 21:49:12 2018

Fix spontaneous subresource filter throttling hangings.

ActivationStateComputingNavigationThrottle throttles response until
AsyncDocumentSubresourceFilter get an activation state from blocking
pool task runner. This task runner:
a) Has TaskPriority::BACKGROUND priority, i.e. page opening is throttled
until some info from low priority task runner retrieved.
b) Processes obsolete ruleset files deletion and new ruleset files
indexing. I.e. page opening sometimes is throttled until obsolete files
deletion finished but does not depends on it.

Changeset splits blocking task runner on two items:
1. Low priority background task runner for obsolete files deletion
and new rulesets indexing.
2. High priority blocking task runner for tasks that influe user
experience.

Bug:  803412 
Change-Id: Ic165012d8d2035610e06f0eaeda67d738b96caa1
Reviewed-on: https://chromium-review.googlesource.com/867041
Commit-Queue: Charlie Harrison <csharrison@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Charlie Harrison <csharrison@chromium.org>
Cr-Commit-Position: refs/heads/master@{#531011}
[modify] https://crrev.com/3fbda2cbb1dce3d91b95087c23888a1050eb5cda/chrome/browser/browser_process_impl.cc
[modify] https://crrev.com/3fbda2cbb1dce3d91b95087c23888a1050eb5cda/chrome/browser/component_updater/subresource_filter_component_installer_unittest.cc
[modify] https://crrev.com/3fbda2cbb1dce3d91b95087c23888a1050eb5cda/chrome/browser/subresource_filter/subresource_filter_test_harness.cc
[modify] https://crrev.com/3fbda2cbb1dce3d91b95087c23888a1050eb5cda/components/subresource_filter/core/browser/ruleset_service.cc
[modify] https://crrev.com/3fbda2cbb1dce3d91b95087c23888a1050eb5cda/components/subresource_filter/core/browser/ruleset_service.h
[modify] https://crrev.com/3fbda2cbb1dce3d91b95087c23888a1050eb5cda/components/subresource_filter/core/browser/ruleset_service_unittest.cc

Status: Fixed (was: Assigned)
Should be fixed

Sign in to add a comment