New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 699973 link

Starred by 4 users

Issue metadata

Status: Untriaged
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug



Sign in to add a comment

WebRtc - browser stops generating ICE candidates

Reported by eloyob...@gmail.com, Mar 9 2017

Issue description

UserAgent: 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.

 
chrome_debug.log
705 KB View Download
Components: -Blink Blink>WebRTC
Components: -Blink>WebRTC Blink>WebRTC>Network
Labels: TE-NeedsTriageHelp
What does the "TE-NeedsTriageHelp" label mean? I haven't seen it before.
Cc: deadbeef@chromium.org
Labels: WebRTCTriaged
Status: Available (was: Unconfirmed)
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?

Comment 6 by eloyob...@gmail.com, Mar 21 2017

Yes, that's correct: issue persists until the browser is restarted.
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.
Cc: reillyg@chromium.org
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/
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
Project Member

Comment 10 by bugdroid1@chromium.org, 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

Project Member

Comment 11 by sheriffbot@chromium.org, Aug 2

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
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
Cc: qingsi@chromium.org

Sign in to add a comment