Closed umarniz closed 6 years ago
Thanks for reporting, we're looking into this.
@umarniz I have emailed you a test SDK, please add that and let me know if it fixes the issue for you.
Hi @artmatsak thank you for the response and personally emailing the new SDK. Really appreciate the support and this is why we love using Gruveo in our apps.
The original problem of the error in notifyAudioRouteChanged
running on main thread has been fixed in the new SDK but the core problem of the application freezing still remains.
I see sometimes when the Gruveo screen freezes I get:
Main Thread Checker: UI API called on a background thread: -[UIApplication applicationState]
PID: 14224, TID: 8059774, Thread name: DecodingThread, Queue name: com.apple.root.default-qos.overcommit, QoS: 21
Backtrace:
4 WebRTC 0x0000000105d09914 RTCIsUIApplicationActive + 56
5 WebRTC 0x0000000105d049ec RTCSetVertexData + 90988
6 WebRTC 0x0000000105e2c880 RTCIsUIApplicationActive + 1191844
7 WebRTC 0x0000000106059f60 RTCIsUIApplicationActive + 3475076
8 WebRTC 0x0000000106069288 RTCIsUIApplicationActive + 3537324
9 WebRTC 0x0000000106069388 RTCIsUIApplicationActive + 3537580
10 WebRTC 0x000000010604bffc RTCIsUIApplicationActive + 3417888
11 WebRTC 0x0000000105d34778 RTCIsUIApplicationActive + 175772
12 WebRTC 0x0000000105d3460c RTCIsUIApplicationActive + 175408
13 libsystem_pthread.dylib 0x0000000182cd1220 <redacted> + 272
14 libsystem_pthread.dylib 0x0000000182cd1110 <redacted> + 0
15 libsystem_pthread.dylib 0x0000000182ccfb10 thread_start + 4
This is something I have seen in the previous SDK too so I know this warning has existed before too but I don't get this error every time a Gruveo video call freezes.
It might be part of the problem but its not the complete problem IMO.
Some times I get no error message in the console and the Video call just freezes and the buttons become unresponsive.
In all scenarios I can see the main thread doing:
But as you can see all other threads are just waiting when I pause the debugger:
I have a feeling that incorrect packets are sometimes delivered over websocket causing the thread not to understand and stay stuck in a while loop, but of-course I can't make any judgement never having seen any source code and you would understand the problem best :)
Thanks!
The problem is a bit hard to reproduce but I can almost always get it when testing calls sent from web and received by iOS within 20-30 attempts.
Looking into it, thanks.
This has been resolved in Gruveo 1.2
I am using the Gruveo SDK from React Native using my react-native-gruveo-sdk component.
As you can see in the implementation file that all calls to GruveoSDK are wrapped to run only from the main thread to ensure that a call is not made from a wrong thread on our end.
But when testing we still get this error during testing and causes our app to freeze mid way through Establishing Call.
Freezes on:
I tried resuming and pausing the debugger multiple times to see where it stops: