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

Issue 2295983002: Fix memory leak in ThreadWatcher. (Closed)

Created:
4 years, 3 months ago by Joshua LeVasseur
Modified:
4 years, 3 months ago
CC:
chromium-reviews, asvitkine+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix memory leak in ThreadWatcher. BUG=none TEST=unit tests Committed: https://crrev.com/5ca77e86703646cb84be35ef827068ac6951be1e Cr-Commit-Position: refs/heads/master@{#415729}

Patch Set 1 #

Total comments: 4

Patch Set 2 : Cleanup ThreadWatcher initialization logic. #

Total comments: 10

Patch Set 3 : Address feedback from isherman in comment #17 #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+23 lines, -25 lines) Patch
M chrome/browser/metrics/thread_watcher.h View 1 2 3 chunks +4 lines, -6 lines 0 comments Download
M chrome/browser/metrics/thread_watcher.cc View 1 2 3 chunks +9 lines, -15 lines 2 comments Download
M chrome/browser/metrics/thread_watcher_unittest.cc View 1 2 1 chunk +10 lines, -4 lines 0 comments Download

Messages

Total messages: 29 (12 generated)
Joshua LeVasseur
This is in preparation for turning ThreadWatcher into a component.
4 years, 3 months ago (2016-08-30 21:21:14 UTC) #8
ramant (doing other things)
lgtm Thanks for the fix.
4 years, 3 months ago (2016-08-30 21:38:33 UTC) #9
alokp
https://codereview.chromium.org/2295983002/diff/1/chrome/browser/metrics/thread_watcher.cc File chrome/browser/metrics/thread_watcher.cc (right): https://codereview.chromium.org/2295983002/diff/1/chrome/browser/metrics/thread_watcher.cc#newcode91 chrome/browser/metrics/thread_watcher.cc:91: watcher->ActivateThreadWatching(); Is this leaked?
4 years, 3 months ago (2016-08-30 22:32:34 UTC) #10
Joshua LeVasseur
On 2016/08/30 22:32:34, alokp wrote: > https://codereview.chromium.org/2295983002/diff/1/chrome/browser/metrics/thread_watcher.cc > File chrome/browser/metrics/thread_watcher.cc (right): > > https://codereview.chromium.org/2295983002/diff/1/chrome/browser/metrics/thread_watcher.cc#newcode91 > ...
4 years, 3 months ago (2016-08-30 22:39:50 UTC) #11
ramant (doing other things)
https://codereview.chromium.org/2295983002/diff/1/chrome/browser/metrics/thread_watcher.cc File chrome/browser/metrics/thread_watcher.cc (right): https://codereview.chromium.org/2295983002/diff/1/chrome/browser/metrics/thread_watcher.cc#newcode91 chrome/browser/metrics/thread_watcher.cc:91: watcher->ActivateThreadWatching(); On 2016/08/30 22:32:34, alokp wrote: > Is this ...
4 years, 3 months ago (2016-08-30 22:45:13 UTC) #12
alokp
https://codereview.chromium.org/2295983002/diff/1/chrome/browser/metrics/thread_watcher.cc File chrome/browser/metrics/thread_watcher.cc (right): https://codereview.chromium.org/2295983002/diff/1/chrome/browser/metrics/thread_watcher.cc#newcode91 chrome/browser/metrics/thread_watcher.cc:91: watcher->ActivateThreadWatching(); On 2016/08/30 22:45:12, ramant wrote: > On 2016/08/30 ...
4 years, 3 months ago (2016-08-30 22:47:21 UTC) #13
wzhong
lgtm
4 years, 3 months ago (2016-08-30 23:01:01 UTC) #14
Ilya Sherman
https://codereview.chromium.org/2295983002/diff/1/chrome/browser/metrics/thread_watcher.cc File chrome/browser/metrics/thread_watcher.cc (right): https://codereview.chromium.org/2295983002/diff/1/chrome/browser/metrics/thread_watcher.cc#newcode88 chrome/browser/metrics/thread_watcher.cc:88: delete watcher; Could you instead modify |watcher| to be ...
4 years, 3 months ago (2016-08-30 23:51:57 UTC) #15
Joshua LeVasseur
On 2016/08/30 23:51:57, Ilya Sherman wrote: > https://codereview.chromium.org/2295983002/diff/1/chrome/browser/metrics/thread_watcher.cc > File chrome/browser/metrics/thread_watcher.cc (right): > > https://codereview.chromium.org/2295983002/diff/1/chrome/browser/metrics/thread_watcher.cc#newcode88 ...
4 years, 3 months ago (2016-08-31 01:04:08 UTC) #16
Ilya Sherman
Thanks! LGTM % some nits: https://codereview.chromium.org/2295983002/diff/20001/chrome/browser/metrics/thread_watcher.cc File chrome/browser/metrics/thread_watcher.cc (right): https://codereview.chromium.org/2295983002/diff/20001/chrome/browser/metrics/thread_watcher.cc#newcode88 chrome/browser/metrics/thread_watcher.cc:88: } nit: Please revert ...
4 years, 3 months ago (2016-08-31 03:54:42 UTC) #17
Joshua LeVasseur
https://codereview.chromium.org/2295983002/diff/20001/chrome/browser/metrics/thread_watcher.cc File chrome/browser/metrics/thread_watcher.cc (right): https://codereview.chromium.org/2295983002/diff/20001/chrome/browser/metrics/thread_watcher.cc#newcode88 chrome/browser/metrics/thread_watcher.cc:88: } On 2016/08/31 03:54:42, Ilya Sherman wrote: > nit: ...
4 years, 3 months ago (2016-08-31 19:06:50 UTC) #18
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/2295983002/40001
4 years, 3 months ago (2016-08-31 19:14:23 UTC) #21
commit-bot: I haz the power
Committed patchset #3 (id:40001)
4 years, 3 months ago (2016-08-31 20:01:25 UTC) #23
commit-bot: I haz the power
Patchset 3 (id:??) landed as https://crrev.com/5ca77e86703646cb84be35ef827068ac6951be1e Cr-Commit-Position: refs/heads/master@{#415729}
4 years, 3 months ago (2016-08-31 20:03:18 UTC) #25
Jakob Kummerow
https://codereview.chromium.org/2295983002/diff/40001/chrome/browser/metrics/thread_watcher.cc File chrome/browser/metrics/thread_watcher.cc (right): https://codereview.chromium.org/2295983002/diff/40001/chrome/browser/metrics/thread_watcher.cc#newcode88 chrome/browser/metrics/thread_watcher.cc:88: watcher->ActivateThreadWatching(); I believe using |watcher| after calling std::move() on ...
4 years, 3 months ago (2016-09-01 13:35:17 UTC) #27
Jakob Kummerow
A revert of this CL (patchset #3 id:40001) has been created in https://codereview.chromium.org/2299453005/ by jkummerow@chromium.org. ...
4 years, 3 months ago (2016-09-01 13:36:50 UTC) #28
Ilya Sherman
4 years, 3 months ago (2016-09-01 18:15:18 UTC) #29
Message was sent while issue was closed.
https://codereview.chromium.org/2295983002/diff/40001/chrome/browser/metrics/...
File chrome/browser/metrics/thread_watcher.cc (right):

https://codereview.chromium.org/2295983002/diff/40001/chrome/browser/metrics/...
chrome/browser/metrics/thread_watcher.cc:88: watcher->ActivateThreadWatching();
On 2016/09/01 13:35:17, Jakob wrote:
> I believe using |watcher| after calling std::move() on it is a Bad Idea™.

Ah, good call -- my bad for missing that!

One possible way to restructure the code: Change ThreadWatcherList::Register()
to also call ActivateThreadWatching().  Another: Have
ThreadWatcherList::Register() return a pointer to the registered watcher, or
null if registration failed.

Powered by Google App Engine
This is Rietveld 408576698