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

Issue 10861018: Fix memory leaks from adding GPU memory to task manager (Closed)

Created:
8 years, 4 months ago by ccameron
Modified:
8 years, 3 months ago
CC:
chromium-reviews, joi+watch-content_chromium.org, jam, yoshiki+watch_chromium.org, apatrick_chromium, darin-cc_chromium.org
Visibility:
Public.

Description

There were two leaks detected here. The first is from a preexisting bug. GpuProcessHost::SendOnIO will leak the message if the IO thread is not present. Note that it will not leak the message if the IO thread is present, but the GPU process is absent. The second issue is that we would keep around one GpuData-Observer indefinitely. I changed this to be scoped to the task manager. On the second issue I have a concern here that there may be a race between destruction of the task manager and the GpuDataManager. The TaskManagerModel dtor calls into GpuDataManager::RemoveObserver, but is this safe if the GpuDataManager's dtor has been called first? Do we offer any guarantees of this? In practice, neither singleton's dtor is called when I just run the browser, and the GpuDataManager's dtor is called second in the unit test. BUG=143563 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=152847

Patch Set 1 #

Total comments: 2

Patch Set 2 : Remove suppressions now that issue 143563 is fixed #

Unified diffs Side-by-side diffs Delta from patch set Stats (+0 lines, -17 lines) Patch
M tools/heapcheck/suppressions.txt View 1 1 chunk +0 lines, -8 lines 0 comments Download
M tools/valgrind/memcheck/suppressions.txt View 1 1 chunk +0 lines, -9 lines 0 comments Download

Messages

Total messages: 9 (0 generated)
ccameron
http://codereview.chromium.org/10861018/diff/1/chrome/browser/task_manager/task_manager.h File chrome/browser/task_manager/task_manager.h (right): http://codereview.chromium.org/10861018/diff/1/chrome/browser/task_manager/task_manager.h#newcode575 chrome/browser/task_manager/task_manager.h:575: The dtor for the observer will call into GpuDataManagerImpl::RemoveObserver ...
8 years, 4 months ago (2012-08-20 21:20:02 UTC) #1
Ken Russell (switch to Gerrit)
The content/browser/gpu/ changes LGTM (I double-checked the implementation of BrowserThreadImpl::PostTaskHelper to verify when it returns ...
8 years, 4 months ago (2012-08-20 23:22:58 UTC) #2
ccameron
Pinging this again.
8 years, 4 months ago (2012-08-22 08:24:42 UTC) #3
yoshiki
chrome/browser/task_manager/* LGTM
8 years, 4 months ago (2012-08-22 08:31:29 UTC) #4
ccameron
Thank you! Al, did you want to look, too?
8 years, 4 months ago (2012-08-22 09:23:19 UTC) #5
apatrick_chromium
content/browser/gpu LGTM
8 years, 4 months ago (2012-08-22 19:22:21 UTC) #6
ccameron
Thanks!
8 years, 4 months ago (2012-08-22 19:25:13 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ccameron@chromium.org/10861018/1
8 years, 4 months ago (2012-08-22 19:25:39 UTC) #8
commit-bot: I haz the power
8 years, 4 months ago (2012-08-22 22:46:08 UTC) #9
Change committed as 152847

Powered by Google App Engine
This is Rietveld 408576698