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

Issue 660150 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Nov 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Deadlock issue with FieldTrialList::AddForceFieldTrialsFlag

Reported by lawrencewu@chromium.org, Oct 27 2016

Issue description

it looks like there is a deadlock when calling AllStatesToString() which holds a lock, as that calls GetState(), which calls FinalizeGroupChoice(), which calls OnGroupFinalized() if shared memory is enabled, which ends up trying to hold the lock on the same thread again.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Oct 31 2016

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

commit 73c431498b20128b49e07540f6c8b4e81d20f500
Author: lawrencewu <lawrencewu@chromium.org>
Date: Mon Oct 31 22:32:56 2016

Fix deadlock issue with AllStatesToString

There was a deadlock happening when the thread calling AllStatesToString would grab the same lock twice. This fixes that by creating a version of GetState that's lockfree, GetStateWhileLocked, so AllStatesToString can call that instead.

BUG= 660150 

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

[modify] https://crrev.com/73c431498b20128b49e07540f6c8b4e81d20f500/base/metrics/field_trial.cc
[modify] https://crrev.com/73c431498b20128b49e07540f6c8b4e81d20f500/base/metrics/field_trial.h
[modify] https://crrev.com/73c431498b20128b49e07540f6c8b4e81d20f500/base/metrics/field_trial_unittest.cc

Status: Fixed (was: Assigned)

Sign in to add a comment