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

Issue 2651443002: Fix potential shutdown deadlock in UI service (Closed)

Created:
3 years, 11 months ago by Ken Rockot(use gerrit already)
Modified:
3 years, 11 months ago
Reviewers:
sadrul
CC:
chromium-reviews, piman+watch_chromium.org, rjkroege
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix potential shutdown deadlock in UI service If the GpuPtr is disconnected while there are pending buffer allocations in flight, this can lead to the main thread deadlocking on a WaitableEvent that never signals. Fixes that by tracking pending allocations and ensuring they're always signalled on connection error or other shutdown events. BUG= R=sadrul@chromium.org Review-Url: https://codereview.chromium.org/2651443002 Cr-Commit-Position: refs/heads/master@{#445434} Committed: https://chromium.googlesource.com/chromium/src/+/d0e46de3ff797f53376fa63297a5d41241568fdf

Patch Set 1 #

Total comments: 4

Patch Set 2 : . #

Unified diffs Side-by-side diffs Delta from patch set Stats (+36 lines, -8 lines) Patch
M services/ui/public/cpp/gpu/client_gpu_memory_buffer_manager.h View 1 3 chunks +8 lines, -0 lines 0 comments Download
M services/ui/public/cpp/gpu/client_gpu_memory_buffer_manager.cc View 1 3 chunks +28 lines, -8 lines 0 comments Download

Messages

Total messages: 16 (10 generated)
Ken Rockot(use gerrit already)
Noticed this when trying to land a large service manager refactor. Might need some cleanup, ...
3 years, 11 months ago (2017-01-21 01:35:07 UTC) #3
sadrul
lgtm. Thanks! https://codereview.chromium.org/2651443002/diff/1/services/ui/public/cpp/gpu/client_gpu_memory_buffer_manager.cc File services/ui/public/cpp/gpu/client_gpu_memory_buffer_manager.cc (right): https://codereview.chromium.org/2651443002/diff/1/services/ui/public/cpp/gpu/client_gpu_memory_buffer_manager.cc#newcode141 services/ui/public/cpp/gpu/client_gpu_memory_buffer_manager.cc:141: if (gpu_.is_bound()) { early return if not ...
3 years, 11 months ago (2017-01-21 02:54:31 UTC) #4
Ken Rockot(use gerrit already)
https://codereview.chromium.org/2651443002/diff/1/services/ui/public/cpp/gpu/client_gpu_memory_buffer_manager.cc File services/ui/public/cpp/gpu/client_gpu_memory_buffer_manager.cc (right): https://codereview.chromium.org/2651443002/diff/1/services/ui/public/cpp/gpu/client_gpu_memory_buffer_manager.cc#newcode141 services/ui/public/cpp/gpu/client_gpu_memory_buffer_manager.cc:141: if (gpu_.is_bound()) { On 2017/01/21 at 02:54:31, sadrul wrote: ...
3 years, 11 months ago (2017-01-23 18:00:50 UTC) #8
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/2651443002/20001
3 years, 11 months ago (2017-01-23 18:00:59 UTC) #12
commit-bot: I haz the power
Committed patchset #2 (id:20001) as https://chromium.googlesource.com/chromium/src/+/d0e46de3ff797f53376fa63297a5d41241568fdf
3 years, 11 months ago (2017-01-23 19:39:04 UTC) #15
mastiz
3 years, 11 months ago (2017-01-25 14:49:20 UTC) #16
Message was sent while issue was closed.
A revert of this CL (patchset #2 id:20001) has been created in
https://codereview.chromium.org/2658603004/ by mastiz@chromium.org.

The reason for reverting is: Bisect by tzik@ suggests it could be the culprit
for tsan builder failing, e.g.
https://uberchromegw.corp.google.com/i/chromium.memory/builders/Linux%20TSan%....

Powered by Google App Engine
This is Rietveld 408576698