Commit Graph

8 Commits

Author SHA1 Message Date
wu@webrtc.org
d371a29227 Fix tsan failures for libjingle_unittest.
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
2013-10-23 23:56:09 +00:00
wu@webrtc.org
8804a29951 Add CriticalSection to fakeaudiocapturemodule to protect the variables which will be accessed from process_thread_ and the main thread.
TEST=try bots
BUG=1205
R=henrike@webrtc.org, kjellander@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2419004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5019 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-22 23:09:20 +00:00
wu@webrtc.org
4d7116be7a Fix tsan failures on filevideocapturer.cc.
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
2013-10-22 18:41:17 +00:00
wu@webrtc.org
853dd07890 Add issue links to the tsanv2 suppressions.
BUG=2521,2484

TBR=kjellander@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2418004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4984 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-16 22:50:59 +00:00
kjellander@webrtc.org
d1cfa7149e TSan v2 suppressions and exclusions for libjingle tests.
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
2013-10-16 16:51:52 +00:00
kjellander@webrtc.org
f8c16b8bf4 Disabling CondVarTest for TSan v2 (take 2)
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
2013-08-29 09:47:18 +00:00
kjellander@webrtc.org
5f8d05add2 Disabling CondVarTest for TSan v2.
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
2013-08-28 19:54:33 +00:00
kjellander@webrtc.org
f3bf5e02c8 Add suppressions file for TSan v2
This is needed for our tests to pass when run under TSan v2.
More details on TSan v2 can be found at
http://www.chromium.org/developers/testing/threadsanitizer-tsan-v2

BUG=chromium:274414
TEST=ran tests locally standing in trunk/ using:
GYP_DEFINES=tsan=1 linux_use_tcmalloc=0 release_extra_cflags="-gline-tables-only" gclient runhooks
ninja -C out/Release
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/testname
R=niklas.enbom@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2057004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4564 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-19 05:33:20 +00:00