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

Issue 629424 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug-Regression

Blocking:
issue 631966



Sign in to add a comment

All of resource prefetch predictor's prefetch request are failed.

Reported by stevench...@gmail.com, Jul 19 2016

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.75 Safari/537.36

Steps to reproduce the problem:
1. Enable resource prefetch predictor through switch "--speculative-resource-prefetching=enabled".
2. Launch chrome and run.
3. Visit one page (http://www.ifeng.com) 4 tims at least.

What is the expected behavior?
Resource prefetch predictor's prefetch request should be sent successfully. And we can see the result from chrome://histograms/.

What went wrong?
There is a wrong code in function ResourcePrefetcher::ReadFullResponse.
When the request's status is IO_PENDING, it will hit the condition of 
 else if (request->status().error()) {
      FinishRequest(request, Request::PREFETCH_STATUS_FAILED);
      return;
    }
and set the request's status Request::PREFETCH_STATUS_FAILED。
Maybe we should use
    else if (!request->status().is_success()) {
      FinishRequest(request, Request::PREFETCH_STATUS_FAILED);
instead.

Did this work before? N/A 

Chrome version: 52.0.2743.75  Channel: beta
OS Version: 10.0
Flash Version: Shockwave Flash 22.0 r0
 
It's ok when Chrome's version is 50.
0001-Try-to-fix-the-Issue-629424-that-all-of-resource-pre.patch
1.7 KB Download
Cc: rnimmagadda@chromium.org
Labels: Needs-Feedback
@stevenchen20021: Could you please provide us the screen-recording explaining us the exact problem you are facing, which would help us in triaging it further.

Please have a look at the attached screen-shot and let us know if we are on the same page of understanding this issue.

Thank you.
629424.png
393 KB View Download
Thanks you for reply.
The problem is that the resource prefetch predictor is enabled but it dose not work.
The visited page www.ifeng.com is just an example. And actually the page loading is OK
but the log data about resource prefetch predictor is wrong.
The attached scree-shot below will show you the chrome://predictors/ (picture_1.png) and chrome://histograms/(picture_2.png).

picture_2.png
38.1 KB View Download
picture_1.png
116 KB View Download
Project Member

Comment 6 by sheriffbot@chromium.org, Jul 20 2016

Labels: -Needs-Feedback Needs-Review
Owner: rnimmagadda@chromium.org
Thank you for providing more feedback. Adding requester "rnimmagadda@chromium.org" for another review and adding "Needs-Review" label for tracking.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Components: Blink>Network>FetchAPI
Labels: -Needs-Review TE-NeedsfurtherTriage
Owner: ----
Could someone from the Dev team please look into this issue.

Thank you.
Components: -Blink>Network>FetchAPI Blink>Loader
Cc: lizeb@chromium.org
Components: -Blink>Loader Internals>Preload
Status: Untriaged (was: Unconfirmed)
Yes this is broken and your analysis is correct. This was old code that was re-landed without a major audit, so some bugs slipped through the cracks.

The feature is not supported right now, and there are probably other bugs in it :( Adding lizeb@, who expressed interest in owning the feature.

This also shouldn't be loader, adding Internals>Preload.
If this code was never properly reviewed and not currently used, we should remove it so that it can get a proper review before actually landing.

Comment 11 by lizeb@chromium.org, Jul 28 2016

Blockedon: 631966
Labels: -OS-Windows
Owner: lizeb@chromium.org
Status: Assigned (was: Untriaged)

Comment 12 by lizeb@chromium.org, Jul 28 2016

Blockedon: -631966
Blocking: 631966
Project Member

Comment 13 by bugdroid1@chromium.org, Jul 29 2016

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

commit dbcaba59119dd7d4efaf71f4a0ab9e3a410b6e7c
Author: lizeb <lizeb@chromium.org>
Date: Fri Jul 29 10:52:52 2016

predictors: Don't cancel the request when IO is pending.

In resource_prefetch_predictor, when reading the response of a prefetch
request, the request is marked as failed (and aborted) when the status
is IO_PENDING. This is not intended.

BUG= 629424 

Review-Url: https://codereview.chromium.org/2188253002
Cr-Commit-Position: refs/heads/master@{#408614}

[modify] https://crrev.com/dbcaba59119dd7d4efaf71f4a0ab9e3a410b6e7c/chrome/browser/predictors/resource_prefetcher.cc

Comment 14 by lizeb@chromium.org, Jul 29 2016

Status: Fixed (was: Assigned)
stevenchen20021@gmail.com: Thank you for the help!

As was noted before, the feature is currently not supported, so don't rely on it. However, if you find bugs in it, we will gladly welcome bug reports.

Comment 15 by lizeb@chromium.org, Sep 26 2016

Blockedon: 650250

Comment 16 by lizeb@chromium.org, Sep 26 2016

Blockedon: -650250

Sign in to add a comment