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
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
This test goes into an eternal loop sometimes when run under
TSan v2, therefore I'm disabling it until this is resolved.
Doing that, the TSan v2 bot in our new WebRTC FYI waterfall at
http://build.chromium.org/p/client.webrtc.fyi/waterfall
will hopefully go green.
The define used only exists for TSan v2, so v1 should be
unaffected.
The suppression added in http://review.webrtc.org/2126005/
turns out actually has no effect, so I'm removing it again.
It's probably useless since TSan v2 obviously alters the code's
behavior, causing these errors. Since the errors are not TSan v2
failures, the suppression has no effect.
BUG=2259
TEST=test passing locally when run as described in 2259 (since
no tests are run).
R=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2115005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4639 4adac7df-926f-26a2-2b94-8c16560cd09d
This test goes into an eternal loop sometimes when run under
TSan v2, therefore I'm disabling it until this is resolved.
Doing that, our new WebRTC FYI waterfall with a TSan v2 bot will hopefully go green when deployed (see https://codereview.chromium.org/23231004)
The define used only exists for TSan v2, so v1 should be
unaffected.
BUG=2259
TEST=test passing locally when run as described in 2259 (since
no tests are run).
R=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2126005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4635 4adac7df-926f-26a2-2b94-8c16560cd09d