Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(272)

Issue 2710363003: Fix TSAN race in webrtc::voe::Channel (Closed)

Created:
3 years, 10 months ago by hbos
Modified:
3 years, 9 months ago
CC:
webrtc-reviews_webrtc.org, henrika_webrtc, Andrew MacDonald, tterriberry_mozilla.com, audio-team_agora.io, hlundin-webrtc, peah-webrtc, minyue-webrtc, the sun
Target Ref:
refs/heads/master
Project:
webrtc
Visibility:
Public.

Description

Fix TSAN race in webrtc::voe::Channel. |transport_overhead_per_packet_| and |rtp_overhead_per_packet_| could be read from and written to on different threads concurrently. This CL introduces a lock to GUARD these variables. NOTRY because master.tryserver.webrtc.linux_ubsan_vptr is broken, all other tests pass. BUG=webrtc:7231 NOTRY=True Review-Url: https://codereview.webrtc.org/2710363003 Cr-Commit-Position: refs/heads/master@{#16900} Committed: https://chromium.googlesource.com/external/webrtc/+/3fd31fe5023b299a531ee1ac74234aeba75026dd

Patch Set 1 : Running tsan bots before tests were disabled #

Patch Set 2 : Rebase with master and re-enable the tests that were flaking on tsan #

Total comments: 2

Patch Set 3 : Merge and added TODO #

Total comments: 2

Patch Set 4 : EXCLUSIVE_LOCKS_REQUIRED used (and moved TODO to right function, whoops) #

Unified diffs Side-by-side diffs Delta from patch set Stats (+11 lines, -9 lines) Patch
M webrtc/pc/rtcstats_integrationtest.cc View 1 2 2 chunks +0 lines, -4 lines 0 comments Download
M webrtc/voice_engine/channel.h View 1 2 3 2 chunks +5 lines, -3 lines 0 comments Download
M webrtc/voice_engine/channel.cc View 1 2 3 1 chunk +6 lines, -2 lines 0 comments Download

Messages

Total messages: 35 (21 generated)
hbos
Please take a look, solenberg and nisse.
3 years, 10 months ago (2017-02-24 14:52:06 UTC) #4
hbos
On 2017/02/24 14:52:06, hbos wrote: > Please take a look, solenberg and nisse. The problem ...
3 years, 10 months ago (2017-02-24 14:56:48 UTC) #5
hbos
Ping solenberg
3 years, 9 months ago (2017-02-27 18:26:40 UTC) #10
the sun
lgtm https://codereview.webrtc.org/2710363003/diff/20001/webrtc/voice_engine/channel.cc File webrtc/voice_engine/channel.cc (right): https://codereview.webrtc.org/2710363003/diff/20001/webrtc/voice_engine/channel.cc#newcode2760 webrtc/voice_engine/channel.cc:2760: void Channel::OnOverheadChanged(size_t overhead_bytes_per_packet) { Please add: // TODO(solenberg): ...
3 years, 9 months ago (2017-02-28 11:13:10 UTC) #11
hbos
https://codereview.webrtc.org/2710363003/diff/20001/webrtc/voice_engine/channel.cc File webrtc/voice_engine/channel.cc (right): https://codereview.webrtc.org/2710363003/diff/20001/webrtc/voice_engine/channel.cc#newcode2760 webrtc/voice_engine/channel.cc:2760: void Channel::OnOverheadChanged(size_t overhead_bytes_per_packet) { On 2017/02/28 11:13:10, the sun ...
3 years, 9 months ago (2017-02-28 11:44:55 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2710363003/40001
3 years, 9 months ago (2017-02-28 11:45:12 UTC) #15
commit-bot: I haz the power
Try jobs failed on following builders: presubmit on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/presubmit/builds/14239)
3 years, 9 months ago (2017-02-28 11:49:38 UTC) #17
hta-webrtc
lgtm https://codereview.webrtc.org/2710363003/diff/40001/webrtc/voice_engine/channel.h File webrtc/voice_engine/channel.h (right): https://codereview.webrtc.org/2710363003/diff/40001/webrtc/voice_engine/channel.h#newcode419 webrtc/voice_engine/channel.h:419: void UpdateOverheadForEncoder(size_t overhead_per_packet); Should there be a lock ...
3 years, 9 months ago (2017-02-28 12:21:20 UTC) #19
hbos
https://codereview.webrtc.org/2710363003/diff/40001/webrtc/voice_engine/channel.h File webrtc/voice_engine/channel.h (right): https://codereview.webrtc.org/2710363003/diff/40001/webrtc/voice_engine/channel.h#newcode419 webrtc/voice_engine/channel.h:419: void UpdateOverheadForEncoder(size_t overhead_per_packet); On 2017/02/28 12:21:20, hta-webrtc wrote: > ...
3 years, 9 months ago (2017-02-28 12:32:53 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2710363003/60001
3 years, 9 months ago (2017-02-28 12:33:15 UTC) #23
commit-bot: I haz the power
Try jobs failed on following builders: linux_ubsan_vptr on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/linux_ubsan_vptr/builds/10599)
3 years, 9 months ago (2017-02-28 13:34:42 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2710363003/60001
3 years, 9 months ago (2017-02-28 13:39:22 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2710363003/60001
3 years, 9 months ago (2017-02-28 13:41:22 UTC) #32
commit-bot: I haz the power
3 years, 9 months ago (2017-02-28 13:43:22 UTC) #35
Message was sent while issue was closed.
Committed patchset #4 (id:60001) as
https://chromium.googlesource.com/external/webrtc/+/3fd31fe5023b299a531ee1ac7...

Powered by Google App Engine
This is Rietveld 408576698