Precache fetcher pool should enqueue urls to be fetched |
||||||||||
Issue descriptionDCHECK failure during manifest fetch, when there are more than 10 manifests/resources queued to be fetched. Happens if more than one top hosts are received. FetcherPool should accept arbitrary number of URLs to be fetched and add to its queue. It should impose a maximum limit on the number of ongoing parallel fetches. It should start fetching queued URLs when ongoing fetch completes. https://code.google.com/p/chromium/codesearch#chromium/src/components/precache/core/precache_fetcher.cc&l=353 04-22 17:57:48.620 32401-32401/com.google.android.apps.chrome V/cr_Precache: [PrecacheController.java:328] precache task (precache) started 04-22 17:57:48.621 32401-32401/com.google.android.apps.chrome W/cr_PRECACHE: isPrecachingEnabled true 04-22 17:57:48.623 32401-32401/com.google.android.apps.chrome V/cr_Precache: [PrecacheController.java:187] canceling a precache completion task 04-22 17:57:48.648 32401-32401/com.google.android.apps.chrome V/cr_Precache: [PrecacheController.java:348] precache session has started 04-22 17:57:48.648 32401-32401/com.google.android.apps.chrome V/cr_Precache: [PrecacheController.java:389] registered device state receiver 04-22 17:57:48.650 32401-32401/com.google.android.apps.chrome V/cr_Precache: [PrecacheController.java:400] acquiring wake lock 04-22 17:57:48.652 32401-32401/com.google.android.apps.chrome W/cr_PRECACHE: start 04-22 17:57:48.652 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_launcher.cc(57)] PRECACHE Start 04-22 17:57:48.652 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_manager.cc(122)] PrecacheManager::StartPrecaching 04-22 17:57:48.652 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_manager.cc(102)] PRECACHE PrecachingAllowed 04-22 17:57:48.653 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_manager.cc(112)] PRECACHE PrecachingAllowed ALLOWED 04-22 17:57:48.653 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_manager.cc(135)] PrecacheManager::StartPrecaching IsInExperimentGroup 04-22 17:57:48.662 32401-32401/com.google.android.apps.chrome V/cr_Precache: [PrecacheController.java:97] conditions changed: precaching(true), powered(true), unmetered(true) 04-22 17:57:48.667 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_manager.cc(294)] PrecacheManager top host yahoo.com 04-22 17:57:48.667 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_manager.cc(294)] PrecacheManager top host en.m.wikipedia.org 04-22 17:57:48.668 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(286)] PrecacheFetcher() 04-22 17:57:48.668 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(326)] PrecacheFetcher::Start https://www.gstatic.com/chrome/wifiprefetch/precache_config 04-22 17:57:48.668 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(332)] Fetching https://www.gstatic.com/chrome/wifiprefetch/precache_config 04-22 17:57:48.668 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(167)] PrecacheFetcher::Fetcher https://www.gstatic.com/chrome/wifiprefetch/precache_config 2147483647 04-22 17:57:48.668 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(189)] PrecacheFetcher::LoadFromNetwork 04-22 17:57:48.804 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_manager.cc(102)] PRECACHE PrecachingAllowed 04-22 17:57:48.804 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_manager.cc(112)] PRECACHE PrecachingAllowed ALLOWED 04-22 17:57:48.807 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(396)] PrecacheFetcher::OnConfigFetchComplete 04-22 17:57:48.807 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(472)] PrecacheFetcher::UpdateStats 4 234 04-22 17:57:48.807 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(367)] StartNextManifestFetch https://www.gstatic.com/chrome/wifiprefetch/hosts/yahoo.com 04-22 17:57:48.807 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(167)] PrecacheFetcher::Fetcher https://www.gstatic.com/chrome/wifiprefetch/hosts/yahoo.com 2147483647 04-22 17:57:48.807 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(189)] PrecacheFetcher::LoadFromNetwork 04-22 17:57:48.908 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_manager.cc(102)] PRECACHE PrecachingAllowed 04-22 17:57:48.909 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_manager.cc(112)] PRECACHE PrecachingAllowed ALLOWED 04-22 17:57:48.912 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(439)] PrecacheFetcher::OnManifestFetchComplete 04-22 17:57:48.912 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(472)] PrecacheFetcher::UpdateStats 2939 3005 04-22 17:57:48.915 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(346)] StartNextResourceFetch https://s.yimg.com/kx/yucs/uh3s/promo-ff/1/images/ff_icon-compressed.png 04-22 17:57:48.915 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(167)] PrecacheFetcher::Fetcher https://s.yimg.com/kx/yucs/uh3s/promo-ff/1/images/ff_icon-compressed.png 500000 04-22 17:57:48.915 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(177)] PrecacheFetcher::LoadFromCache 04-22 17:57:48.915 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(346)] StartNextResourceFetch https://s.yimg.com/rq/darla/2-9-9/js/g-r-min.js 04-22 17:57:48.915 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(167)] PrecacheFetcher::Fetcher https://s.yimg.com/rq/darla/2-9-9/js/g-r-min.js 500000 04-22 17:57:48.916 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(177)] PrecacheFetcher::LoadFromCache 04-22 17:57:48.922 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(346)] StartNextResourceFetch https://s.yimg.com/os/yc/pt/icons/fuji-loader-v2-blue.0.svg 04-22 17:57:48.922 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(167)] PrecacheFetcher::Fetcher https://s.yimg.com/os/yc/pt/icons/fuji-loader-v2-blue.0.svg 500000 04-22 17:57:48.922 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(177)] PrecacheFetcher::LoadFromCache 04-22 17:57:48.923 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(346)] StartNextResourceFetch https://s.yimg.com/zz/combo?ss/rapid-3.29.1.js 04-22 17:57:48.923 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(167)] PrecacheFetcher::Fetcher https://s.yimg.com/zz/combo?ss/rapid-3.29.1.js 500000 04-22 17:57:48.923 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(177)] PrecacheFetcher::LoadFromCache 04-22 17:57:48.923 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(346)] StartNextResourceFetch https://www.yahoo.com/polyfill.min.js?features=locale-data-en-us%2Carray.isarray%2Carray.prototype.every%2Carray.prototype.foreach%2Carray.prototype.indexof%2Carray.prototype.map%2Cdate.now%2Cfunction.prototype.bind%2Cobject.keys%2Cstring.prototype.trim%2Cobject.defineproperty%2Cobject.defineproperties%2Cobject.create%2Cobject.freeze%2Carray.prototype.filter%2Carray.prototype.reduce%2Cobject.assign%2Cpromise%2Crequestanimationframe%2Carray.prototype.some%2Cobject.getownpropertynames%2Cintl&version=2.1.22 04-22 17:57:48.923 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(167)] PrecacheFetcher::Fetcher https://www.yahoo.com/polyfill.min.js?features=locale-data-en-us%2Carray.isarray%2Carray.prototype.every%2Carray.prototype.foreach%2Carray.prototype.indexof%2Carray.prototype.map%2Cdate.now%2Cfunction.prototype.bind%2Cobject.keys%2Cstring.prototype.trim%2Cobject.defineproperty%2Cobject.defineproperties%2Cobject.create%2Cobject.freeze%2Carray.prototype.filter%2Carray.prototype.reduce%2Cobject.assign%2Cpromise%2Crequestanimationframe%2Carray.prototype.some%2Cobject.getownpropertynames%2Cintl&version=2.1.22 500000 04-22 17:57:48.924 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(177)] PrecacheFetcher::LoadFromCache 04-22 17:57:48.924 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(346)] StartNextResourceFetch https://s.yimg.com/os/ri/2.0.1/en.js 04-22 17:57:48.924 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(167)] PrecacheFetcher::Fetcher https://s.yimg.com/os/ri/2.0.1/en.js 500000 04-22 17:57:48.924 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(177)] PrecacheFetcher::LoadFromCache 04-22 17:57:48.924 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(346)] StartNextResourceFetch https://s.yimg.com/cd/assets/chartbeat_yahoo.js 04-22 17:57:48.924 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(167)] PrecacheFetcher::Fetcher https://s.yimg.com/cd/assets/chartbeat_yahoo.js 500000 04-22 17:57:48.924 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(177)] PrecacheFetcher::LoadFromCache 04-22 17:57:48.925 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(346)] StartNextResourceFetch https://s.yimg.com/zz/combo?os/yc/css/custom.1cd617b3.css&os/yc/css/bundle.acd0f425.css&os/yc/css/atomic-desktop-ltr.67170596.css&os/yc/css/atomic-context.555c7f3b.css&os/yc/css/patch.cd698090.css&os/yc/css/theme.ebdc52e6.css&os/fuji-style/css/fuji-rollup.min.846205e3.css&os/yc/css/content-canvas.67e84b7e.css 04-22 17:57:48.925 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(167)] PrecacheFetcher::Fetcher https://s.yimg.com/zz/combo?os/yc/css/custom.1cd617b3.css&os/yc/css/bundle.acd0f425.css&os/yc/css/atomic-desktop-ltr.67170596.css&os/yc/css/atomic-context.555c7f3b.css&os/yc/css/patch.cd698090.css&os/yc/css/theme.ebdc52e6.css&os/fuji-style/css/fuji-rollup.min.846205e3.css&os/yc/css/content-canvas.67e84b7e.css 500000 04-22 17:57:48.925 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(177)] PrecacheFetcher::LoadFromCache 04-22 17:57:48.926 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(346)] StartNextResourceFetch https://s.yimg.com/zz/combo?os/yaft/yaft-0.3.6.min.js&os/yaft/yaft-plugin-aftnoad-0.1.3.min.js&os/yc/js/main.2055099a8788d20567e0.min.js 04-22 17:57:48.926 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(167)] PrecacheFetcher::Fetcher https://s.yimg.com/zz/combo?os/yaft/yaft-0.3.6.min.js&os/yaft/yaft-plugin-aftnoad-0.1.3.min.js&os/yc/js/main.2055099a8788d20567e0.min.js 500000 04-22 17:57:48.926 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(177)] PrecacheFetcher::LoadFromCache 04-22 17:57:48.929 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(346)] StartNextResourceFetch https://s.yimg.com/os/yc/js/9.2055099a8788d20567e0.min.js 04-22 17:57:48.930 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(167)] PrecacheFetcher::Fetcher https://s.yimg.com/os/yc/js/9.2055099a8788d20567e0.min.js 500000 04-22 17:57:48.931 32401-32401/com.google.android.apps.chrome E/chromium: [ERROR:precache_fetcher.cc(177)] PrecacheFetcher::LoadFromCache 04-22 17:57:48.990 32401-32401/com.google.android.apps.chrome A/chromium: [FATAL:precache_fetcher.cc(363)] Check failed: pool_.IsAvailable(). There are no available parallel requests to fetch the next manifest. Did you forget to call Delete? #00 0x868cfc9d /data/app/com.google.android.apps.chrome-2/lib/arm/libchrome.so+0x0028dc9d #01 0x88dac441 /data/app/com.google.android.apps.chrome-2/lib/arm/libchrome.so+0x0276a441 #02 0x88dac581 /data/app/com.google.android.apps.chrome-2/lib/arm/libchrome.so+0x0276a581 #03 0x88dad057 /data/app/com.google.android.apps.chrome-2/lib/arm/libchrome.so+0x0276b057 #04 0x88daba6b /data/app/com.google.android.apps.chrome-2/lib/arm/libchrome.so+0x02769a6b #05 0x86a26817 /data/app/com.google.android.apps.chrome-2/lib/arm/libchrome.so+0x003e4817 #06 0x86a267ab /data/app/com.google.android.apps.chrome-2/lib/arm/libchrome.so+0x003e47ab #07 0x86a7af27 /data/app/com.google.android.apps.chrome-2/lib/arm/libchrome.so+0x00438f27 #08 0x86a7ad43 /data/app/com.google.android.apps.chrome-2/lib/arm/libchrome.so+0x00438d43 #09 0x86a7ab81 /data/app/com.google.android.apps.chrome-2/lib/arm/libchrome.so+0x00438b81 #10 0x86a7aa4d /data/app/com.google.android.apps.chrome-2/lib/arm/libchrome.so+0x00438a4d #11 0x8690917f /data/app/com.google.android.apps.chrome-2/lib/arm/libchrome.so+0x002c717f #12 0xa06138d5 /data/app/com.google.android.apps.chrome-2/oat/arm/base.odex+0x00fd18d5
,
Apr 25 2016
,
Apr 25 2016
,
Jun 1 2016
Moving this nonessential bug to the next milestone. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jun 2 2016
The code functions, but this DCHECK issue should be fixed.
,
Jun 2 2016
It looks like a real bug that we should fix for M-52. We should not add a manifest if the pool is full. i.e., we should return early if the pool is already full here: https://code.google.com/p/chromium/codesearch#chromium/src/components/precache/core/precache_fetcher.cc&l=407
,
Jun 2 2016
,
Jun 12 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b2754f713e984d267353ce00d8a9e5ff6a6fafae commit b2754f713e984d267353ce00d8a9e5ff6a6fafae Author: rajendrant <rajendrant@chromium.org> Date: Sun Jun 12 04:44:27 2016 Precache manifest should not be added to fetcher pool which is full Fetcher pool accepts limited number of requests which are fetched in parallel. If the pool is full, precache manifest resources should not be added to it. BUG= 606231 Review-Url: https://codereview.chromium.org/2037903002 Cr-Commit-Position: refs/heads/master@{#399387} [modify] https://crrev.com/b2754f713e984d267353ce00d8a9e5ff6a6fafae/components/precache/core/fetcher_pool.h [modify] https://crrev.com/b2754f713e984d267353ce00d8a9e5ff6a6fafae/components/precache/core/precache_fetcher.cc [modify] https://crrev.com/b2754f713e984d267353ce00d8a9e5ff6a6fafae/components/precache/core/precache_fetcher.h [modify] https://crrev.com/b2754f713e984d267353ce00d8a9e5ff6a6fafae/components/precache/core/precache_fetcher_unittest.cc
,
Jun 15 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b2754f713e984d267353ce00d8a9e5ff6a6fafae commit b2754f713e984d267353ce00d8a9e5ff6a6fafae Author: rajendrant <rajendrant@chromium.org> Date: Sun Jun 12 04:44:27 2016 Precache manifest should not be added to fetcher pool which is full Fetcher pool accepts limited number of requests which are fetched in parallel. If the pool is full, precache manifest resources should not be added to it. BUG= 606231 Review-Url: https://codereview.chromium.org/2037903002 Cr-Commit-Position: refs/heads/master@{#399387} [modify] https://crrev.com/b2754f713e984d267353ce00d8a9e5ff6a6fafae/components/precache/core/fetcher_pool.h [modify] https://crrev.com/b2754f713e984d267353ce00d8a9e5ff6a6fafae/components/precache/core/precache_fetcher.cc [modify] https://crrev.com/b2754f713e984d267353ce00d8a9e5ff6a6fafae/components/precache/core/precache_fetcher.h [modify] https://crrev.com/b2754f713e984d267353ce00d8a9e5ff6a6fafae/components/precache/core/precache_fetcher_unittest.cc
,
Jun 28 2016
,
Jun 28 2016
Your change meets the bar and is auto-approved for M52 (branch: 2743)
,
Jun 30 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ad72f670be610f05a71251b012dd47d9e32c53a5 commit ad72f670be610f05a71251b012dd47d9e32c53a5 Author: Tarun Bansal <tbansal@google.com> Date: Thu Jun 30 20:44:13 2016 Precache manifest should not be added to fetcher pool which is full Fetcher pool accepts limited number of requests which are fetched in parallel. If the pool is full, precache manifest resources should not be added to it. BUG= 606231 Review-Url: https://codereview.chromium.org/2037903002 Cr-Commit-Position: refs/heads/master@{#399387} (cherry picked from commit b2754f713e984d267353ce00d8a9e5ff6a6fafae) Review URL: https://codereview.chromium.org/2119673002 . Cr-Commit-Position: refs/branch-heads/2743@{#555} Cr-Branched-From: 2b3ae3b8090361f8af5a611712fc1a5ab2de53cb-refs/heads/master@{#394939} [modify] https://crrev.com/ad72f670be610f05a71251b012dd47d9e32c53a5/components/precache/core/fetcher_pool.h [modify] https://crrev.com/ad72f670be610f05a71251b012dd47d9e32c53a5/components/precache/core/precache_fetcher.cc [modify] https://crrev.com/ad72f670be610f05a71251b012dd47d9e32c53a5/components/precache/core/precache_fetcher.h [modify] https://crrev.com/ad72f670be610f05a71251b012dd47d9e32c53a5/components/precache/core/precache_fetcher_unittest.cc
,
Jun 30 2016
|
||||||||||
►
Sign in to add a comment |
||||||||||
Comment 1 by rajendrant@chromium.org
, Apr 25 2016