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

Issue 2270543002: Stop shutting down the message loop when the renderer stops (Closed)

Created:
4 years, 4 months ago by haraken
Modified:
4 years, 4 months ago
CC:
chromium-reviews, darin-cc_chromium.org, mlamouri+watch-content_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Stop shutting down the message loop when the renderer stops This CL stops processing remaining tasks at the end of the shutdown sequence. This has been a source of use-after-free crashes because base::RunLoop().RunUntilIdle() runs arbitrary tasks after many things have been shut down. main_message_loop_.reset() was also problematic because it can trigger connection error handlers of Mojo, which called code in Blink. BUG=639244 Committed: https://crrev.com/e0817cfbfc3c7f8b13aa2ffc99c31f336ba1d29a Cr-Commit-Position: refs/heads/master@{#413959}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+0 lines, -5 lines) Patch
M content/renderer/render_thread_impl.cc View 1 chunk +0 lines, -5 lines 0 comments Download

Messages

Total messages: 21 (10 generated)
haraken
PTAL
4 years, 4 months ago (2016-08-23 11:34:18 UTC) #7
jochen (gone - plz use gerrit)
hum, won't the render_thread_impl dtor kill the message loop anyways? how does that work in ...
4 years, 4 months ago (2016-08-23 12:05:37 UTC) #8
haraken
On 2016/08/23 12:05:37, jochen wrote: > hum, won't the render_thread_impl dtor kill the message loop ...
4 years, 4 months ago (2016-08-23 12:19:14 UTC) #10
Torne
On 2016/08/23 12:19:14, haraken wrote: > On 2016/08/23 12:05:37, jochen wrote: > > hum, won't ...
4 years, 4 months ago (2016-08-23 12:45:31 UTC) #11
haraken
On 2016/08/23 12:45:31, Torne wrote: > On 2016/08/23 12:19:14, haraken wrote: > > On 2016/08/23 ...
4 years, 4 months ago (2016-08-23 12:56:04 UTC) #12
Torne
On 2016/08/23 12:56:04, haraken wrote: > On 2016/08/23 12:45:31, Torne wrote: > > On 2016/08/23 ...
4 years, 4 months ago (2016-08-23 13:28:18 UTC) #13
jam
On 2016/08/23 12:19:14, haraken wrote: > On 2016/08/23 12:05:37, jochen wrote: > > hum, won't ...
4 years, 4 months ago (2016-08-23 17:34:55 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2270543002/1
4 years, 4 months ago (2016-08-24 02:02:39 UTC) #16
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 4 months ago (2016-08-24 02:58:34 UTC) #18
commit-bot: I haz the power
Patchset 1 (id:??) landed as https://crrev.com/e0817cfbfc3c7f8b13aa2ffc99c31f336ba1d29a Cr-Commit-Position: refs/heads/master@{#413959}
4 years, 4 months ago (2016-08-24 03:00:52 UTC) #20
haraken
4 years, 3 months ago (2016-09-05 00:30:42 UTC) #21
Message was sent while issue was closed.
A revert of this CL (patchset #1 id:1) has been created in
https://codereview.chromium.org/2312583002/ by haraken@chromium.org.

The reason for reverting is: I'll revert r413430 and its dependent CLs because
r413430 caused issue 642072.

The problem is that we cannot simply remove blink::shutdown because the
following scenario can happen:

1) blink::shutdown is not called. Workers are still running.
2) RenderThreadImpl gets destructed. MessageLoop gets destructed.
3) The workers may access the RenderThreadImpl and MessageLoop.

To fix the problem, we need to call ProcessDied() and forcibly kill the renderer
process at the end of RenderThreadImpl::Shutdown().
.

Powered by Google App Engine
This is Rietveld 408576698