Граф коммитов

186 Коммитов

Автор SHA1 Сообщение Дата
Francois Doray fc228b0408 Remove usage of SequencedWorkerPoolOwner.
Replace usage with ScopedTaskEnvironment.

TBR=glider@chromium.org

Bug: 667892
Change-Id: I93d25b143a39f8966d425d98954bec28c710857a
Reviewed-on: https://chromium-review.googlesource.com/881532
Reviewed-by: François Doray <fdoray@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Ahmed Fakhry <afakhry@chromium.org>
Reviewed-by: Pavel Yatsuk <pavely@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Commit-Queue: Gabriel Charette <gab@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#532260}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c3b4d56a01fb89d9b290214a36beb2f1eafa5c5b
2018-01-28 01:32:18 +00:00
Abhishek Arya 1b4f916813 Add TSan suppression for latest debian release.
R=glider@chromium.org

Bug: 790784,797998
Change-Id: I112b606d8f34a616624d99201b6da8b5534148ea
Reviewed-on: https://chromium-review.googlesource.com/846028
Reviewed-by: Evgeniy Stepanov <eugenis@chromium.org>
Commit-Queue: Abhishek Arya <inferno@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#526534}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 9779e9515ba716e5ed490c3ffce69d8f13eba521
2018-01-02 21:02:13 +00:00
Tom Anderson 3ee4b6ff25 Reland "Statically link fontconfig on Linux"
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.org
TBR=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
2017-12-22 06:20:09 +00:00
Lukasz Anforowicz a846bebd3d Revert "Statically link fontconfig on Linux"
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
2017-12-19 23:05:34 +00:00
Tom Anderson bb86bde677 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-Original-Commit-Position: refs/heads/master@{#524389}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4f1a60552748d150783655ee6f7b6f7084e3af95
2017-12-15 15:53:31 +00:00
Yuzhu Shen 048c208662 Remove support for old-style Mojo JS bindings.
Bug: 699569, 718047
Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: I3e2d9e55cac52b392bd31c96c51cc94a361b618b
Reviewed-on: https://chromium-review.googlesource.com/809545
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Commit-Queue: Yuzhu Shen <yzshen@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#522193}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 332f5981400c7806126279035c96a96dc777f89c
2017-12-06 21:11:05 +00:00
Alexander Pisarev 1260968c4f Suppressing false leaks caused by v8 fast shut in tests.
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
2017-12-01 09:46:37 +00:00
danakj 148a2ccedb Pass TransferableResource through TextureLayer
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
2017-11-20 22:16:58 +00:00
Patrik Höglund 519a8f4398 Revert suppression.
R=sugoi@chromium.org

Bug: 778254
Change-Id: Ib201e3fbc4adf7749b1be5a6fe9ebaf86691a94e
Reviewed-on: https://chromium-review.googlesource.com/741747
Reviewed-by: Alexis Hétu <sugoi@chromium.org>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#512539}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4286b558fc28be32d592852f619c379da42fbe21
2017-10-30 18:37:11 +00:00
Patrik Höglund a1901c4954 Porting kerl@'s test to browser tests.
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
2017-10-26 13:43:29 +00:00
Misha Efimov 174fcec527 Remove unused include crt_externs.h from sanitizer_options.cc
- Unused after https://codereview.chromium.org/2911513002
- Causing compilation error with use_asan=true on iOS.

Bug: 593874
Change-Id: I448cdcc472faaa44fa914efe56219b2448ed0b71
Reviewed-on: https://chromium-review.googlesource.com/728395
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Misha Efimov <mef@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#510163}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 427454c842443a7880822fd9c4a475d566728f70
2017-10-19 19:43:05 +00:00
Stanislav Chiknavaryan 9d108f33b1 Removed TSAN suppression for GpuWatchdogThread::CheckArmed
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
2017-10-10 23:34:38 +00:00
Dale Curtis 8f3cf125af Suppress all of libpulsecommon*.so, seems no smaller suppression.
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
2017-10-02 17:26:04 +00:00
Dale Curtis e60bd7ba8a Update suppression for pulse audio tsan issues.
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
2017-09-27 17:13:04 +00:00
Brett Wilson 71906a4883 Remove tracked_objects.
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
2017-09-15 22:45:35 +00:00
David Benjamin 5d7961a907 Suppress leaks in third_party/yasm
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
2017-08-16 20:19:46 +00:00
Brian White 8bf1f13319 Remove last-accessed histogram name.
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
2017-08-11 17:58:50 +00:00
Alexei Svitkine 65863a60d6 Expand TSAN suppression related to debug code.
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
2017-07-24 15:14:45 +00:00
Alexei Svitkine 277effef1f Add more instrumentation to diagnose an Android memory corruption.
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
2017-07-22 00:04:05 +00:00
Fernando Serboncini 3654e981bc Adds TextIntercepts multi threaded tests
Also, disabes HarfBuzz's atomic refptr TSan warning

Bug: 730692
Change-Id: I69c7fd5ab20896b6abd864506ae394732f8aa6e1
Reviewed-on: https://chromium-review.googlesource.com/544625
Commit-Queue: Fernando Serboncini <fserb@chromium.org>
Reviewed-by: Justin Novosad <junov@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#487953}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: de5a958df5a58664d436ad931d23e6cd25c71f9e
2017-07-19 20:24:57 +00:00
gab a055d2ec5f Take #2 at suppressing TSAN race from TimerSequenceTest
Same goal as https://codereview.chromium.org/2921463003

I think that one didn't suppress properly because the TestBody itself
isn't in the racy stacks (merely in the spawning stacks which might
not count in the suppression rules)...

Unsuppressed race report @
https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Fchromium.memory%2FLinux_TSan_Tests%2F6818%2F%2B%2Frecipes%2Fsteps%2Fbase_unittests%2F0%2Flogs%2FTimerSequenceTest.OneShotTimerUsedAndTaskedOnDifferentPools%2F0

BUG=552633
TBR=danakj@chromium.org
NOTRY=True

Review-Url: https://codereview.chromium.org/2921623005
Cr-Original-Commit-Position: refs/heads/master@{#476400}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f6d250552b949fadd00a4ddb42063e93411df272
2017-06-01 20:03:24 +00:00
gab 46f1b077bc Suppress one more TimerSequenceTest race per known pre-existing race.
Missed one in https://codereview.chromium.org/2491613004/ (CQ didn't catch it?)

Caught by findit @ https://findit-for-me.appspot.com/waterfall/culprit?key=ag9zfmZpbmRpdC1mb3ItbWVyRAsSDVdmU3VzcGVjdGVkQ0wiMWNocm9taXVtLzRlODQ0YmI1ZjY4NmRiZDNhMDYyYzZhYWY4M2M4YTFkZjE3MWEwOGEM

BUG=587199, 552633
TBR=danakj
NOTRY=True

Review-Url: https://codereview.chromium.org/2921463003
Cr-Original-Commit-Position: refs/heads/master@{#476357}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4dc3eafa33faa138cf508bdcea933813c4a042dd
2017-06-01 18:21:49 +00:00
gab 96e08bc7f5 Make base::Timer sequence-friendly.
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
2017-06-01 16:23:36 +00:00
thomasanderson 358b868b28 Partition libcxx build code from build/config/sanitizers
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
2017-05-26 20:01:39 +00:00
Mike Bjorge 63fb52bdf7 [TSAN] Temporarily suppress data race in ICUIsRTL.
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
2017-05-14 08:23:31 +00:00
primiano e7a23c4278 Reland of Linux: Disable DBus auto-launch (patchset #1 id:1 of https://codereview.chromium.org/2869843003/ )
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
2017-05-09 13:07:12 +00:00
jbauman 3e95643700 Add TSAN suppression for deadlocks in libGLX.so
This software isn't under our control, so suppress deadlock warnings we
can't fix.

BUG=691029

Review-Url: https://codereview.chromium.org/2807523002
Cr-Original-Commit-Position: refs/heads/master@{#462960}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b3d846d907794a018dca0793f45320064dc882f8
2017-04-07 19:28:17 +00:00
rockot 7d7e53f565 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
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
2017-03-21 06:44:43 +00:00
horo 9e7f0b1fae Revert of Move some basic early process init into Service Manager (patchset #5 id:220001 of https://codereview.chromium.org/2613653003/ )
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: c6026704ff

TBR=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
2017-03-21 02:11:12 +00:00
rockot 068550ee95 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-Original-Commit-Position: refs/heads/master@{#458252}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c6026704ff452d402924ce2d88b0168baf227b1e
2017-03-21 00:29:35 +00:00
maxmorin dc8b69a1b5 Remove suppressions for some bugs that are closed as fixed.
BUG=280466,285242,345618,345624,347548,417193,638583

Review-Url: https://codereview.chromium.org/2755453003
Cr-Original-Commit-Position: refs/heads/master@{#457076}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ba0d317cba4476cd306db516d13f704bfd5bf9ff
2017-03-15 14:22:32 +00:00
kcwu 8ec52bfb65 Fix syntax of kAsanDefaultOptions
BUG=None
TEST=chromeos build with is_asan=true

Review-Url: https://codereview.chromium.org/2748103007
Cr-Original-Commit-Position: refs/heads/master@{#457050}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 59e93059c5418474c88680fb71020bf1fb417d2b
2017-03-15 10:50:29 +00:00
glider fc1240aa4e Delete TSan suppressions for base::Histogram.
The bugs are fixed long ago.

BUG=chromium:46840
TBR=thestig@chromium.org
TEST=trybots are green

Review-Url: https://codereview.chromium.org/2742353002
Cr-Original-Commit-Position: refs/heads/master@{#456366}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2ce64fc7cd0fa0546926a832497d913f058a1e74
2017-03-13 13:55:39 +00:00
machenbach 5ace2f33c9 tsan: Add suppression for a net unittest
BUG=699562
R=jochen@chromium.org,mstarzinger@chromium.org

Review-Url: https://codereview.chromium.org/2732883007
Cr-Original-Commit-Position: refs/heads/master@{#455458}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ecaade2ce813c97d168576d035f8610c642947eb
2017-03-08 15:37:24 +00:00
eholk b60d2c66e5 Set allow_user_segv_handler asan option
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
2017-03-07 21:05:53 +00:00
grt 11f5df6e25 Stop base::OpenFile from leaking fds/handles into child procs.
BUG=688362
TEST=New FileUtilTest.OpenFileNoInheritance fails with previous impl, passes with new impl.

Review-Url: https://codereview.chromium.org/2687713003
Cr-Original-Commit-Position: refs/heads/master@{#449999}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d0bc44fa24fba9f483aaddae8e2c29df3524a5d6
2017-02-13 17:52:17 +00:00
etienneb 1b6ff4f00b Fix ASAN default suppression symbol mangling on windows
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
2017-01-19 16:34:51 +00:00
maksim.sisov 276077a8e6 [sensors](Linux) Fix tsan data race in sensor reader
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
2016-12-20 14:39:54 +00:00
robliao 098cfc3334 Revert "Suppress TSAN Race in TaskSchedulerWorkerPoolCheckTlsReuse"
This reverts commit ad1893a4eeeb1775709005ad7df0081560fa27d3
(https://codereview.chromium.org/2256493002).

BUG=638378
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_tsan_rel_ng

Review-Url: https://codereview.chromium.org/2580603002
Cr-Original-Commit-Position: refs/heads/master@{#438894}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ab7a70453f0fed95e383d6650f4e318c8519dfa2
2016-12-15 19:39:08 +00:00
gab 19c593354c Temporarily suppress PollingSensorReader race to get bot green.
Suppression to be reverted in https://codereview.chromium.org/2569763004/.

TBR=haraken@chromium.org
BUG=673760
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_tsan_rel_ng

Review-Url: https://codereview.chromium.org/2579003002
Cr-Original-Commit-Position: refs/heads/master@{#438819}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 42c45b9a36514f64662c6fc6b15bb8506d0c06cc
2016-12-15 13:40:43 +00:00
gab 2eb6e67490 Suppress TSAN race in TimerTest while working on complex fix.
Fix coming up @ https://codereview.chromium.org/2491613004/ but
suppressing race in mean time to make TSAN bot green again
(issue 672860).

BUG=587199
TEST=TimerTest.OneShotTimer_CustomTaskRunner no longer reported as failure by linux_chromium_tsan_rel_ng.
NO_DEPENDENCY_CHECKS=true

Review-Url: https://codereview.chromium.org/2576503002
Cr-Original-Commit-Position: refs/heads/master@{#438749}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 243a13726f5baf1a3f5fc9dfa0f4ee651fd87ab4
2016-12-15 05:03:49 +00:00
thakis 3218923157 Remove step that copies llvm-symbolizer to the root build dir.
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
2016-12-07 17:08:59 +00:00
lukasza e7c322a181 Revert "Suppress a use-after-free report in blink::RemoteFrame::detach()."
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
2016-12-06 22:56:51 +00:00
rockot 09833df2d9 Mojo Bindings: Fix lock-order inversion in associated controllers
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.org

R=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
2016-11-10 20:14:03 +00:00
benwells 95e1010caa Add suppression for lock order inversion in Mojo.
This inversion should be removed if the potential deadlock is fised.

TBR=glider@chromium.org
BUG=663557

Review-Url: https://codereview.chromium.org/2496473002
Cr-Original-Commit-Position: refs/heads/master@{#431197}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 74b37c31ba3657034f634e46797741a80a2c3f32
2016-11-10 06:49:23 +00:00
brettw ffe5408f3a Remove GYP files in breakpad, build, and tools.
These are now unused.

Review-Url: https://codereview.chromium.org/2331893004
Cr-Original-Commit-Position: refs/heads/master@{#418010}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8c0eb8ed764590108f0278e5bbbddec3fc14b522
2016-09-12 19:55:25 +00:00
glider 25b786925a Suppress data races in third_party/webrtc/modules/audio_processing/aec/aec_rdft.cc
TBR=peah@chromium.org
BUG=638583
NOTRY=true

Review-Url: https://codereview.chromium.org/2267173004
Cr-Original-Commit-Position: refs/heads/master@{#414089}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d2ec51c59013680890442ce62e13afa0c2481d1d
2016-08-24 16:35:11 +00:00
haraken bc3fc22fa1 Destruct base::Thread before WorkerThread::terminateAndWait returns
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
2016-08-18 04:05:50 +00:00
robliao d9e36ac574 Suppress TSAN Race in TaskSchedulerWorkerPoolCheckTlsReuse
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
2016-08-16 22:37:33 +00:00
reillyg 4a343b09b4 Fix TSAN suppressions for non-joinable ThreadTest.
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
2016-08-05 20:57:46 +00:00