Issue metadata
Sign in to add a comment
|
problem with Chromium WebRTC stack when it is being used for the first time.
Reported by
vliag...@gmail.com,
Apr 6 2018
|
||||||||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36 Steps to reproduce the problem: We have reports from our customers that Chrome intermittently freezes for a few seconds and sometimes minutes when starting a WebRTC call for first time after PC reboot. After some seconds/minutes it recovered again by itself and the webrtc call is finally established. The second call and all next calls work fine. The problem happens with different WebRTC apps like Circuit and appr.tc. The problem is met only in Chrome. Tested in firefox and works ok. Steps to reproduce the problem: 1. reboot the PC 2. Start webRTC audio call for first time. It doesn't matter if the WebRTC call will take place immediately after PC rebbot or after hours. It just needs to be the first call after startup. The problem is that Chrome is freezed for up to 4 minutes until the call is finally established . It looks like the issue is with the Chromium WebRTC stack when it is being used for the first time. There must be some initialization which causes the freeze. Tests took place at 06/04/2018 CET time. - The user rebooted his PC. - at 13:10 started a webrtc call using Circuit app with firefox and it worked. - at 13:15 started a webrtc call using https://appr.tc/. It was freezed for about one minute and the call was finally established.. - at 13:19 started a webrtc call using Circuit app with Chrome and it worked immediately. This succedded because this test was after the first webrtc call with https://appr.tc. ---- here the user reboots again his PC. - at 13:34 started a webrtc call using Circuit app with Chrome and it failed. Chrome was completely freezed. - at 13:43 started a webrtc call using Circuit app with Chrome and it worked. This was the second call! Please find attached chrome_debug logs and wireshark logs for each test. What is the expected behavior? The browser should not be freezed. What went wrong? It looks like the issue is with the Chromium WebRTC stack when it is being used for the first time. Did this work before? N/A Chrome version: 65.0.3325.181 Channel: stable OS Version: 6.1 (Windows 7, Windows Server 2008 R2) Flash Version:
,
Apr 6 2018
Just some additional comments. The same problem happens using the latest Chrome browser (v65) and using our desktop application which is based on Electron 1.8.3 which uses Chrome v59. As far as we can tell, the freeze seems to happen after the application invokes the RTCPeerConnection.setLocalDescription() API.
,
Apr 6 2018
,
Apr 6 2018
,
Apr 9 2018
hbos@: Can you take a look? This could be a duplicate of one of the freezes you recently fixed.
,
Apr 9 2018
Tagging as M66 stable blocker just in case merge is needed.
,
Apr 9 2018
Reminder: Please note that M66 Stable is only 7 days away. This bug has been marked as ReleaseBlock Stable for M66. So please take a look and appropriately address this bug.
,
Apr 10 2018
The freeze issues I've dealt with are unrecoverable deadlocks. Any issue about taking a minute to establish a call would be a separate. Having to reboot the PC sounds really weird, and this being in stable with as simple repro instructions as "start a WebRTC call" sounds even weirder. There must be something special about the setup or else WebRTC would be very much broken? vliagkou@ can you check if this still happens in Chrome Canary? Not sure I can repro.
,
Apr 10 2018
When you say it freezes, are you just talking about the web application / the tab freezing, or the entire browser window freezing? Maybe this is related to https://crbug.com/817314.
,
Apr 10 2018
Could someone who can repro it do a trace recording [1]: start it right before launching apprtc, select all categories, record until full? Thanks! [1] https://www.chromium.org/developers/how-tos/trace-event-profiling-tool/recording-tracing-runs
,
Apr 10 2018
hbos@ The entire browser window is freezing. Also, the user tested with Chrome Canary and the problem is still the same.
,
Apr 10 2018
Thanks, vilagkou@ can you try what olka@ suggested in #10? 1. Prepare to setup a call in one tab, and go to chrome://tracing in another tab. 2. Start recording in chrome://tracing. 3. Press call so that it freezes. 4. As soon as the browser is responding again, go to the tracing tab and finish the recording. 5. Save the tracing as a file and upload it to this issue by attaching a file to your comment.
,
Apr 10 2018
hbos@ Please find the requested trace attached.
,
Apr 13 2018
Any updates on this bug?
,
Apr 16 2018
Given M66 stable timeline, punting this to M67.
,
Apr 17 2018
Looks like it is stuck at... MessageLoop::RunTask > IPC Channel > ChannelMojo::OnMessageReceived > P2PHostMsg_SetOption for 86s, SingleThreadTaskGraphRunner::RunTaskWithLockAcquired > RasterizerTaskImpl::RunOnWorkerThread > RasterTask > OneCopyRasterBuffer::Playback > BrowserGpuMemoryBufferManager::AllocateGpuMemoryBufferForSurface for 86s, and MessageLoop::RunTask > GpuChannelHost::CreateViewCommandBuffer > CommandBufferProxyImpl::Initialize > GpuChannelHost::Send for 52s I'm not sure what to do with this one, can someone re-triage?
,
Apr 20 2018
Is there any feedback for this problem? Thank you
,
Apr 25 2018
M67 Stable promotion is coming soon. Your bug is labelled as Stable ReleaseBlock, pls make sure to land the fix and request a merge into the release branch ASAP. Thank you.
,
Apr 25 2018
I tried to reproduce a few times to no avail, following the steps: 1. Restart PC. 2. Open Chrome dev build (67.0.3396.18) 3. Open appr.tc/r/roomname 4. Click "Join" 5. Open in another tab, click "Join" Though after some investigation, I believe this may be a duplicate of another "freeze" bug ( crbug.com/812137 ) caused by the Windows QOSCreateHandle API hanging (root cause still unknown; possibly a Windows bug). This is indeed called from P2PHostMsg_SetOption (with OPT_DSCP). Initially I was confused about how this could happen in AppRTC, since it doesn't use DSCP by default (it's enabled via a "googDscp" constraint when constructing the PeerConnection). But then I found that even when DSCP is disabled, we still call "SetOption(OPT_DSCP, DSCP_DEFAULT)", so we would potentially hit this bug regardless of whether DSCP is actually enabled. To temporarily work around this hang, we've disabled calls to QOSCreateHandle (in M68, not M67). So if you can reproduce, can you verify the freeze doesn't occur in a Canary (M68) build? I'll request for this change to be merged to M67, since it has a larger impact than we thought. Also, for future reference: I think a crash ID (from chrome://crashes) or minidump (see https://www.chromium.org/for-testers/bug-reporting-guidelines/hanging-tabs) would be more helpful for debugging than a performance trace.
,
Apr 27 2018
#16 I don't think this is a GPU issue. The GPU calls are stuck because the IO thread is stuck inside P2PHostMsg_SetOption. sergeyu@ I'm assigning this to you because you're a content/renderer/p2p OWNER. Please help us in triaging this further.
,
Apr 27 2018
See my previous comment; I'm 99% sure this is crbug.com/812137 , just need someone who can reproduce to confirm.
,
May 2 2018
*** Bulk Edit *** M67 Stable promotion is coming soon. Your bug is labelled as Stable ReleaseBlock, pls make sure to land the fix and request a merge into the release branch ASAP. If fix is already merged to M67 and nothing else is pending, pls mark the bug as fixed. Thank you.
,
May 3 2018
Note that a fix for crbug.com/812137 was already merged to M67 (https://chromium-review.googlesource.com/1005961), but I'm waiting for someone who can reproduce this to verify that crbug.com/812137 is really the root cause.
,
May 4 2018
@deadbeed, we have requested the user who can reproduce the problem to test with the latest Canary version. We are waiting feedback from him.
,
May 7 2018
*** Bulk Edit *** M67 Stable promotion is coming VERY soon. Your bug is labelled as Stable ReleaseBlock, pls make sure to land the fix and request a merge into the release branch ASAP. If fix is already merged to M67 and nothing else is pending, pls mark the bug as fixed. Thank you.
,
May 9 2018
As this is regressed in M65 and M67 stable promotion is coming soon, punting this to M68.
,
May 10 2018
Going to go ahead and tentatively mark this as a duplicate to reduce noise.
,
Jun 5 2018
|
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by vliag...@gmail.com
, Apr 6 201831.6 MB
31.6 MB Download