This also addresses a harmless read of uninitialized 2-bytes to quiet the Valgrind error. Also it adds a lock around the usage of initialized_ in RawChannel, even though it's not needed since it's just an optimization to avoid thread hops.
BUG=561803,571735
TBR=glider, thakis
Review URL: https://codereview.chromium.org/1549703002
Cr-Original-Commit-Position: refs/heads/master@{#366727}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 9269e9ad8cb31a90e0ecfa0b24a597776d962d5d
The MessageLoopHelper 'helper' is created on the main thread in this test, so to
avoid a race condition move invocation of helper.CallbackCalled() from
CacheThread to the main thread.
BUG=313726
Review URL: https://codereview.chromium.org/1460053003
Cr-Original-Commit-Position: refs/heads/master@{#362429}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 07477ffeefe3587f8d91b36d388e7fb73dc4d8da
This makes it possible to test GLImage implementations without
requiring multi-process GpuMemoryBuffer support.
This initial version is limited to testing CopyTexSubImage with
the default buffer format but testing of more functionality and
formats will be added in follow up patches.
Also includes some minor cleanup needed to not have GLImage
implementations depend on GpuMemoryBuffer API.
BUG=538325
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1354483004
Cr-Original-Commit-Position: refs/heads/master@{#353735}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8aa0fb1d78963610ab62a349d1dff9bd2e065a3e
This makes it possible to test GLImage implementations without
requiring multi-process GpuMemoryBuffer support.
This initial version is limited to testing CopyTexSubImage with
the default buffer format but testing of more functionality and
formats will be added in follow up patches.
Also inlcudes some minor cleanup needed to not have GLImage
implementations depend on GpuMemoryBuffer API.
BUG=
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1354483004
Cr-Original-Commit-Position: refs/heads/master@{#352767}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 11b3655a4dfd5b46f7783421e2959a41ddbf3a00
This makes it possible to test GLImage implementations without
requiring multi-process GpuMemoryBuffer support.
This initial version is limited to testing CopyTexSubImage with
the default buffer format but testing of more functionality and
formats will be added in follow up patches.
Also inlcudes some minor cleanup needed to not have GLImage
implementations depend on GpuMemoryBuffer API.
BUG=
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1354483004
Cr-Original-Commit-Position: refs/heads/master@{#352720}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f9d17986fef45ad30ef4e6e468a7a56a90851508
Leaves the previous version in place but updates BUILD.gn and libvpx.gn to point to the new version. This allows decoupling the WebRTC update which is also in DEPS.
libvpx DEPS changes ac1772e:0d6551
https://codereview.chromium.org/1339033002https://chromium-review.googlesource.com/299759https://codereview.chromium.org/1350853003https://codereview.chromium.org/1353433003
Copy directory to libvpx_new to avoid breaking bisecting. This allows the user to move between and older and newer revision. A followup to rename libvpx_new to libvpx will come in some ~months because there are additional complications if one tries to sync directly from pre-move to post-rename or the other way around.
Remove WATCHLISTS and codereview.settings from _new and use the parent versions.
Add DEPS file to enumerate the #include paths.
Check out third_party/libvpx_new/source/libvpx directly from upstream project
Update all the easy clients of libvpx to depend on the new tree directly.
ac1772e3db
BUG=481034
R=tomfinegan@chromium.org,brettw@chromium.org,phajdan.jr@chromium.org
Review URL: https://codereview.chromium.org/1323333002
Cr-Original-Commit-Position: refs/heads/master@{#349789}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5238138a422157576799266228c0c9ee174936ae
But make it not strict. This is roughly the same behavior as we had
before the clang roll and the workaround in crbug.com/523384.
BUG=523384
Review URL: https://codereview.chromium.org/1308023005
Cr-Original-Commit-Position: refs/heads/master@{#345991}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5ae1e02429f0aa082ec2e2b524c38031087c47bc
There is a possible race in which
NetworkChangeNotifier::test_notifications_only_ might be read on one
thread while being written on another. This CL fixes that by making
the variable static and only allowing writes to it before the
NetworkChangeNotifier is created (before other things might try to
read it).
BUG=454652
Review URL: https://codereview.chromium.org/1255263002
Cr-Original-Commit-Position: refs/heads/master@{#341354}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e160f6be485deabcb4725d7e3623ae18ef5aee48
Also fix a data race with ThreadData::status_. TSan doesn't see this race explicitly, but it contributes to a race with the use of StaticSlot in ThreadData::tls_index_.
BUG=268941
TESTED=Ran base_unittests.
TSAN errors before: lots, oodles, slathers, acres
After: Zip, zilch, nadda
Review URL: https://codereview.chromium.org/1222123002
Cr-Original-Commit-Position: refs/heads/master@{#339219}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 42d16882080508876676ef164c1f7a863ca1fbf3
In content_browsertests, LSAN reports the leak happens in
ResourceFetcher, but its (persistent|ref) pointer is held
by a live instance of Document or DocumentLoader at the
end of the tests.
BUG=506433
Review URL: https://codereview.chromium.org/1216963014
Cr-Original-Commit-Position: refs/heads/master@{#337371}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2af3041652d3a473995babb42e0d71778427dfdf
This reverts commit 54a65ff05954c059b1d5d80c7435716fcd393c72.
This suppression is safe to remove now, ViEChannelManagerScoped no
longer exists so there are no stacks matching this.
BUG=425057
R=tommi@chromium.org
Review URL: https://codereview.chromium.org/1162823003
Cr-Original-Commit-Position: refs/heads/master@{#333347}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 3fb59184c50238c8bd7a930fd6bc14f6cf9081b8
Due to 484760, symbolization for WindowProxy::initializeIfNeeded is
different between debug and release builds, which causes the current
suppression to not match on the try bots. On release builds, it comes
up as: > #8 0x7875c74 in initializeIfNeeded
third_party/WebKit/Source/bindings/core/v8/WindowProxy.cpp:209:19
Use blink::WindowProxy::createContext instead.
BUG=484760, 478792
NOTRY=true
Review URL: https://codereview.chromium.org/1130603002
Cr-Original-Commit-Position: refs/heads/master@{#328447}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8c214f63c675d641c31053ebd1c56688e774f557
In browser tests, LSan seems to think RemoteDOMWindow leaks even though
the v8 DOM wrapper is still holding a reference to it.
BUG=480676
Review URL: https://codereview.chromium.org/1123583002
Cr-Original-Commit-Position: refs/heads/master@{#328226}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e6c50d93e65d4c22a8af529137b01ac4223deace
This function grabs locks in different orders depending on the order
of the layers being drawn. But they are all released before being any
are grabbed again, and more than one lock grab only occurs on the
compositor thread.
R=pbos@chromium.org,earthdok
BUG=476529
Review URL: https://codereview.chromium.org/1081103009
Cr-Original-Commit-Position: refs/heads/master@{#327304}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6e85bb2fcfcee27c0bfb78e1492565e6dfe9f11b
A race used to be detected by TSAN when running
WebRtcInternalsBrowserTest.WithRealPeerConnectionCall
This test is currently disabled due to flakiness (see crbug.com/272413).
However, the webrtc::EventPosix issues were refactored and no longer cause races
with that (disabled) test (or any other test).
BUG=246970
Review URL: https://codereview.chromium.org/1088923003
Cr-Original-Commit-Position: refs/heads/master@{#325204}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 31cb44c6430327dff8765ebaf8f51f18aa1d7045
Refactored web_app::ShortcutInfo so it is always passed via a scoped_ptr
(always having exactly one owner). This allows it to be safely passed
between threads without having a data race on the favicon image's
reference count.
Removed TSan suppression on ImageFamily.
BUG=364006
Review URL: https://codereview.chromium.org/1038573002
Cr-Original-Commit-Position: refs/heads/master@{#324360}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b21fe8ee736f3c2ee95b1cf181ef0a678bfcbf05
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