These tests have been failing for a long time at
http://build.chromium.org/p/client.webrtc.fyi/builders/Linux%20TsanRV
This bot runs a tool called TSan Race Verifier.
More info about Race Verifiers can be found at
https://code.google.com/p/data-race-test/wiki/RaceVerifier
By excluding the tests like this, they will also be disabled
for the normal TSan bot, where they currently pass. This shouldn't
be a problem since we have a TSan v2 bot running too (which uses
a different set of suppressions), so it should catch any newly
introduced race conditions. The TSan v2 bot will soon replace the
old TSan bot, as v1 is being deprecated.
TBR=mallinath@webrtc.org
BUG=2396
TEST=Passing run on Linux of:
GYP_DEFINES=build_with_tool=tsan gclient runhooks
ninja -C out/Release libjingle_p2p_unittest
tools/valgrind-webrtc/webrtc_tests.sh --tool=tsan_rv -b out/Release -t libjingle_p2p_unittest
Review URL: https://webrtc-codereview.appspot.com/8329005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5515 4adac7df-926f-26a2-2b94-8c16560cd09d
New errors arrived when rolling libjingle in r5502.
These suppressions are needed to green up the Memcheck and
TSan bots.
BUG=1976,2080
TEST=local runs on Linux:
tools/valgrind-webrtc/webrtc_tests.sh --tool=tsan -b out/Release -t libjingle_unittest
tools/valgrind-webrtc/webrtc_tests.sh --tool=memcheck -b out/Release -t libjingle_unittest
and trybot:
git try --bot=linux_memcheck,linux_tsan -t libjingle_unittest
TBR=wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/8299004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5509 4adac7df-926f-26a2-2b94-8c16560cd09d
1) Change AsyncSocket's SignalReadEvent and SignalWriteEvent's thread mode to multi_threaded_local as they can be accessed from different threads.
2) Protect NATServer::TransEntry::whitelist.
3) Protect PhysicalSocket:error_.
Detail failures can be seen from issue 2080, comment #5.
TBR=fischman@webrtc.org
RISK=P1
TEST=try bots and tsanv2
BUG=2080
Review URL: https://webrtc-codereview.appspot.com/2669005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5026 4adac7df-926f-26a2-2b94-8c16560cd09d
1) init start_time_ns_ before the file_read_thread_ is started to avoid data racing as the start_time_ns_ will also be read by the file_read_thread_.
2) add CriticalSection to protect |finished_| that is accessed by FileReadThread and the main thread
Also remove the suppression for filemediaengine.cc, which has already been fixed in other cl.
TBR=henrike@webrtc.org
TEST=try bots and manual tsan v2 test
BUG=2078
Review URL: https://webrtc-codereview.appspot.com/2509004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5018 4adac7df-926f-26a2-2b94-8c16560cd09d
Update Thread documentation, fix all subclasses that had a problem.
This is to avoid a data racing between the destructor modifying the vtable, and
Thread::PreRun calling virtual method Run at the same time.
For example:
[ RUN ] FileMediaEngineTest.TestGetCapabilities
==================
WARNING: ThreadSanitizer: data race on vptr (ctor/dtor vs virtual call) (pid=2967)
Read of size 8 at 0x7d480000bd00 by thread T1:
#0 talk_base::Thread::PreRun(void*) /mnt/data/b/build/slave/Linux_Tsan_v2/build/src/out/Release/../../talk/base/thread.cc:353 (libjingle_media_unittest+0x000000234da8)
Previous write of size 8 at 0x7d480000bd00 by main thread:
#0 talk_base::Thread::~Thread() /mnt/data/b/build/slave/Linux_Tsan_v2/build/src/out/Release/../../talk/base/thread.cc:158 (libjingle_media_unittest+0x00000023478c)
#1 ~RtpSenderReceiver /mnt/data/b/build/slave/Linux_Tsan_v2/build/src/out/Release/../../talk/media/base/filemediaengine.cc:122 (libjingle_media_unittest+0x0000001b551f)
...
RISK=P2
TESTED=try bots and tsan
BUG=2078,2080
R=fischman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2428004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4999 4adac7df-926f-26a2-2b94-8c16560cd09d
Add suppressions for libjingle tests so they pass under TSan v2.
Disable the following tests for TSan v2 (only) since they're failing:
* StunServerTest.TestGood
* JsepPeerConnectionP2PTestClient.*
See build logs at:
http://build.chromium.org/p/client.webrtc.fyi/builders/Linux%20Tsan%20v2/
for more details.
BUG=1205,2078,2079,2080,2517
TEST=Ran a successful run of each test locally on Linux using:
GYP_DEFINES='tsan=1 linux_use_tcmalloc=0 release_extra_cflags="-gline-tables-only"' gclient runhooks
ninja -C out/Release
For each test, run standing in trunk/:
TSAN_OPTIONS="suppressions=tools/valgrind-webrtc/tsan_v2/suppressions.txt print_suppressions=1 report_signal_unsafe=0 report_thread_leaks=0 history_size=7" out/Release/[libjingle_testname]
R=wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2411004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4977 4adac7df-926f-26a2-2b94-8c16560cd09d
In https://codereview.chromium.org/26190002 Chromium
started a cleanup of their wrapper script, by adding
the --target flag and start passing build dir similar
to how the bots are setting it (i.e. pass out and not
out/Release).
This CL adds --target support for our wrapper script,
without changing the existing behavior (I'll do a
larger update at a later stage).
BUG=none
TEST=Ran the following successfully:
tools/valgrind-webrtc/webrtc_tests.sh --build_dir out/Release --target Release --test test_support_unittests
tools/valgrind-webrtc/webrtc_tests.sh --build_dir out --target Release --test test_support_unittests
tools/valgrind-webrtc/webrtc_tests.sh --target Release --test out/Release/test_support_unittests
TBR=phoglund@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2396004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4957 4adac7df-926f-26a2-2b94-8c16560cd09d
a different thread.
One example is the _playWarning can be changed in AudioDeviceLinuxALSA::Init, which is called on the application's thread. At the same time it can be read via PlayoutWarning() on the VoE's process_thread.
RISK=P2
TESTED=try bots and tsan test:
tools/valgrind-webrtc/webrtc_tests.sh --tool=tsan -t out/Debug/libjingle_peerconnection_unittest --gtest_filter=PeerConnectionFactoryTestInternal.CreatePCUsingInternalModules
BUG=1205
R=xians@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2315004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4866 4adac7df-926f-26a2-2b94-8c16560cd09d