New issue
Advanced search Search tips

Issue 739739 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 736658



Sign in to add a comment

NavigationThrottles added twice to a single navigation (non-PlzNavigate)

Project Member Reported by csharrison@chromium.org, Jul 6 2017

Issue description

Cc: mmenke@chromium.org
I wonder if what is happening is:

1. Navigation n_1 starts.
2. CheckWillStart is posted to UI thread to RenderFrame F for n_1
3. F cancels n_1 and starts n_2.
4. The task posted in (1) runs, but finds n_2 instead of n_1. I didn't look too closely but I don't think anything horrible will explode here, maybe just Resume() is called on the underlying ResourceThrottle prematurely.
5. n_2 has CheckWillStart called normally

The above is tentative, and I don't know enough about this stack to know if steps (3) and (4) are something that will actually happen.

One idea to fix this would be to introduce the unique navigation_id, which we've talked about before.

+mmenke FYI for interactions with loader stack.

Comment 2 by clamy@chromium.org, Jul 6 2017

As far as I can see, this is a non-PlzNavigate only bug. Considering that we're supposed to ship PlzNavigate in M60, I think I will just do a simple fix so that it stops crashing on Canary when PlzNavigate isn't enabled.
Yeah doing something simple SGTM, given that this behavior has probably been around for a while without causing lots of problems.

How likely is an M60 launch for PlzNavigate? That's very exciting!

Comment 4 by clamy@chromium.org, Jul 6 2017

I think it's quite likely. Well we just had a blocker pop up today, but all other ones have been resolved. Hopefully it can be fixed easily. If it doesn't, we should still be able to launch on M61.
Project Member

Comment 5 by bugdroid1@chromium.org, Jul 6 2017

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

commit 55398af747a91e1d9fdd92b66f0b311ef084ae53
Author: clamy <clamy@chromium.org>
Date: Thu Jul 06 16:38:05 2017

Make sure NavigationHandleImpl::WillStartRequest only executes once

This CL ensures that NavigationHandleImpl::WillStartRequest will only
execute once. We've been seeing reports from the field where it seems
it can sometimes execute twice (without PlzNavigate).

BUG=736658,  739739 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

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

[modify] https://crrev.com/55398af747a91e1d9fdd92b66f0b311ef084ae53/content/browser/frame_host/navigation_handle_impl.cc

Status: Fixed (was: Assigned)

Sign in to add a comment