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

Issue 845772 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 3
Type: Bug



Sign in to add a comment

NetworkService: Quic isn't re-diabled on service restart.

Project Member Reported by mmenke@chromium.org, May 23 2018

Issue description

When the network service restarts due to a crash, I believe QUIC isn't re-disabled if it was disabled before.

This probably doesn't need to block Canary.  I need to add a method for content to tell chrome the network service is being restarted, anyways, so I can just put the necessary logic in there.
 

Comment 1 by chongz@chromium.org, May 23 2018

Right, I didn't do any recovery for Network Service's state. Thanks for the catch!

I'd imagine a hook inside |network_service_instance.cc::GetNetworkService()| to be sufficient:
https://cs.chromium.org/chromium/src/content/browser/network_service_instance.cc?rcl=1aa78e0111c32de48ed588a71f7faa4cb83d043f&l=45

Comment 2 by mmenke@chromium.org, May 23 2018

Except content doesn't know if QUIC was disabled or not, only Chrome and the NetworkService did.  I'm planning on adding a call to ContentBrowserClient, and have that call into SystemNetworkContextManager (Which will need to re-create the system network context, before any other NEtworkContext is created, due to some globals for cert fetching).  Can just have it track QUIC state, too.

Comment 3 by mmenke@chromium.org, May 23 2018

Status: Started (was: Assigned)
Oops...I was (partially) wrong about this.  Looks like we do already support this, though there will be a window when QUIC is enabled in the re-created service (It will be re-disabled when we re-created the SystemURLRequestContext, but there's no gauranty when that will be).  I don't think I'll need to land another CL to fix this, will just fix it while I'm making sure the SystemURLrequestContext is created first..

Comment 4 by dxie@chromium.org, May 29 2018

Labels: Proj-Servicification-Canary
Project Member

Comment 5 by bugdroid1@chromium.org, Jun 2 2018

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

commit ae4fdb1c1ff92a8d6ea3ef586097e0428848d56b
Author: Matt Menke <mmenke@chromium.org>
Date: Sat Jun 02 06:32:54 2018

NetworkService: Hook up global cert fetchers.

Add a parameter to NetworkContextParams that, when set, causes the
NetworkContext to call SetGlobalCertNetFetcher /
SetURLRequestContextForNSSHttpIO on its URLRequestContext.

Since the URLRequestContext used to fetch certs must be created first
and destroyed last, this CL also refactors NetworkContext lifetime and
ownership so that the NetworkService can enforce that constraint,
and makes sure that the SystemNetworkContext is created before any
others.

This CL also incidentally fixes  issue 845772 , which is than when the
NetworkService is restarted and QUIC was disabled previously, QUIC
wouldn't be re-disabled until the SystemNetworkContext was re-created.

Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo
Change-Id: Ie56241c514337f28dfc41faba407580360814b11
Bug: 	 845939 ,  845772 
Reviewed-on: https://chromium-review.googlesource.com/1067959
Commit-Queue: Matt Menke <mmenke@chromium.org>
Reviewed-by: Emily Stark <estark@chromium.org>
Reviewed-by: Eric Roman <eroman@chromium.org>
Reviewed-by: John Budorick <jbudorick@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Helen Li <xunjieli@chromium.org>
Cr-Commit-Position: refs/heads/master@{#563933}
[modify] https://crrev.com/ae4fdb1c1ff92a8d6ea3ef586097e0428848d56b/build/android/pylib/local/device/local_device_gtest_run.py
[modify] https://crrev.com/ae4fdb1c1ff92a8d6ea3ef586097e0428848d56b/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/ae4fdb1c1ff92a8d6ea3ef586097e0428848d56b/chrome/browser/chrome_content_browser_client.h
[modify] https://crrev.com/ae4fdb1c1ff92a8d6ea3ef586097e0428848d56b/chrome/browser/io_thread.cc
[modify] https://crrev.com/ae4fdb1c1ff92a8d6ea3ef586097e0428848d56b/chrome/browser/net/profile_network_context_service.cc
[modify] https://crrev.com/ae4fdb1c1ff92a8d6ea3ef586097e0428848d56b/chrome/browser/net/system_network_context_manager.cc
[modify] https://crrev.com/ae4fdb1c1ff92a8d6ea3ef586097e0428848d56b/chrome/browser/net/system_network_context_manager.h
[modify] https://crrev.com/ae4fdb1c1ff92a8d6ea3ef586097e0428848d56b/content/browser/network_service_instance.cc
[modify] https://crrev.com/ae4fdb1c1ff92a8d6ea3ef586097e0428848d56b/content/public/browser/content_browser_client.cc
[modify] https://crrev.com/ae4fdb1c1ff92a8d6ea3ef586097e0428848d56b/content/public/browser/content_browser_client.h
[modify] https://crrev.com/ae4fdb1c1ff92a8d6ea3ef586097e0428848d56b/services/network/BUILD.gn
[modify] https://crrev.com/ae4fdb1c1ff92a8d6ea3ef586097e0428848d56b/services/network/network_context.cc
[modify] https://crrev.com/ae4fdb1c1ff92a8d6ea3ef586097e0428848d56b/services/network/network_context.h
[modify] https://crrev.com/ae4fdb1c1ff92a8d6ea3ef586097e0428848d56b/services/network/network_service.cc
[modify] https://crrev.com/ae4fdb1c1ff92a8d6ea3ef586097e0428848d56b/services/network/network_service.h
[modify] https://crrev.com/ae4fdb1c1ff92a8d6ea3ef586097e0428848d56b/services/network/network_service_unittest.cc
[modify] https://crrev.com/ae4fdb1c1ff92a8d6ea3ef586097e0428848d56b/services/network/public/mojom/network_context.mojom
[modify] https://crrev.com/ae4fdb1c1ff92a8d6ea3ef586097e0428848d56b/testing/buildbot/filters/mojo.fyi.network_browser_tests.filter

Status: Assigned (was: Started)
This should be fixed, but keeping this open as a reminder to add a test for it.

Comment 7 by dxie@chromium.org, Jun 8 2018

Labels: OS-Chrome OS-Windows OS-Mac OS-Linux
Project Member

Comment 8 by bugdroid1@chromium.org, Jun 12 2018

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

commit 7c6443c7a6153d1d40cb54b7361b730b0d0890e4
Author: Matt Menke <mmenke@chromium.org>
Date: Tue Jun 12 19:00:56 2018

NetworkService + Policy: Add QUIC network service crash tests.

Previously, on network service crash, QUIC was only being re-disabled
on the first use of the system NetworkContext. This was incidentally
fixed in https://chromium-review.googlesource.com/1067959. This CL adds
policy browser tests for that case to protect against regression.

Bug:  845772 
Change-Id: Ie0e0afa02d36807288f56f75782c94d4c1f8ca78
Reviewed-on: https://chromium-review.googlesource.com/1087408
Reviewed-by: Ryan Hamilton <rch@chromium.org>
Reviewed-by: Martin Šrámek <msramek@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Commit-Queue: Matt Menke <mmenke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#566521}
[modify] https://crrev.com/7c6443c7a6153d1d40cb54b7361b730b0d0890e4/chrome/browser/browsing_data/browsing_data_remover_browsertest.cc
[modify] https://crrev.com/7c6443c7a6153d1d40cb54b7361b730b0d0890e4/chrome/browser/net/network_context_configuration_browsertest.cc
[modify] https://crrev.com/7c6443c7a6153d1d40cb54b7361b730b0d0890e4/chrome/browser/policy/policy_network_browsertest.cc
[modify] https://crrev.com/7c6443c7a6153d1d40cb54b7361b730b0d0890e4/content/browser/loader/loader_browsertest.cc
[modify] https://crrev.com/7c6443c7a6153d1d40cb54b7361b730b0d0890e4/content/public/test/browser_test_base.cc
[modify] https://crrev.com/7c6443c7a6153d1d40cb54b7361b730b0d0890e4/content/public/test/browser_test_base.h
[modify] https://crrev.com/7c6443c7a6153d1d40cb54b7361b730b0d0890e4/content/public/test/browser_test_utils.cc
[modify] https://crrev.com/7c6443c7a6153d1d40cb54b7361b730b0d0890e4/content/public/test/browser_test_utils.h
[modify] https://crrev.com/7c6443c7a6153d1d40cb54b7361b730b0d0890e4/net/dns/mock_host_resolver.cc

Comment 9 by mmenke@chromium.org, Jun 12 2018

Status: Fixed (was: Assigned)

Sign in to add a comment