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

Issue 1835833002: Fix 3 crashes related to navigations after a process dies. (Closed)

Created:
4 years, 8 months ago by Charlie Reis
Modified:
4 years, 8 months ago
Reviewers:
alexmos
CC:
chromium-reviews, darin-cc_chromium.org, nasko+codewatch_chromium.org, jam, creis+watch_chromium.org, site-isolation-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix 3 crashes related to navigations after a process dies. Three separate crashes were possible when a RenderViewHost is pending deletion. We now compute this state on demand rather than storing it in a boolean, since it can change between the time of swapout and the next navigation. We were also failing to check this state in FrameTree::GetRenderViewHost. This also clears the pending delete RenderFrameHost if its process dies, since we won't hear a swap out ACK from it after that. BUG=581912, 544755, 591478 TEST=See bugs for repro steps. CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation Committed: https://crrev.com/e73d58efe1a779172c2ca31b97f8aa6256491d5a Cr-Commit-Position: refs/heads/master@{#383846}

Patch Set 1 #

Patch Set 2 : Fix test #

Patch Set 3 : Fix test flakiness #

Patch Set 4 : Lots of cleanup #

Total comments: 12

Patch Set 5 : Remove TODO #

Total comments: 10

Patch Set 6 : Fixes from review #

Unified diffs Side-by-side diffs Delta from patch set Stats (+230 lines, -35 lines) Patch
M content/browser/frame_host/frame_tree.cc View 1 2 3 2 chunks +7 lines, -4 lines 0 comments Download
M content/browser/frame_host/render_frame_host_impl.h View 1 2 2 chunks +10 lines, -0 lines 0 comments Download
M content/browser/frame_host/render_frame_host_impl.cc View 1 2 3 2 chunks +10 lines, -0 lines 0 comments Download
M content/browser/frame_host/render_frame_host_manager.h View 1 2 3 1 chunk +4 lines, -0 lines 0 comments Download
M content/browser/frame_host/render_frame_host_manager.cc View 1 2 3 4 5 2 chunks +19 lines, -8 lines 0 comments Download
M content/browser/frame_host/render_frame_host_manager_browsertest.cc View 1 2 3 4 5 2 chunks +135 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_view_host_impl.h View 1 2 3 3 chunks +3 lines, -16 lines 0 comments Download
M content/browser/renderer_host/render_view_host_impl.cc View 1 2 3 1 chunk +0 lines, -1 line 0 comments Download
M content/browser/site_per_process_browsertest.cc View 1 2 3 4 5 3 chunks +42 lines, -6 lines 0 comments Download

Messages

Total messages: 17 (8 generated)
Charlie Reis
Alex, can you take a look? This should handle all 3 of the crashes. I ...
4 years, 8 months ago (2016-03-28 19:06:37 UTC) #4
Charlie Reis
https://codereview.chromium.org/1835833002/diff/60001/content/browser/site_per_process_browsertest.cc File content/browser/site_per_process_browsertest.cc (right): https://codereview.chromium.org/1835833002/diff/60001/content/browser/site_per_process_browsertest.cc#newcode4124 content/browser/site_per_process_browsertest.cc:4124: // TODO(creis): This will be flaky, since there's still ...
4 years, 8 months ago (2016-03-29 04:19:01 UTC) #5
alexmos
Awesome, I'm so relieved that all of these crashes are going to be fixed! Just ...
4 years, 8 months ago (2016-03-29 18:43:02 UTC) #6
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1835833002/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1835833002/100001
4 years, 8 months ago (2016-03-29 20:28:23 UTC) #8
Charlie Reis
Thanks! PTAL. https://codereview.chromium.org/1835833002/diff/80001/content/browser/frame_host/render_frame_host_manager.cc File content/browser/frame_host/render_frame_host_manager.cc (right): https://codereview.chromium.org/1835833002/diff/80001/content/browser/frame_host/render_frame_host_manager.cc#newcode2424 content/browser/frame_host/render_frame_host_manager.cc:2424: if (rvh && rvh->IsRenderViewLive() && !IsViewPendingDeletion(rvh) && ...
4 years, 8 months ago (2016-03-29 20:29:03 UTC) #9
alexmos
Great, LGTM!
4 years, 8 months ago (2016-03-29 20:35:57 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1835833002/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1835833002/100001
4 years, 8 months ago (2016-03-29 20:55:07 UTC) #13
commit-bot: I haz the power
Committed patchset #6 (id:100001)
4 years, 8 months ago (2016-03-29 22:12:25 UTC) #15
commit-bot: I haz the power
4 years, 8 months ago (2016-03-29 22:14:57 UTC) #17
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/e73d58efe1a779172c2ca31b97f8aa6256491d5a
Cr-Commit-Position: refs/heads/master@{#383846}

Powered by Google App Engine
This is Rietveld 408576698