RestComm / restcomm-ios-sdk

iOS Mobile SDK to easily integrate communication features (WebRTC, messaging, presence, voice, video, screensharing) based on RestComm into native Mobile Applications
http://www.restcomm.com/
GNU Affero General Public License v3.0
39 stars 43 forks source link

Investigate crash in TestFairy session #315

Open atsakiridis opened 8 years ago

atsakiridis commented 8 years ago

This is the TF session:

https://app.testfairy.com/projects/1099645-restcommmessenger/builds/2057084/sessions/3

And here's the crashing thread's stacktrace:

Thread 6 Crashed: 0 ??? 0x7ff80000 0x0 + 0 1 restcomm-messenger 0x000c3a1b sofsip_mainloop_run(clis) (in restcomm-messenger) (sofsip_cli.mm:209) 2 restcomm-messenger 0x000c36eb sofsip_loop(int, char, int, int, char const, char const) (in restcomm-messenger) (sofsip_cli.mm:178) 3 restcomm-messenger 0x002134d7 23-[SipManager eventLoop]_blockinvoke (in restcomm-messenger) (SipManager.mm:387) 4 restcomm-messenger 0x00213843 -[MainNavigationController didReceiveMemoryWarning](in restcomm-messenger) + 708723 5 restcomm-messenger 0x00217181 void rtc::AsyncInvoker::AsyncInvoke<void, rtc::MethodFunctor1<cricket::WebRtcVideoCapturer, void (cricket::WebRtcVideoCapturer::)(webrtc::VideoFrame), void, webrtc::VideoFrame> >(rtc::Thread, rtc::MethodFunctor1<cricket::WebRtcVideoCapturer, void (cricket::WebRtcVideoCapturer::)(webrtc::VideoFrame), void, webrtc::VideoFrame> const&, unsigned int)() (in restcomm-messenger) + 195 6 AVFoundation 0x205de659 -[AVCaptureVideoDataOutput _handleRemoteQueueOperation:](in AVFoundation) + 309 7 AVFoundation 0x205de503 47-[AVCaptureVideoDataOutput _updateRemoteQueue:]_block_invoke (in AVFoundation) + 163 8 CoreMedia 0x225d092d FigRemoteOperationReceiverCreateMessageReceiver_block_invoke (in CoreMedia) + 205 9 CoreMedia 0x225e65a3 __FigRemoteQueueReceiverSetHandler_block_invoke2 (in CoreMedia) + 187 10 libdispatch.dylib 0x33e9772b _dispatch_source_latch_and_call (in libdispatch.dylib) + 2043 11 libdispatch.dylib 0x33e86e17 _dispatch_source_invoke (in libdispatch.dylib) + 739 12 libdispatch.dylib 0x33e8ebbd _dispatch_queue_drain (in libdispatch.dylib) + 593 13 libdispatch.dylib 0x33e8802f _dispatch_queue_invoke (in libdispatch.dylib) + 283 14 libdispatch.dylib 0x33e903dd _dispatch_root_queue_drain (in libdispatch.dylib) + 401 15 libdispatch.dylib 0x33e9024b _dispatch_worker_thread3 (in libdispatch.dylib) + 95 16 libsystem_pthread.dylib 0x34019e29 _pthread_wqthread (in libsystem_pthread.dylib) + 1025 17 libsystem_pthread.dylib 0x34019a18 start_wqthread (in libsystem_pthread.dylib) + 8

Keep in mind that the crashing stack trace varies, which probably means that sofia sip has nothing to do with it (the crash is in its loop anyways where it should be idle)

atsakiridis commented 8 years ago

I think I managed to reproduce it by accident that after installing iOS 9 on ipad. Seems when microphone/video permission is requested (first time the app runs), when you chose accept the app crashes. Also, if you deny permission from iOS Settings, the App crashes every time you try to make a call (i.e. use permission)

atsakiridis commented 8 years ago

Seems that latest AppRTCDemo has a very similar issue, so I opened an issue with google to check it out:

https://code.google.com/p/webrtc/issues/detail?id=5164&thanks=5164&ts=1446646206

Let's wait for their input

atsakiridis commented 8 years ago

I also got this from a tester in TF, that seems similar. The stack trace seems different but the timing seems and conditions seem the same:

https://free.testfairy.com/projects/1099645-restcommmessenger/builds/1968237/sessions/29

atsakiridis commented 8 years ago

This still occurs with updated webrtc lib, revision 11366. I also asked again on the google webrtc issue, which by the way is reproducible if they have any news, so we are waiting from them. Deferring to next release to remember to keep track of it