This CL ensures that locks are taken in the same order in both threads in order to avoid deadlocks.
BUG=433993
TEST=Existing WebRtc content_browsertests with TSAN enabled.
Review URL: https://codereview.chromium.org/1036993003
Cr-Original-Commit-Position: refs/heads/master@{#322995}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5330f31cf74e3756dc2103f8c3d5840b5f6a2884
This patch adds a whole bunch of small targets that
had either already been done but weren't mentioned
in the 'gn_all' group, or needed to be done.
In theory this should produce no change on any platform
other than Linux, except for one small windows target.
R=brettw@chromium.orgTBR=dtu@chromium.org
BUG=432959
CQ_EXTRA_TRYBOTS=tryserver.chromium.linux:android_chromium_gn_compile_dbg,android_chromium_gn_compile_rel;tryserver.chromium.win:win8_chromium_gn_rel,win8_chromium_gn_dbg;tryserver.chromium.mac:mac_chromium_gn_rel,mac_chromium_gn_dbg
Review URL: https://codereview.chromium.org/975123003
Cr-Original-Commit-Position: refs/heads/master@{#319580}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: db5527d777f1e0cdbaec2bca579bec33aaf7497e
ChannelDelegate::GetWeakPtr() was called from the UI thread but
it was racy as the weak ptr is also used in the IO thread.
This CL turns ChannelDelegate a ThreadSafeRefCounted so that
we can pass ChannelDelegate itself to the task runner, instead
of using its weak ptr on the UI thread.
This change also turns some TaskRunner declarations to
SequencedTaskRunner to access its DeleteSoon() API from
ChannelDelegate.
TBR=creis@chromium.orgR=viettrungluu@chrormium.org, agl@chromium.org
BUG=460243
Review URL: https://codereview.chromium.org/955813002
Cr-Original-Commit-Position: refs/heads/master@{#318994}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 70b91498930876d016b9716f2cc267373287976d
With ICU 54, the function name suffix has to be 54 instead 52.
BUG=223352,428145
TEST=Tsan bot does not complain about a data race in icu/source/common/cmemory.c
TBR=jyasskin
NOTRY=true
Review URL: https://codereview.chromium.org/946683003
Cr-Original-Commit-Position: refs/heads/master@{#317396}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a10ee9af8cd5ce1cde97ce64997e8b1c88c9704f
Original CL: crrev.com/882673002
Reason for revert: Broke memory.fyi bot (crbug.com/455530)
Reason for reland: The CL was renaming the tracing namespace and missed
the rename of the tsan suppression (addressed here)
Original description:
After having transitioned all the tracing headers from base/debug/ to
base/trace_event, this CL addresses the namespace move.
In principle, this CL should only change the namespace of the
base/trace_event files but the namespace used by the tracing clients.
In order to achieve this, namespace aliases are appended to the
trace_event headers, to make it so that clients can still refer to
base::debug::TraceFoo, with that being aliased to
base::trace_event::TraceFoo.
The upcoming CLs will gradually migrate the clients to use the
base::trace_event namespace and will remove the ns aliases.
Unfortunately, this CL has also to update few tracing clients,
in particular the ones having forward declarations. Forward
declarations, in fact, cannot be aliased as the compiler sees them
before the alias itself.
See crrev.com/837303004 and the related bug for motivations and design doc.
BUG=451032,455530
TBR=skyostil@chromium.org,jam@chromium.org,dsinclair@chromium.org,ssid@chromium.org
Review URL: https://codereview.chromium.org/869043008
Cr-Original-Commit-Position: refs/heads/master@{#314806}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 159604379ff8ef8d3db4577f44d3d6438092ccf0
This also reverts:
"Re-enable globals instrumentation under ASan on Mac."
964445e21b60278ff6e0de560c4110d8a161be36.
It was causing test failures.
BUG=431803, 440602, 352073
TBR=brettw@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/790263003
Cr-Original-Commit-Position: refs/heads/master@{#307768}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 75812af2fc918c3f22cc79dd83214bc1b2ec187c
They started failing after the Clang roll. Seems they're not ready
for prime time yet.
BUG=431803, 440543
TBR=glider
NOTRY=true
Review URL: https://codereview.chromium.org/788033002
Cr-Original-Commit-Position: refs/heads/master@{#307565}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0bf822367e392d7120c1e2360cb6a8f89e24e2e6
This CL links libsanitizer_options into every executable built with ASan on OSX.
The existing implementation of __asan_default_options for Chromium.app is merged
with that in sanitizer_options.cc
Also now use_sanitizer_options is only set when building with sanitizers so that
there isn't an unconditional dependency on an empty object file in every
executable in non-sanitizer builds.
In addition to that, the dependency on sanitizers.gyp:sanitizer_options is removed
from ui/base/ui_base_tests.gyp:ui_base_tests_bundle which is not a real shared lib,
despite marked as such.
BUG=302040
TBR=earthdok@chromium.org,cpu@chromium.org
R=avi@chromium.org
Review URL: https://codereview.chromium.org/594843002
Cr-Original-Commit-Position: refs/heads/master@{#296200}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7dbed1574ed37e1ec4d8417e6d4c4205fcfdf382
Reason for revert:
This CL broke ui_unittests on both Mac ASan and Mac ASan 64 bots:
/Volumes/data/bool/build/slave/Mac_ASan_Tests__2_/build/src/out/Release/ui_unittests --brave-new-test-launcher --test-launcher-bot-mode --verbose --test-launcher-print-test-stdio=always --gtest_print_time --test-launcher-summary-output=/tmp/tmpnPVxX8
dyld: Library not loaded: @executable_path/../Versions/1.0.0.0/ui_unittests Framework.framework/ui_unittests Framework
Referenced from: /Volumes/data/bool/build/slave/Mac_ASan_Tests__2_/build/src/out/Release/ui_unittests
Reason: image not found
http://build.chromium.org/p/chromium.memory/builders/Mac%20ASan%20Tests%20%282%29/builds/5393/steps/ui_unittests/logs/stdio
Original issue's description:
> Enable ASan default options on Mac.
>
> This CL links libsanitizer_options into every executable built with ASan on OSX.
> The existing implementation of __asan_default_options for Chromium.app is merged with that in sanitizer_options.cc
>
> Also now use_sanitizer_options is only set when building with sanitizers so that there isn't an unconditional dependency on an empty object file in every executable in non-sanitizer builds.
>
> BUG=302040
> R=cpu@chromium.org
>
> Committed: https://crrev.com/0640a5d19ef72aec62787423e8a7c78c4f62b955
> Cr-Commit-Position: refs/heads/master@{#295958}
TBR=cpu@chromium.org,earthdok@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=302040
Review URL: https://codereview.chromium.org/593683004
Cr-Original-Commit-Position: refs/heads/master@{#295987}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5ed6fe035890a10288da3b99b2b46a7680b4636f
This CL links libsanitizer_options into every executable built with ASan on OSX.
The existing implementation of __asan_default_options for Chromium.app is merged with that in sanitizer_options.cc
Also now use_sanitizer_options is only set when building with sanitizers so that there isn't an unconditional dependency on an empty object file in every executable in non-sanitizer builds.
BUG=302040
R=cpu@chromium.org
Review URL: https://codereview.chromium.org/581983003
Cr-Original-Commit-Position: refs/heads/master@{#295958}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0640a5d19ef72aec62787423e8a7c78c4f62b955
Temporary measure until both Pipeline is reworked to provide a time
estimate to the main thread and VideoRendererImpl's internal thread
is eliminated.
This is similar to the the locking currently present in
AudioRendererImpl.
BUG=412764
Review URL: https://codereview.chromium.org/562673003
Cr-Original-Commit-Position: refs/heads/master@{#294207}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 465cf3e643d44ce7176072bdbac1a9b03ac70514