ICE never completes if gathering completes before sLD(answer), and no remote candidate is added
Categories
(Core :: WebRTC: Networking, defect, P3)
Tracking
()
People
(Reporter: bwc, Unassigned)
References
Details
https://jsfiddle.net/9pd7v63x/1/
I am pretty sure this happens because this code clears the grace period timer, and we're relying either on a local candidate or remote candidate to restart it:
Also note that an end-of-candidates signal is not presently plumbed down to nICEr (bug 1535690), so we still hit this bug when the remote side has explicitly told us it has no candidates:
https://jsfiddle.net/9pd7v63x/2/
This is the reason why test_peerConnection_relayOnly.html is flaky, and was disabled over in bug 1612063; on android spi jobs, gathering is completing on the answerer before we can set the answer.
In the absence of any trickle candidates from the other side, I think we should cause ICE to fail, which means we should probably only be unsetting the grace period timer if no local candidates have been gathered.
I should also note that test_peerConnection_basicAudioRelayPolicy.html does an adequate job of ensuring that ICE transport policy "relay" prevents anything but relay candidates from being trickled, so maybe it is not all that important to re-enable test_peerConnection_relayOnly.html. We probably do want a more targeted test-case, though.
Description
•