This reverts commit 5a8428d621c9e9c8f5bcfa9ca97ae66002207d8c
Reason for revert: See comment https://bugs.chromium.org/p/chromium/issues/detail?id=796292#c28
> This reverts commit 4f1a60552748d150783655ee6f7b6f7084e3af95.
>
> Reason for revert: This CL caused time outs in browser tests - see https://crbug.com/796292
>
> Original change's description:
> > Statically link fontconfig on Linux
> >
> > This CL switches Linux to use in-tree fontconfig builds. It exposes some leaks
> > and races detected by LSAN and TSAN. For now, these will be suppressed since
> > these issues were preexisting, but instrumenting fontconfig exposed the issues.
> >
> > R=dnicoara@chromium.org,dpranke@chromium.org
> > BUG=795110,795148
> >
> > Change-Id: Ia75db4ced6ec78a5f0610af9ebc78a87840b86f7
> > Reviewed-on: https://chromium-review.googlesource.com/826403
> > Commit-Queue: Daniel Nicoara <dnicoara@chromium.org>
> > Reviewed-by: Daniel Nicoara <dnicoara@chromium.org>
> > Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#524389}
>
> TBR=dpranke@chromium.org,dnicoara@chromium.org,thomasanderson@chromium.org
>
> # Not skipping CQ checks because original CL landed > 1 day ago.
>
> Bug: 795110, 795148
> Change-Id: Id224fdcbfb0ca3373f6219b66252a8970072675b
> Reviewed-on: https://chromium-review.googlesource.com/834869
> Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
> Reviewed-by: Łukasz Anforowicz <lukasza@chromium.org>
> Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#525173}
R=dpranke@chromium.orgTBR=dnicoara@chromium.org
BUG=795110,795148,796292
Change-Id: I47a2225cb9cc255721b521cbb790d9eb70e0b3b9
Reviewed-on: https://chromium-review.googlesource.com/841627
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#525945}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 65f919d2d86e54c851b0327740a330d152b07ed5
This reverts commit 4f1a60552748d150783655ee6f7b6f7084e3af95.
Reason for revert: This CL caused time outs in browser tests - see https://crbug.com/796292
Original change's description:
> Statically link fontconfig on Linux
>
> This CL switches Linux to use in-tree fontconfig builds. It exposes some leaks
> and races detected by LSAN and TSAN. For now, these will be suppressed since
> these issues were preexisting, but instrumenting fontconfig exposed the issues.
>
> R=dnicoara@chromium.org,dpranke@chromium.org
> BUG=795110,795148
>
> Change-Id: Ia75db4ced6ec78a5f0610af9ebc78a87840b86f7
> Reviewed-on: https://chromium-review.googlesource.com/826403
> Commit-Queue: Daniel Nicoara <dnicoara@chromium.org>
> Reviewed-by: Daniel Nicoara <dnicoara@chromium.org>
> Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#524389}
TBR=dpranke@chromium.org,dnicoara@chromium.org,thomasanderson@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: 795110, 795148
Change-Id: Id224fdcbfb0ca3373f6219b66252a8970072675b
Reviewed-on: https://chromium-review.googlesource.com/834869
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Łukasz Anforowicz <lukasza@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#525173}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5a8428d621c9e9c8f5bcfa9ca97ae66002207d8c
This CL switches Linux to use in-tree fontconfig builds. It exposes some leaks
and races detected by LSAN and TSAN. For now, these will be suppressed since
these issues were preexisting, but instrumenting fontconfig exposed the issues.
R=dnicoara@chromium.org,dpranke@chromium.org
BUG=795110,795148
Change-Id: Ia75db4ced6ec78a5f0610af9ebc78a87840b86f7
Reviewed-on: https://chromium-review.googlesource.com/826403
Commit-Queue: Daniel Nicoara <dnicoara@chromium.org>
Reviewed-by: Daniel Nicoara <dnicoara@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#524389}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4f1a60552748d150783655ee6f7b6f7084e3af95
v8 weak ref callbacks don't call at the end of a test. And there is
cleaning logic for ScriptState and DOMWrapperWorld. This cause false
leaks detect by lsan. I think it 's better to suppress them, instead of
disabling whole tests.
Bug: 790922, 586897
Change-Id: Ie86ae86994c8442fa0b779de62ab0904171a14de
Reviewed-on: https://chromium-review.googlesource.com/800614
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Alexander Potapenko <glider@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#520900}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a0ab4d619f5b412ceb73559d738f6b8f2c31200d
Instead of constructing a TextureMailbox, which ResourceProvider
then converts into a TransferableResource later (via much logic)
have cc::TextureLayerClients give the layer a TransferableResource
directly.
For now clients of ui::Layer still speak in TextureMailboxes to
try limit the scope of the CL a bit. ui::Layer uses a new method
on TextureLayer to convert them into TransferableResource to hand
to cc::TextureLayer.
Bug: 769423
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I29d1aa85028145601e9b64a724ef8695af4c0d35
Reviewed-on: https://chromium-review.googlesource.com/691280
Commit-Queue: danakj <danakj@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Justin Novosad <junov@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#517949}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5df8257fa86cd90614aa6d9f0825a3640e15d062
These tests have caught bugs over at CrOS and will do more good here,
so pull them in.
Follow-up CLs:
- Rewrite existing browser tests to use promises and (maybe) the
peer connection class in here.
Bug: 777857
Change-Id: Icd4d73788ab54f5133715a4765c0ceff78b0ad3f
Reviewed-on: https://chromium-review.googlesource.com/735347
Commit-Queue: Patrik Höglund <phoglund@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#511806}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c1dbf0484a5b5010cffed3b0d099a5007023303c
It looks like the original issue has been fixed some time ago and
TSAN suppression is no longer needed.
Bug: 246974
Change-Id: I0105cdbc37902b2636ad723342dbf36db507b4fc
Reviewed-on: https://chromium-review.googlesource.com/710501
Reviewed-by: Xi Cheng <chengx@chromium.org>
Commit-Queue: Stanislav Chiknavaryan <stanisc@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#507821}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6692c8ac37f4f768ea7e1b118e75422ec08d629b
More targeted suppressions don't seem sufficient and there's not
a lot of stack to go on, so lets add a blanket suppression for
pulseaudio, since our bots and dev machines are running ancient
versions.
BUG=244856,757162
TEST=none
Change-Id: Ife022ff1584296279dde9bc4a9831fba01138f83
Reviewed-on: https://chromium-review.googlesource.com/690578
Reviewed-by: Alexander Potapenko <glider@chromium.org>
Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#505661}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: bef716c8e4935748cd5a5f226786608401bbfc1c
Seems the signature for this has changed slightly for some reason.
BUG=244856,757162
TEST=no more race
Change-Id: Ia733eb93e65e27a93d978c2b15e5901549335e5b
Reviewed-on: https://chromium-review.googlesource.com/683156
Reviewed-by: Alexander Potapenko <glider@chromium.org>
Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#504713}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4419eeffc1defc72a1c1cab8404f43e7af95316d
This is the last step in removing the task profiler code.
A number of files were depending on this to get the LazyInstance
declaration so includes for lazy_instance are added.
BUG=739505
Change-Id: I5cc4dde74b40f33d274215e62fbcd72ca7df6aea
Reviewed-on: https://chromium-review.googlesource.com/665969
Commit-Queue: Brett Wilson <brettw@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#502415}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0241e02bedc445db6bce2e909d386ed9c1386d6b
These are third-party build tools, so this is probably not worth the
trouble to fix.
Three tools have leaks: re2c, genperf, and yasm. re2c and genperf are
random tools to generate source files for yasm. re2c never bothers
freeing anything and is completely hopeless. genperf is fixable. yasm is
unclear.
Bug: 755670
Change-Id: I44468683df42945eecf13cc366c4bfba0a8f8225
Reviewed-on: https://chromium-review.googlesource.com/616263
Commit-Queue: Varun Khaneja <vakh@chromium.org>
Reviewed-by: Varun Khaneja <vakh@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#494922}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: dc09a65b21e83cab7544377812eb38c94cad63a0
Storing the histogram name was done to see if there was any correlation
between the last-updated histogram and the corrupted one. There isn't.
This is also triggering tsan because it's shared space with no
concurrency protection.
Bug: 754599, 744734
Change-Id: I444c64f50f2464542ea71f922c3c9302208910f7
Reviewed-on: https://chromium-review.googlesource.com/612122
Commit-Queue: Brian White <bcwhite@chromium.org>
Commit-Queue: Alexei Svitkine (very slow) <asvitkine@chromium.org>
Reviewed-by: Alexei Svitkine (very slow) <asvitkine@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#493801}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5f3071f939b2ec29d9a1161389c60eb71a83d7e0
Apparently some bots, such as Linux GPU TSAN have TSAN stack
traces where base::Histogram::AddCount appears as just
AddCount (while other functions are fully qualified.)
So this adds to the suppression added in
https://chromium-review.googlesource.com/c/581418 to ignore
these errors.
BUG=744734
Change-Id: I1e353894193cd3992c3a965013891bcb9f9105a8
Reviewed-on: https://chromium-review.googlesource.com/583227
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Commit-Queue: Alexei Svitkine (slow) <asvitkine@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#488971}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 9773bf1cbf291511a4aef6ec782bb20a4ebc6b7d
This change:
- Does a separate pass on all histograms, validating them, before
starting to prepare their deltas. This will confirm that data is
bad already before we start processing them (i.e. verify that it's
not the processing code having some side effect).
- Counts the number of corrupted histograms to tell us if it's a single
bad value or more widespread corruption.
- Keeps track of the last histogram that someone logged something to,
so that we could have a trail of the last thing that happened before
corruption.
- Moves a previously added instrumentation call to within the correct if
block.
BUG=736675,744734
Change-Id: I4b860ad6e977c1555409bd628f9e4e5147e61654
Reviewed-on: https://chromium-review.googlesource.com/581418
Commit-Queue: Alexei Svitkine (slow) <asvitkine@chromium.org>
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#488815}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2e8a3a3bbec7e6f3876a33baa9124213a82371b0
This CL was also going to fix a race condition in the existing implementation when SetTaskRunner() was used but the test-only failures caused by tests having long-lived
with the status quo are proving hard than expected to fix. The race is no worse than
before by making this code sequence-friendly (and generally healthier). Will fix
race in a follow-up CL.
Of note in this CL:
- Patch set 1 is https://codereview.chromium.org/1433373003
so looking at diff from 1 might be less work (especially for tests).
- (not true anymore, postponed to race fix CL:)
The Timer's delayed task now always lives on the sequence it was started from
(and even SetTaskRunner() was used, a task is posted to it when the delay
expires instead of having the Timer's delayed task live on it -- this solves
the aforementioned race condition).
- This required adapting tests for MediaCodecLoop and UploadProgressTracker.
BUG=587199, 552633, 678592, 684640, 675631
Review-Url: https://codereview.chromium.org/2491613004
Cr-Original-Commit-Position: refs/heads/master@{#476317}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4e844bb5f686dbd3a062c6aaf83c8a1df171a08a
This CL:
* Removes the last dependency on sanitizers:deps_no_options and replaces it
with exe_and_shlib_deps
* Merges sanitizers:deps and sanitizers:deps_no_options
* Adds a weak symbol for NaCl to override the default sanitizer options
BUG=593874
R=thakis@chromium.org,bradnelson@chromium.org
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_msan_rel_ng;master.tryserver.chromium.linux:linux_chromium_ubsan_rel_ng;master.tryserver.chromium.mac:mac_chromium_asan_rel_ng
Review-Url: https://codereview.chromium.org/2911513002
Cr-Original-Commit-Position: refs/heads/master@{#475093}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f59081471b68cb0a0c484fe9c9c3b8a1f7f2d122
It's harder to see if new errors come up since this triggers
TSAN failures in so many places. Suppress for now until a there is a
solution.
BUG=695929
Change-Id: I2729c069a29ab595208f8f04695cace3877c1083
Reviewed-on: https://chromium-review.googlesource.com/503790
Reviewed-by: Jungshik Shin <jshin@chromium.org>
Commit-Queue: Mike Bjorge <mbjorge@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#471622}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 80429170bb3de6b4639f42fc630a2d1f8b8a7117
Reason for reland:
Adding TSan suppression. The race is independent of this CL, see crbug.com/719633
Original issue's description:
> Revert of Linux: Disable DBus auto-launch (patchset #1 id:1 of https://codereview.chromium.org/2861163002/ )
>
> Reason for revert:
> Speculative revert -- the TSan bots have been reporting a data race when setting Envvars (in this case, appending to the python path to start a websocket server). The race appeared immediately after this patch landed, so it may be legitimate. Reverting this to see if it clears the failures up; if so, we'll probably just have to serialize the calls to setenv.
>
> Filed crbug.com/719633 for this as well.
>
> Original issue's description:
> > Linux: Disable DBus auto-launch
> >
> > This is a workaround (ETA ~ 2-3 years) for libdbus not being multi-threading
> > friendly and causing random hangs when running chrome outside of Linux
> > desktop environments.
> >
> > Background:
> > -----------
> > Typically, Linux desktop environments set the DBUS_SESSION_BUS_ADDRESS
> > environment variable. This variable allows the dbus client library to
> > directly connect to the existing bus, which is started by the desktop
> > environment or systemd.
> > When this variable is missing, the dbus client library will fallback
> > to auto-launch mode [1], which causes 4 nested fork() + exec() calls.
> > Doing this has two problems: (i) slows down startup; (ii) can hang
> > the browser if the fork() happens while another thread is in a malloc()
> > (Chrome's tcmalloc has no at-fork handlers).
> > This situation (no env variable) is very common in test scenarios
> > (browsertests, chromedriver, etc).
> >
> > Change introduced by this CL:
> > -----------------------------
> > This CL sets the bus address env variable to "disabled:" if not set.
> > This effectively shuts down the dbus auto-launch. If necessary, this
> > behavior can be restored by setting, before launching chrome,
> > DBUS_SESSION_BUS_ADDRESS="autolaunch:" .
> > This workaround will be necessary until libdbus and gspawn are fixed
> > to be multi-threading friendly [2,3] and that fix rolls into the
> > various distributions.
> > The change is introduced in the main embedder rather than in the
> > google-chrome wrapper, as several binaries can be affected by this,
> > for instance:
> > - browser tests (http://crbug.com/693668)
> > - chrome --headless
> > - webdriver/selenium which seem to directly invoke "chrome"
> > see https://github.com/SeleniumHQ/docker-selenium/issues/87
> >
> > [1] https://dbus.freedesktop.org/doc/dbus-launch.1.html
> > [2] https://bugs.freedesktop.org/show_bug.cgi?id=100843
> > [3] https://bugs.chromium.org/p/chromedriver/issues/detail?id=1699
> >
> > BUG=715658,695643,713947
> > TEST=strace -ff -o trace chrome; grep dbus-launch trace*
> >
> > Review-Url: https://codereview.chromium.org/2861163002
> > Cr-Commit-Position: refs/heads/master@{#469987}
> > Committed: 8511820ec8
> Review-Url: https://codereview.chromium.org/2869843003
> Cr-Commit-Position: refs/heads/master@{#470059}
> Committed: 1e78cb7863
BUG=715658,695643,713947,719633
TBR=satorux@google.com,thestig@chromium.org,jam@chromium.org
Review-Url: https://codereview.chromium.org/2865283002
Cr-Original-Commit-Position: refs/heads/master@{#470301}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2fc330d0b93d4bfd7bd04b9fdd3102e529901f91
Introduces the beginnings of an embedder API for the Service Manager,
consisting of a single entry point (service_manager::Main) which in
turn delegates to its embedder for arbitrary initialization and
process execution logic.
This is the first of several incremental steps to remove content from
the generic process startup flow. Future patches will rework various
main entry points to go through service_manager::Main directly, rather
than going ContentMain -> service_manager::Main.
This will also allow us to introduce new process types which run the
Service Manager or arbitrary services directly without touching any
part of content.
BUG=654986
Review-Url: https://codereview.chromium.org/2613653003
Review-Url: https://codereview.chromium.org/2613653003
Cr-Original-Commit-Position: refs/heads/master@{#458331}
Committed: c6026704ff
Cr-Original-Original-Commit-Position: refs/heads/master@{#458252}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 60d92c2f3ff60c2fcc0b3cddd05738403fb1f0c3
Reason for revert:
Introduced crashes of webkit_tests on Mac.
BUG=703465
Original issue's description:
> Move some basic early process init into Service Manager
>
> Introduces the beginnings of an embedder API for the Service Manager,
> consisting of a single entry point (service_manager::Main) which in
> turn delegates to its embedder for arbitrary initialization and
> process execution logic.
>
> This is the first of several incremental steps to remove content from
> the generic process startup flow. Future patches will rework various
> main entry points to go through service_manager::Main directly, rather
> than going ContentMain -> service_manager::Main.
>
> This will also allow us to introduce new process types which run the
> Service Manager or arbitrary services directly without touching any
> part of content.
>
> BUG=654986
>
> Review-Url: https://codereview.chromium.org/2613653003
> Cr-Commit-Position: refs/heads/master@{#458252}
> Committed: c6026704ffTBR=jam@chromium.org,rockot@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=654986
Review-Url: https://codereview.chromium.org/2763883002
Cr-Original-Commit-Position: refs/heads/master@{#458278}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 1c92dd551abe4a1581981b945076719dff7b4422
Introduces the beginnings of an embedder API for the Service Manager,
consisting of a single entry point (service_manager::Main) which in
turn delegates to its embedder for arbitrary initialization and
process execution logic.
This is the first of several incremental steps to remove content from
the generic process startup flow. Future patches will rework various
main entry points to go through service_manager::Main directly, rather
than going ContentMain -> service_manager::Main.
This will also allow us to introduce new process types which run the
Service Manager or arbitrary services directly without touching any
part of content.
BUG=654986
Review-Url: https://codereview.chromium.org/2613653003
Cr-Original-Commit-Position: refs/heads/master@{#458252}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c6026704ff452d402924ce2d88b0168baf227b1e
V8's signal handler based bounds checking solution needs to be able to
install a custom signal handler. Unfortunately, asan does not allow this
by default.
BUG=v8:5277
Review-Url: https://codereview.chromium.org/2731393003
Cr-Original-Commit-Position: refs/heads/master@{#455218}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8e6e95fce9bb5e972c0c96bff0d0a8ea5d7f068a
I'm working on a patch to fix asan_options on windows and I faced this
two incompatibles symbols:
00D 00000000 SECT2 notype External | ?kASanDefaultSuppressions@@3PADA (char * kASanDefaultSuppressions)
01F 00000000 UNDEF notype External | _kASanDefaultSuppressions
This is caused by the way the symbols are defined (i.e. extern "C").
src/build/sanitizers/asan_suppressions.cc
char kASanDefaultSuppressions[] =
src/build/sanitizers/sanitizer_options.cc
extern "C" char kASanDefaultSuppressions[];
BUG=681027
R=eugenis@chromium.org, chrisha@chromium.com, rnk@chromium.org
Review-Url: https://codereview.chromium.org/2631753002
Cr-Original-Commit-Position: refs/heads/master@{#444764}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c9e8aae171ee0999ed1ad766089d76cf40159fee
This CL fixes a tsan data race, which is caused by calling StopFetchingData
from different threads. It must not be allowed. Use the same thread by using
a PostTask.
BUG=673760
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_tsan_rel_ng
Review-Url: https://codereview.chromium.org/2569763004
Cr-Original-Commit-Position: refs/heads/master@{#439798}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d52b2f15ba4712b9dc4a2d08a45aa3210999dc8f
As far as I can tell, everything references the original location of
llvm-symbolizer in third_party/llvm-build/Release+Asserts/bin, so
this shouldn't be needed.
Clusterfuzz used to need this, but it stopped needing it in
https://codereview.chromium.org/2394163006/
No intentional behavior change.
BUG=none, vaguely related to 430156 and 495204
Review-Url: https://codereview.chromium.org/2145833008
Cr-Original-Commit-Position: refs/heads/master@{#436986}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: eeaccfd53c4d582d39ec7e30f19d8e4db8b4ee49
This reverts commit f54c1207ebe045798603f6484ad1f59aecad061c.
This is a speculative revert - the original problem doesn't seem to
repro anymore (per https://crbug.com/432070#c17) so let's try to remove
the (hopefully) no longer needed test suppression.
BUG=432070
Review-Url: https://codereview.chromium.org/2557903002
Cr-Original-Commit-Position: refs/heads/master@{#436765}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 9e11ad5750fb228b83db25fcd90f77488659d750
The two AssociatedGroupController implementations we have both own a lock
which is acquired during message dispatch, among other operations.
In the EDK layer a Watcher lock is also acquired further up the stack.
Because sending a message may indirectly require notifying the same
Watcher lock, it must never be true that the AssociatedGroupController's
lock is held while its pipe is written to.
This fixes the lock-order inversion resulting from the
fact that pipe control messages were being sent under lock, and removes
the associated TSAN suppression.
BUG=663557
TBR=glider@chromium.orgR=yzshen@chromium.org
Review-Url: https://codereview.chromium.org/2494483003
Cr-Original-Commit-Position: refs/heads/master@{#431331}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 58909542197b704efe10526c169e4b502f799b57
This CL destructs base::Thread and its underlying system thread before
WorkerThread::terminateAndWait returns. This is important to make sure that
the main thread calls WTF::shutdown() after ThreadSpecifics of all threads
are destructed. See 345240 for more details.
BUG=345240
Review-Url: https://codereview.chromium.org/2251903002
Cr-Original-Commit-Position: refs/heads/master@{#412735}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 30d88091658428a57d4567d72f41a8a251031f68
The race condition is expected as we're racing the thread reclaim
logic. ThreadLocalStorage happens to not synchronize anything at the
moment. Adding a lock to synchronize usage of g_tls_destructors won't
actually fix the inherent race condition. In production, it's up the
owner to make sure that any references have cleaned up before
releasing the TLS slot.
Given that ThreadLocalStorage will be getting some locks in the future,
so I expect to be able to remove the suppression once that goes
through.
BUG=638378
Review-Url: https://codereview.chromium.org/2256493002
Cr-Original-Commit-Position: refs/heads/master@{#412362}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ad1893a4eeeb1775709005ad7df0081560fa27d3
The compiler does not include the class name in the symbol name for the
TestBody method so the suppression added in r409915 doesn't work. This
patch disables the test under TSan instead.
BUG=634383,629716
TBR=thestig@chromium.org
NOTRY=true
Review-Url: https://codereview.chromium.org/2218663003
Cr-Original-Commit-Position: refs/heads/master@{#410159}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4ef71eefd26cd7c4f3ee5c7d4fbff9aaed2a5459