Bug 187136 - Repeatedly creating PeerConnections results in browser tab freezing in Safari on iOS
Summary: Repeatedly creating PeerConnections results in browser tab freezing in Safari...
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebRTC (show other bugs)
Version: Safari 11
Hardware: iPhone / iPad iOS 11
: P2 Normal
Assignee: Nobody
URL: https://output.jsbin.com/haseker
Keywords: InRadar
Depends on:
Reported: 2018-06-27 22:54 PDT by Adam
Modified: 2018-11-18 21:53 PST (History)
2 users (show)

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description Adam 2018-06-27 22:54:12 PDT
Steps to reproduce:

1. Repeatedly create PeerConnections in Safari on iOS streaming video and audio, over and over again. 

Result: Eventually the browser tab freezes. You see your local video freeze and the remote video freezes. Hitting refresh on the tab seems to hang. You need to close the tab and open a new one.
Or: Sometimes you just get black video after a while. The receiving end just displays black.

I put together a jsbin that reproduces it pretty easily https://output.jsbin.com/haseker

This jsbin establishes an OpenTok Session and subscribes to yourself repeatedly every 1 second. Under the covers this creates 2 PeerConnections, one to send video up to the OpenTok SFU and then one to bring it back down again and display it. It repeatedly creates this second PeerConnection. The timing varies, after about 2-10 minutes of this the browser freezes, or you get the black screen issue. I could not reproduce this issue on Safari on the Mac.

This came up because we had customers complaining that after long running sessions with multiple participants that they were getting a freeze. Also our integration tests which run lots of different tests that create PeerConnections exhibit a similar issue where they hang eventually in Safari on iOS and we can't get through all of them.
Comment 1 Radar WebKit Bug Importer 2018-11-15 12:58:30 PST
Comment 2 Adam 2018-11-18 21:53:11 PST
I updated the token in the sample so that it is working again and I tested it on the latest iOS 12.1. It seems to be fixed. I couldn't reproduce the crashing or the black screen issue.