New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 685157 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
please use my google.com address
Closed: Jan 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: ----



Sign in to add a comment

content_browsertests failing on chromium.memory/Linux TSan Tests

Project Member Reported by mastiz@chromium.org, Jan 25 2017

Issue description

content_browsertests failing on chromium.memory/Linux TSan Tests

Type: build-failure

Builders failed on: 
- Linux TSan Tests: 
  https://build.chromium.org/p/chromium.memory/builders/Linux%20TSan%20Tests



 

Comment 1 by tzik@chromium.org, Jan 25 2017

Cc: roc...@chromium.org
Bisected. I think the culprit CL is: https://codereview.chromium.org/2651443002

Comment 2 by mastiz@chromium.org, Jan 25 2017

I could not myself conflict the bisect conclusions by tzik@, but I'm moving ahead with the revert.

Comment 3 by roc...@chromium.org, Jan 25 2017

You'll just break other things if you revert. Please let me take a look
first.

Comment 4 by mastiz@chromium.org, Jan 25 2017

Owner: roc...@chromium.org
Sorry, stopping the revert cl: https://codereview.chromium.org/2658603004/

Assigning to rockot@ for further investigations, please reassign if the issue is unrelated to your CL, thanks.

Comment 5 by roc...@chromium.org, Jan 25 2017

Thanks, looking into it!
Labels: -Sheriff-Chromium

Comment 7 by roc...@chromium.org, Jan 25 2017

Cc: sadrul@chromium.org yzshen@chromium.org
This is a shutdown race in single-process mode, caused by the fact that we leak RenderThreadImpl in the browser process and therefore leak ClientGpuMemoryBufferManager. The latter object has a background thread running which may use the Mojo SyncHandleRegistry even during AtExit handlers on the main thread, which themselves will ultimately destroy the Mojo SyncHandleRegistry's LazyInstance<ThreadLocalPointer>. Hence the race.

Ideally we would have a way to cleanly shutdown RenderThreadImpl in single-process mode, but I think a reasonable solution for now would be to make SyncHandleRegistry's TLP LazyInstance leaky.

Comment 8 by yzshen@chromium.org, Jan 25 2017

"
Ideally we would have a way to cleanly shutdown RenderThreadImpl in single-process mode, but I think a reasonable solution for now would be to make SyncHandleRegistry's TLP LazyInstance leaky."

That sounds good.
Project Member

Comment 9 by bugdroid1@chromium.org, Jan 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8499f3a55d732d50c2a743fc3a499c43cc086234

commit 8499f3a55d732d50c2a743fc3a499c43cc086234
Author: rockot <rockot@chromium.org>
Date: Wed Jan 25 19:22:52 2017

Mojo C++ Bindings: Make SyncHandleRegistry Leaky

This avoids a potential data race on the ThreadLocalPointer
if someone happens to leave a Mojo-using thread alive during
shutdown.

BUG= 685157 
R=yzshen@chromium.org

Review-Url: https://codereview.chromium.org/2658583003
Cr-Commit-Position: refs/heads/master@{#446080}

[modify] https://crrev.com/8499f3a55d732d50c2a743fc3a499c43cc086234/mojo/public/cpp/bindings/lib/sync_handle_registry.cc

Status: Fixed (was: Started)

Sign in to add a comment