Closed
Bug 1035428
Opened 10 years ago
Closed 9 years ago
Writable callback for TURN TCP is not rescheduled after writing from queue
Categories
(Core :: WebRTC: Networking, defect, P2)
Core
WebRTC: Networking
Tracking
()
RESOLVED
FIXED
mozilla42
Tracking | Status | |
---|---|---|
firefox42 | --- | fixed |
backlog | webrtc/webaudio+ |
People
(Reporter: bwc, Assigned: bwc)
Details
Attachments
(1 file, 6 obsolete files)
2.29 KB,
patch
|
bwc
:
review+
|
Details | Diff | Splinter Review |
If at any point this function gets R_WOULDBLOCK:
http://dxr.mozilla.org/mozilla-central/source/media/mtransport/third_party/nICEr/src/stun/nr_socket_buffered_stun.c#409
We do not reschedule the writable callback, which means that the queue sits unserviced until we attempt to write some new bytes, here:
http://dxr.mozilla.org/mozilla-central/source/media/mtransport/third_party/nICEr/src/stun/nr_socket_buffered_stun.c#399
If this happens during the setup or connectivity establishment phase with TURN TCP, we end up dead in the water, because there are no retransmissions that will cause nr_socket_buffered_stun_sendto to be called.
Assignee | ||
Comment 1•10 years ago
|
||
Assignee | ||
Updated•10 years ago
|
Assignee: nobody → docfaraday
Status: NEW → ASSIGNED
Assignee | ||
Updated•10 years ago
|
Attachment #8451937 -
Flags: review?(ekr)
Assignee | ||
Updated•10 years ago
|
Attachment #8451937 -
Flags: review?(ekr) → review?(drno)
Comment 2•10 years ago
|
||
Comment on attachment 8451937 [details] [diff] [review]
Re-register writeable callback after partially servicing the send queue.
Review of attachment 8451937 [details] [diff] [review]:
-----------------------------------------------------------------
I think the ABORT() usage is worth fixing.
But in general LGTM.
::: media/mtransport/third_party/nICEr/src/stun/nr_socket_buffered_stun.c
@@ +446,5 @@
> + // Re-arm
> + NR_SOCKET fd;
> +
> + if ((r=nr_socket_getfd(sock->inner, &fd)))
> + ABORT(r);
Where is this ABORT() going to jump to?
Attachment #8451937 -
Flags: review?(drno) → review+
Assignee | ||
Comment 3•10 years ago
|
||
I think it will hop back up to the abort: label and do the right thing, but that's just weird enough that I'll change the code.
Assignee | ||
Comment 4•10 years ago
|
||
Incorporate feedback.
Assignee | ||
Updated•10 years ago
|
Attachment #8451937 -
Attachment is obsolete: true
Assignee | ||
Comment 5•10 years ago
|
||
Incorporate feedback.
Assignee | ||
Updated•10 years ago
|
Attachment #8481458 -
Attachment is obsolete: true
Assignee | ||
Comment 6•10 years ago
|
||
Consolidate some code.
Assignee | ||
Updated•10 years ago
|
Attachment #8481460 -
Attachment is obsolete: true
Assignee | ||
Comment 7•10 years ago
|
||
Actually, I can't consolidate that.
Assignee | ||
Updated•10 years ago
|
Attachment #8481466 -
Attachment is obsolete: true
Assignee | ||
Comment 8•10 years ago
|
||
Move this function.
Assignee | ||
Updated•10 years ago
|
Attachment #8481478 -
Attachment is obsolete: true
Assignee | ||
Comment 9•10 years ago
|
||
Assignee | ||
Comment 10•10 years ago
|
||
Comment on attachment 8481479 [details] [diff] [review]
Re-register writeable callback after partially servicing the send queue.
Review of attachment 8481479 [details] [diff] [review]:
-----------------------------------------------------------------
This changed enough that I'd like another pass.
Attachment #8481479 -
Flags: review?(drno)
Comment 11•10 years ago
|
||
Comment on attachment 8481479 [details] [diff] [review]
Re-register writeable callback after partially servicing the send queue.
Review of attachment 8481479 [details] [diff] [review]:
-----------------------------------------------------------------
LGTM
Attachment #8481479 -
Flags: review?(drno) → review+
Comment 12•9 years ago
|
||
Byron - can we land this?
backlog: --- → webRTC+
Rank: 27
Flags: needinfo?(docfaraday)
Priority: -- → P2
Assignee | ||
Comment 13•9 years ago
|
||
Assignee | ||
Updated•9 years ago
|
Attachment #8481479 -
Attachment is obsolete: true
Assignee | ||
Comment 14•9 years ago
|
||
Comment on attachment 8627721 [details] [diff] [review]
Re-register writeable callback after partially servicing the send queue
Review of attachment 8627721 [details] [diff] [review]:
-----------------------------------------------------------------
Unrotted. Carry forward r=drno.
https://treeherder.mozilla.org/#/jobs?repo=try&revision=202e2ea57397
Attachment #8627721 -
Flags: review+
Assignee | ||
Updated•9 years ago
|
Flags: needinfo?(docfaraday)
Keywords: checkin-needed
Comment 15•9 years ago
|
||
Keywords: checkin-needed
Comment 16•9 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
status-firefox42:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla42
You need to log in
before you can comment on or make changes to this bug.
Description
•