Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(71)

Issue 1562593002: Fix potential crashes in NetworkHandler code (Closed)

Created:
4 years, 11 months ago by stevenjb
Modified:
4 years, 11 months ago
Reviewers:
oshima, sky
CC:
chromium-reviews, stevenjb+watch_chromium.org, oshima+watch_chromium.org, davemoore+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@test
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix potential crashes in NetworkHandler code This CL: * Properly removes NetworkConnectionHandler observer in ~AutoConnectHandler. * Checks observer lists in NetworkHandler classes on shutdown (to catch any future regressions). * Destroys ProxyConfigServiceImpl owned by IOThread before NetworkHandler is destroyed to remove the NetworkStateHandler observer. BUG=572914 For chrome/browser/extensions/api/vpn_provider/vpn_provider_apitest.cc: TBR=rdevlin.cronin@chromium.org Committed: https://crrev.com/bbbd48b2dc5bbde2472eafe4319f29937e3b7de6 Cr-Commit-Position: refs/heads/master@{#368118}

Patch Set 1 #

Total comments: 12

Patch Set 2 : Feedback + fix tests #

Patch Set 3 : Fix unit tests #

Patch Set 4 : Use NetworkStateHanlerObserver::IsShuttingDown instead #

Total comments: 4

Patch Set 5 : Call NetworkStateHandler::Shutdown in destructor for unit tests #

Total comments: 8

Patch Set 6 : Comment Shutdown #

Patch Set 7 : IsShuttingDown -> OnShuttingDown #

Unified diffs Side-by-side diffs Delta from patch set Stats (+79 lines, -28 lines) Patch
M chrome/browser/chromeos/login/screens/network_screen.cc View 1 1 chunk +3 lines, -0 lines 0 comments Download
M chrome/browser/chromeos/mobile/mobile_activator_unittest.cc View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/chromeos/proxy_config_service_impl.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/chromeos/proxy_config_service_impl.cc View 1 2 3 4 5 6 2 chunks +10 lines, -0 lines 0 comments Download
M chrome/browser/extensions/api/vpn_provider/vpn_provider_apitest.cc View 1 2 chunks +11 lines, -1 line 0 comments Download
M chromeos/network/auto_connect_handler.cc View 1 chunk +4 lines, -2 lines 0 comments Download
M chromeos/network/client_cert_resolver.h View 1 chunk +1 line, -1 line 0 comments Download
M chromeos/network/host_resolver_impl_chromeos.cc View 1 2 3 4 5 6 2 chunks +2 lines, -2 lines 0 comments Download
M chromeos/network/managed_network_configuration_handler_impl.h View 1 chunk +1 line, -1 line 0 comments Download
M chromeos/network/network_configuration_handler.h View 1 chunk +1 line, -1 line 0 comments Download
M chromeos/network/network_connection_handler.h View 1 chunk +1 line, -1 line 0 comments Download
M chromeos/network/network_handler.cc View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M chromeos/network/network_profile_handler.h View 1 chunk +1 line, -1 line 0 comments Download
M chromeos/network/network_sms_handler.h View 2 chunks +2 lines, -2 lines 0 comments Download
M chromeos/network/network_sms_handler_unittest.cc View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M chromeos/network/network_state_handler.h View 1 2 3 4 3 chunks +9 lines, -2 lines 0 comments Download
M chromeos/network/network_state_handler.cc View 1 2 3 4 5 6 2 chunks +27 lines, -11 lines 0 comments Download
M chromeos/network/network_state_handler_observer.h View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M chromeos/network/network_state_handler_observer.cc View 1 2 3 4 5 6 1 chunk +1 line, -2 lines 0 comments Download

Messages

Total messages: 44 (16 generated)
stevenjb
sky@ for chrome/ owner https://codereview.chromium.org/1562593002/diff/1/chrome/browser/chrome_browser_main.h File chrome/browser/chrome_browser_main.h (right): https://codereview.chromium.org/1562593002/diff/1/chrome/browser/chrome_browser_main.h#newcode101 chrome/browser/chrome_browser_main.h:101: BrowserProcessImpl* browser_process() { return browser_process_.get(); ...
4 years, 11 months ago (2016-01-05 22:26:38 UTC) #2
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1562593002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1562593002/1
4 years, 11 months ago (2016-01-05 22:28:00 UTC) #4
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: chromeos_daisy_chromium_compile_only_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_daisy_chromium_compile_only_ng/builds/75675) chromeos_x86-generic_chromium_compile_only_ng on ...
4 years, 11 months ago (2016-01-05 22:49:36 UTC) #6
oshima
can you look into test failures? https://codereview.chromium.org/1562593002/diff/1/chromeos/network/network_state_handler.cc File chromeos/network/network_state_handler.cc (right): https://codereview.chromium.org/1562593002/diff/1/chromeos/network/network_state_handler.cc#newcode99 chromeos/network/network_state_handler.cc:99: (int64_t)observer)); %p ? ...
4 years, 11 months ago (2016-01-05 23:14:36 UTC) #7
sky
https://codereview.chromium.org/1562593002/diff/1/chrome/browser/chrome_browser_main.h File chrome/browser/chrome_browser_main.h (right): https://codereview.chromium.org/1562593002/diff/1/chrome/browser/chrome_browser_main.h#newcode101 chrome/browser/chrome_browser_main.h:101: BrowserProcessImpl* browser_process() { return browser_process_.get(); } On 2016/01/05 22:26:37, ...
4 years, 11 months ago (2016-01-05 23:17:11 UTC) #8
stevenjb
PTAL https://codereview.chromium.org/1562593002/diff/1/chrome/browser/chrome_browser_main.h File chrome/browser/chrome_browser_main.h (right): https://codereview.chromium.org/1562593002/diff/1/chrome/browser/chrome_browser_main.h#newcode101 chrome/browser/chrome_browser_main.h:101: BrowserProcessImpl* browser_process() { return browser_process_.get(); } On 2016/01/05 ...
4 years, 11 months ago (2016-01-06 00:43:04 UTC) #10
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1562593002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1562593002/40001
4 years, 11 months ago (2016-01-06 00:44:32 UTC) #12
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: win_chromium_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/155426)
4 years, 11 months ago (2016-01-06 01:35:55 UTC) #14
oshima
there are still test failures. can you look into them?
4 years, 11 months ago (2016-01-06 08:01:33 UTC) #15
sky
https://codereview.chromium.org/1562593002/diff/1/chrome/browser/chromeos/chrome_browser_main_chromeos.cc File chrome/browser/chromeos/chrome_browser_main_chromeos.cc (right): https://codereview.chromium.org/1562593002/diff/1/chrome/browser/chromeos/chrome_browser_main_chromeos.cc#newcode830 chrome/browser/chromeos/chrome_browser_main_chromeos.cc:830: browser_process()->io_thread()->ShutdownPrefProxyConfigTracker(); On 2016/01/06 00:43:04, stevenjb wrote: > On 2016/01/05 ...
4 years, 11 months ago (2016-01-06 16:30:38 UTC) #16
stevenjb
On 2016/01/06 16:30:38, sky wrote: > https://codereview.chromium.org/1562593002/diff/1/chrome/browser/chromeos/chrome_browser_main_chromeos.cc > File chrome/browser/chromeos/chrome_browser_main_chromeos.cc (right): > > https://codereview.chromium.org/1562593002/diff/1/chrome/browser/chromeos/chrome_browser_main_chromeos.cc#newcode830 > ...
4 years, 11 months ago (2016-01-06 16:52:58 UTC) #17
stevenjb
I spent some time looking more closely at IOThread and the proxy related classes it ...
4 years, 11 months ago (2016-01-06 18:31:34 UTC) #18
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1562593002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1562593002/80001
4 years, 11 months ago (2016-01-06 18:32:34 UTC) #20
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_chromeos_ozone_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_ozone_rel_ng/builds/107576)
4 years, 11 months ago (2016-01-06 19:35:04 UTC) #22
sky
On Wed, Jan 6, 2016 at 10:31 AM, <stevenjb@chromium.org> wrote: > I spent some time ...
4 years, 11 months ago (2016-01-06 21:12:17 UTC) #23
stevenjb
Tests should all be fixed now. PTAL
4 years, 11 months ago (2016-01-06 22:25:17 UTC) #24
oshima
https://codereview.chromium.org/1562593002/diff/80001/chrome/browser/chromeos/proxy_config_service_impl.h File chrome/browser/chromeos/proxy_config_service_impl.h (right): https://codereview.chromium.org/1562593002/diff/80001/chrome/browser/chromeos/proxy_config_service_impl.h#newcode55 chrome/browser/chromeos/proxy_config_service_impl.h:55: void IsShuttingDown() override; OnShuttingDown would be more consistent with ...
4 years, 11 months ago (2016-01-06 22:57:23 UTC) #25
stevenjb
https://codereview.chromium.org/1562593002/diff/80001/chrome/browser/chromeos/proxy_config_service_impl.h File chrome/browser/chromeos/proxy_config_service_impl.h (right): https://codereview.chromium.org/1562593002/diff/80001/chrome/browser/chromeos/proxy_config_service_impl.h#newcode55 chrome/browser/chromeos/proxy_config_service_impl.h:55: void IsShuttingDown() override; On 2016/01/06 22:57:23, oshima wrote: > ...
4 years, 11 months ago (2016-01-06 23:28:32 UTC) #26
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1562593002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1562593002/120001
4 years, 11 months ago (2016-01-06 23:29:33 UTC) #28
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 11 months ago (2016-01-06 23:57:54 UTC) #30
oshima
https://codereview.chromium.org/1562593002/diff/80001/chrome/browser/chromeos/proxy_config_service_impl.h File chrome/browser/chromeos/proxy_config_service_impl.h (right): https://codereview.chromium.org/1562593002/diff/80001/chrome/browser/chromeos/proxy_config_service_impl.h#newcode55 chrome/browser/chromeos/proxy_config_service_impl.h:55: void IsShuttingDown() override; On 2016/01/06 23:28:31, stevenjb wrote: > ...
4 years, 11 months ago (2016-01-07 00:21:13 UTC) #31
stevenjb
https://codereview.chromium.org/1562593002/diff/80001/chrome/browser/chromeos/proxy_config_service_impl.h File chrome/browser/chromeos/proxy_config_service_impl.h (right): https://codereview.chromium.org/1562593002/diff/80001/chrome/browser/chromeos/proxy_config_service_impl.h#newcode55 chrome/browser/chromeos/proxy_config_service_impl.h:55: void IsShuttingDown() override; On 2016/01/07 00:21:12, oshima wrote: > ...
4 years, 11 months ago (2016-01-07 17:07:47 UTC) #32
oshima
https://codereview.chromium.org/1562593002/diff/100001/chromeos/network/network_state_handler.cc File chromeos/network/network_state_handler.cc (right): https://codereview.chromium.org/1562593002/diff/100001/chromeos/network/network_state_handler.cc#newcode72 chromeos/network/network_state_handler.cc:72: NetworkStateHandler::~NetworkStateHandler() { On 2016/01/07 17:07:47, stevenjb wrote: > On ...
4 years, 11 months ago (2016-01-07 18:14:17 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1562593002/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1562593002/140001
4 years, 11 months ago (2016-01-07 18:32:46 UTC) #35
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/133376)
4 years, 11 months ago (2016-01-07 18:44:49 UTC) #37
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1562593002/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1562593002/140001
4 years, 11 months ago (2016-01-07 19:18:47 UTC) #40
commit-bot: I haz the power
Committed patchset #7 (id:140001)
4 years, 11 months ago (2016-01-07 19:25:55 UTC) #42
commit-bot: I haz the power
4 years, 11 months ago (2016-01-07 19:26:44 UTC) #44
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/bbbd48b2dc5bbde2472eafe4319f29937e3b7de6
Cr-Commit-Position: refs/heads/master@{#368118}

Powered by Google App Engine
This is Rietveld 408576698