WebRtc - browser stops generating ICE candidates
Reported by
eloyob...@gmail.com,
Mar 9 2017
|
|||||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.88 Safari/537.36 Steps to reproduce the problem: 1. Initiate a webrtc call: invoke createOffer() method 2. Inspect created offer SDP and wait for onicecandidate events What is the expected behavior? ICE candidates to be present in SDP and/or onicecandidate event to be fired. What went wrong? No ICE (zero) candidates generated. Did this work before? N/A Chrome version: 56.0.2924.87 Channel: stable OS Version: 6.1 (Windows 7, Windows Server 2008 R2) Flash Version: This problem is identical to https://bugs.chromium.org/p/chromium/issues/detail?id=616908, but it happened in M56. It's intermittent and I can't reproduce it on demand either. I have a chrome_debug.log for it, hopefully it contains useful information. It happened around this timestamp [5536:12300:0301/151045.043:INFO:CONSOLE(1)]. Just like in 616908, after the browser is restarted, it starts working again.
,
Mar 9 2017
,
Mar 10 2017
,
Mar 10 2017
What does the "TE-NeedsTriageHelp" label mean? I haven't seen it before.
,
Mar 21 2017
Got around to looking at this. Thanks a lot for providing the log, as it reveals something I've suspected for a while but haven't been able to prove. I see the log message: "[5720:8416:0301/151042.830:INFO:basicportallocator.cc(272)] Start getting ports with prune_turn_ports disabled" But I don't see what is expected to come soon after: "Network manager has started". This means webrtc is waiting forever for a signal from the chromium network manager it never receives. Just to confirm, you're saying this issue persists until you restart the browser?
,
Mar 21 2017
Yes, that's correct: issue persists until the browser is restarted.
,
Mar 23 2017
Note to myself or whoever ends up working on this: There are two "network manager" classes in chromium; "ipc_network_manager", which gets a network list from the browser process, and "filtering_network_manager", which wraps it and checks the media permission status before giving out a network list. I don't see any obvious way that ipc_network_manager could fail, so maybe the problem is with filtering_network_manager? But, since one is created for every PeerConnection, and this issue persists until the browser is restarted, that would mean there's some issue with the media permission service? Without more detailed logging or a way to reproduce, it's hard to know where to look further. We could start by adding more logging to ipc_network_manager and filtering_network_manager, and hope someone is able to reproduce again and provide a new log. I may also try setting up something that creates PeerConnections repeatedly and see if the issue occurs if I leave it running long enough.
,
Jul 27 2017
reillyg: My current best theory for this issue is that we never receive the PermissionStatusCallback from the permission service. The symptoms are the same as bug 725038 , and it persists until the whole browser is restarted, meaning the root cause is probably not something in the renderer process. Off the top of your head, is there any known bug that could cause the permission service to become unresponsive? I'm going to add some logging (as mentioned above) that will tell us with more certainty whether this is what's going on: https://chromium-review.googlesource.com/c/587509/
,
Jul 27 2017
It is possible that you will never get a callback if there is a connection error however it looks like FilteringNetworkManager is using the PermissionService Mojo interface through media::MediaPermissionDispatcher which explicitly calls all callbacks on connection error here: https://cs.chromium.org/chromium/src/content/renderer/media/media_permission_dispatcher.cc?sq=package:chromium&l=154
,
Aug 2 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bc15f9b5c7e6d96fef403c84789222e1091e0786 commit bc15f9b5c7e6d96fef403c84789222e1091e0786 Author: Taylor Brandstetter <deadbeef@chromium.org> Date: Wed Aug 02 00:37:28 2017 Add more logging around FilteringNetworkManager and IpcNetworkManager. There's an infrequently-occurring issue where webrtc never receives a network update from FilteringNetworkManager, but it's not clear whether the issue is related to FilteringNetworkManager interacting with the permission service, or IpcNetworkManager underneath getting the actual network list. So, this CL adds some logging to FilteringNetworkManager and IpcNetworkManager that will help pinpoint the cause, next time someone is able to reproduce the issue and provide a log. Bug: chromium:699973 Change-Id: I5eecf668c89963dd31ef66fc29687fe91dd2ac49 Reviewed-on: https://chromium-review.googlesource.com/587509 Reviewed-by: Henrik Boström <hbos@chromium.org> Commit-Queue: Taylor Brandstetter <deadbeef@chromium.org> Cr-Commit-Position: refs/heads/master@{#491173} [modify] https://crrev.com/bc15f9b5c7e6d96fef403c84789222e1091e0786/content/renderer/p2p/filtering_network_manager.cc [modify] https://crrev.com/bc15f9b5c7e6d96fef403c84789222e1091e0786/content/renderer/p2p/ipc_network_manager.cc
,
Aug 2
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue. Sorry for the inconvenience if the bug really should have been left as Available. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Aug 2
|
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by dtapu...@chromium.org
, Mar 9 2017