NOSTATE_PREFETCH_FINISHED seen for offline namespace prerender requests |
|||||
Issue descriptionFrom Prerender.offline_FinalStatus UMA on Latest Canary (12/12/16), we are seeing high percentage of NOSTATE_PREFETCH_FINISHED for the "offline" namespace. Seems like a bug if NOSTATE_PREFETCH is intersecting with "offline" namespace prerenders. Are they benign? It does not look like they are benign to us from prerender_contents->Destroy() here: https://cs.chromium.org/chromium/src/chrome/browser/prerender/prerender_message_filter.cc?rcl=1481631594&l=146 if that can happen before we are done with the WebContents. PrerenderFinalStatus PDF TIMED_OUT 00.28% AUTH_NEEDED 00.14% RENDERER_CRASHED 00.14% UNSUPPORTED_SCHEME 31.35% CANCELLED 45.86% OPEN_URL 00.14% CREATING_AUDIO_STREAM 00.14% NEW_NAVIGATION_ENTRY 01.93% NOSTATE_PREFETCH_FINISHED 20.03%
,
Dec 14 2016
the fix would be easy to do in AddPrerender. It also leads me into thinking that we should not maintain prefetches_ for ORIGIN_OFFLINE. droger: WDYT?
,
Dec 14 2016
,
Dec 15 2016
This is indeed likely caused by the Finch experiment. Why is this a bug though?
,
Dec 15 2016
https://cs.chromium.org/chromium/src/chrome/browser/prerender/prerender_manager.cc?rcl=0&l=966 It seems like if we added an ORIGIN_OFFLINE check at the above line the problem might be fixed? I think it's a bug because the experiment switches off offline rendering and so breaks offline.
,
Dec 15 2016
Also, ORIGIN_EXTERNAL_REQUEST_FORCED_CELLULAR should be excluded. We won't be able to swap NoStatePrefetch in place of it easily, so there is no point of running this experiment.
,
Dec 15 2016
,
Dec 15 2016
Re: why is this bug though? The ORIGIN_OFFLINE use case needs a rendered WebContents to archive the page into MHTML for later use offline. This is used by new Chrome Downloads action. It is not a performance use case, it is a feature use case of the prerenderer.
,
Dec 16 2016
CL ready: https://codereview.chromium.org/2580753005/ Not sure when it'll land though, since I'll be OOO until January.
,
Dec 16 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0145a58dcc272c1d55f51c3676261e65d5c37394 commit 0145a58dcc272c1d55f51c3676261e65d5c37394 Author: droger <droger@chromium.org> Date: Fri Dec 16 17:33:57 2016 Disable No-State prefetch for offline origins. BUG= 674181 Review-Url: https://codereview.chromium.org/2580753005 Cr-Commit-Position: refs/heads/master@{#439135} [modify] https://crrev.com/0145a58dcc272c1d55f51c3676261e65d5c37394/chrome/browser/prerender/prerender_manager.cc [modify] https://crrev.com/0145a58dcc272c1d55f51c3676261e65d5c37394/chrome/browser/prerender/prerender_manager.h [modify] https://crrev.com/0145a58dcc272c1d55f51c3676261e65d5c37394/chrome/browser/prerender/prerender_unittest.cc
,
Dec 16 2016
|
|||||
►
Sign in to add a comment |
|||||
Comment 1 by pasko@chromium.org
, Dec 14 2016Owner: droger@chromium.org
Status: Assigned (was: Untriaged)