New issue
Advanced search Search tips

Issue 595264 link

Starred by 0 users

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

Data race in std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1

Project Member Reported by ClusterFuzz, Mar 16 2016

Issue description

Detailed report: https://cluster-fuzz.appspot.com/testcase?key=4840388333928448

Fuzzer: inferno_twister_custom_bundle
Job Type: linux_tsan_chrome_mp
Platform Id: linux

Crash Type: Data race READ 8
Crash Address: 0x7d1c00007f20
Crash State:
  std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1
  base::CheckTrialGroup
  base::FieldTrialList::NotifyFieldTrialGroupSelection
  
Regressed: https://cluster-fuzz.appspot.com/revisions?job=linux_tsan_chrome_mp&range=381067:381276

Unminimized Testcase: https://cluster-fuzz.appspot.com/download/AMIfv95dPGuDzcPw4ZD4pK-klkS_pjNFT8xCutBHCR8Debb5ULxcL9YT7eAjK6Z2Xm52iRj8ViiRqAtCYEps316lL4GKIM7PCY01Dl1TMizN4Khdwd9YLKl3AtulZ_lI4CIxNgL11iJf0oM0qJUH95mIrp_6R5QfChlr8cXdeGAnPoACsZQoJYs


Filer: ajha

See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs for more information.
 

Comment 1 by ajha@chromium.org, Mar 16 2016

Labels: M-51 Te-Logged
Owner: asvitk...@chromium.org
Status: Assigned (was: Available)
asvitkine@: Could you please take a look at this or help in finding an appropriate owner.
Cc: infe...@chromium.org
I can't access the unminimized test case:

"For access, please contact Abhishek Arya (inferno [at] chromium [dot] org). If you are trying to access the testcase for a bug, make sure that you are marked as Owner."
Status: Started (was: Assigned)
Project Member

Comment 4 by bugdroid1@chromium.org, Mar 16 2016

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

commit cba00314e57ab31bc5a7f766e9bb8d5760d106ac
Author: asvitkine <asvitkine@chromium.org>
Date: Wed Mar 16 20:52:57 2016

Call CheckTrialGroup only under lock.

Since this code can be called from multiple
threads, we should hold a lock when calling
CheckTrialGroup since it modifies a std::map.

The other call site was already holding the
lock.

BUG= 595264 

Review URL: https://codereview.chromium.org/1810593002

Cr-Commit-Position: refs/heads/master@{#381535}

[modify] https://crrev.com/cba00314e57ab31bc5a7f766e9bb8d5760d106ac/base/metrics/field_trial.cc

Status: Fixed (was: Started)
Project Member

Comment 6 by ClusterFuzz, Mar 17 2016

ClusterFuzz has detected this issue as fixed in range 381436:381448.

Detailed report: https://cluster-fuzz.appspot.com/testcase?key=4840388333928448

Fuzzer: inferno_twister_custom_bundle
Job Type: linux_tsan_chrome_mp
Platform Id: linux

Crash Type: Data race READ 8
Crash Address: 0x7d1c00007f20
Crash State:
  std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1
  base::CheckTrialGroup
  base::FieldTrialList::NotifyFieldTrialGroupSelection
  
Regressed: https://cluster-fuzz.appspot.com/revisions?job=linux_tsan_chrome_mp&range=381067:381276
Fixed: https://cluster-fuzz.appspot.com/revisions?job=linux_tsan_chrome_mp&range=381436:381448

Unminimized Testcase: https://cluster-fuzz.appspot.com/download/AMIfv95dPGuDzcPw4ZD4pK-klkS_pjNFT8xCutBHCR8Debb5ULxcL9YT7eAjK6Z2Xm52iRj8ViiRqAtCYEps316lL4GKIM7PCY01Dl1TMizN4Khdwd9YLKl3AtulZ_lI4CIxNgL11iJf0oM0qJUH95mIrp_6R5QfChlr8cXdeGAnPoACsZQoJYs


See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs for more information.

If you suspect that the result above is incorrect, try re-doing that job on the test case report page.
Project Member

Comment 7 by bugdroid1@chromium.org, Apr 15 2016

Labels: merge-merged-2661
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/874f686fc9a9a937e3779757dbfeb50e69440582

commit 874f686fc9a9a937e3779757dbfeb50e69440582
Author: Alexei Svitkine <asvitkine@chromium.org>
Date: Fri Apr 15 21:35:18 2016

Call CheckTrialGroup only under lock.

Since this code can be called from multiple
threads, we should hold a lock when calling
CheckTrialGroup since it modifies a std::map.

The other call site was already holding the
lock.

BUG= 595264 

Review URL: https://codereview.chromium.org/1810593002

Cr-Commit-Position: refs/heads/master@{#381535}
(cherry picked from commit cba00314e57ab31bc5a7f766e9bb8d5760d106ac)

Review URL: https://codereview.chromium.org/1889343002 .

Cr-Commit-Position: refs/branch-heads/2661@{#589}
Cr-Branched-From: ef6f6ae5e4c96622286b563658d5cd62a6cf1197-refs/heads/master@{#378081}

[modify] https://crrev.com/874f686fc9a9a937e3779757dbfeb50e69440582/base/metrics/field_trial.cc

Project Member

Comment 8 by sheriffbot@chromium.org, Nov 22 2016

Labels: -Restrict-View-EditIssue
Removing EditIssue view restrictions from ClusterFuzz filed bugs. If you believe that this issue should still be restricted, please reapply the label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Sign in to add a comment