pedroSG94 / RootEncoder-iOS

RootEncoder iOS (rtmp-rtsp-stream-client-swift) is a stream encoder to push video/audio to media servers using protocols RTMP, RTSP and SRT with all code written in Swift
Apache License 2.0
125 stars 34 forks source link

Constant Crashing After 1-2 Days of Streaming in BaseSenderReport.swift #46

Open vitkuzmenko opened 2 weeks ago

vitkuzmenko commented 2 weeks ago

After streaming continuously for 1-2 days, the app begins to crash frequently. Initial investigation suggests that the issue may be related to Thread 3.

BaseSenderReport might play a role in this behavior. When I commented out this section in RtspSender.swift, streaming works perfectly.

if (try self.senderReport?.update(rtpFrame: frame) == true) {
    // Convert bytes to bits (4 is the TCP header length)
    let reportSize = isTcp ? RtpConstants.REPORT_PACKET_LENGTH + 4 : RtpConstants.REPORT_PACKET_LENGTH
    self.bitrateManager.calculateBitrate(size: Int64(reportSize) * 8)
    if isEnableLogs {
        print("wrote report")
    }
}
Incident Identifier: 4B3B802E-0BF6-4331-B671-45577FF927E0
CrashReporter Key:   dfb3d482de47b462398d72cc4bc4f8dc355d5915
Hardware Model:      iPhone8,1
Process:             App [18486]
Path:                /private/var/containers/Bundle/Application/AC209E4A-F33A-4555-B0C9-8277351BA2AC/App.app/App
Identifier:          xx.xxxx.xxxx.xxxx
Version:             1 (1)
Code Type:           ARM-64 (Native)
Role:                Foreground
Parent Process:      launchd [1]
Coalition:           xx.xxxx.xxxx.xxxx [431]

Date/Time:           2024-10-30 13:37:52.0432 +0300
Launch Time:         2024-10-30 12:56:46.0749 +0300
OS Version:          iPhone OS 15.8.3 (19H386)
Release Type:        User
Baseband Version:    9.61.00
Report Version:      104

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x0000000105a7bcdc
Exception Note:  EXC_CORPSE_NOTIFY
Termination Reason: SIGNAL 5 Trace/BPT trap: 5
Terminating Process: exc handler [18486]

Triggered by Thread:  3

Thread 0 name:   Dispatch queue: com.apple.main-thread
Thread 0:
0   libsystem_kernel.dylib                 0x1bcaa5aac mach_msg_trap + 8
1   libsystem_kernel.dylib                 0x1bcaa607c mach_msg + 72
2   CoreFoundation                         0x18215bc88 __CFRunLoopServiceMachPort + 368
3   CoreFoundation                         0x18215ff90 __CFRunLoopRun + 1160
4   CoreFoundation                         0x182173174 CFRunLoopRunSpecific + 572
5   GraphicsServices                       0x1a2c92988 GSEventRunModal + 160
6   UIKitCore                              0x184975a88 -[UIApplication _run] + 1080
7   UIKitCore                              0x18470ef78 UIApplicationMain + 336
8   libswiftUIKit.dylib                    0x198affee4 UIApplicationMain(_:_:_:_:) + 100
9   App.debug.dylib                        0x104c7cdd8 static UIApplicationDelegate.main() + 120
10  App.debug.dylib                        0x104c7cd50 static AppDelegate.$main() + 44
11  App.debug.dylib                        0x104c7ce84 __debug_main_executable_dylib_entry_point + 28
12  dyld                                   0x1047b44d0 start + 444

Thread 1 name:   Dispatch queue: VideoEncodeQueue
Thread 1:
0   libsystem_kernel.dylib                 0x1bcaa5b00 semaphore_timedwait_trap + 8
1   libdispatch.dylib                      0x181e489d8 _dispatch_sema4_timedwait$VARIANT$mp + 60
2   libdispatch.dylib                      0x181e48f64 _dispatch_semaphore_wait_slow + 72
3   libswiftDispatch.dylib                 0x19a7b78a4 OS_dispatch_semaphore.wait(wallTimeout:) + 20
4   RootEncoder                            0x105b1533c closure #1 in SynchronizedQueue.dequeue() + 684
5   RootEncoder                            0x105b153cc thunk for @callee_guaranteed () -> () + 20
6   RootEncoder                            0x105b15424 thunk for @escaping @callee_guaranteed () -> () + 24
7   libdispatch.dylib                      0x181ea8094 _dispatch_client_callout + 16
8   libdispatch.dylib                      0x181e55964 _dispatch_lane_barrier_sync_invoke_and_complete + 52
9   RootEncoder                            0x105b15024 SynchronizedQueue.dequeue() + 384
10  RootEncoder                            0x105b1ac20 closure #1 in VideoEncoder.start() + 180
11  RootEncoder                            0x105a6e2ac thunk for @escaping @callee_guaranteed @Sendable () -> () + 48
12  libdispatch.dylib                      0x181ea7094 _dispatch_call_block_and_release + 24
13  libdispatch.dylib                      0x181ea8094 _dispatch_client_callout + 16
14  libdispatch.dylib                      0x181e4e73c _dispatch_lane_serial_drain$VARIANT$mp + 644
15  libdispatch.dylib                      0x181e4f1f4 _dispatch_lane_invoke$VARIANT$mp + 408
16  libdispatch.dylib                      0x181e58ec8 _dispatch_workloop_worker_thread + 632
17  libsystem_pthread.dylib                0x1dd60ce00 _pthread_wqthread + 284
18  libsystem_pthread.dylib                0x1dd60c92c start_wqthread + 8

Thread 2 name:  com.apple.uikit.eventfetch-thread
Thread 2:
0   libsystem_kernel.dylib                 0x1bcaa5aac mach_msg_trap + 8
1   libsystem_kernel.dylib                 0x1bcaa607c mach_msg + 72
2   CoreFoundation                         0x18215bc88 __CFRunLoopServiceMachPort + 368
3   CoreFoundation                         0x18215ff90 __CFRunLoopRun + 1160
4   CoreFoundation                         0x182173174 CFRunLoopRunSpecific + 572
5   Foundation                             0x18387feac -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 232
6   Foundation                             0x1838befd0 -[NSRunLoop(NSRunLoop) runUntilDate:] + 88
7   UIKitCore                              0x1848f4ef4 -[UIEventFetcher threadMain] + 512
8   Foundation                             0x1838ccbdc __NSThread__start__ + 792
9   libsystem_pthread.dylib                0x1dd60e338 _pthread_start + 116
10  libsystem_pthread.dylib                0x1dd60c938 thread_start + 8

Thread 3 name:   Dispatch queue: com.apple.root.user-initiated-qos.cooperative
Thread 3 Crashed:
0   RootEncoder                            0x105a7bcdc BaseSenderReport.updateAudio(rtpFrame:) + 1536
1   RootEncoder                            0x105a7ba14 BaseSenderReport.updateAudio(rtpFrame:) + 824
2   RootEncoder                            0x105a7b660 BaseSenderReport.update(rtpFrame:) + 256
3   RootEncoder                            0x105b030dc (1) suspend resume partial function for closure #1 in RtspSender.start() + 2412
4   RootEncoder                            0x105b04311 (1) await resume partial function for partial apply for closure #1 in RtspSender.start() + 1
5   RootEncoder                            0x105ac6f35 $sxIeAgHr_xs5Error_pIegHrzo_s8SendableRzs5NeverORs_r0_lTRTQ0_ + 1
6   RootEncoder                            0x105ac70a1 $sxIeAgHr_xs5Error_pIegHrzo_s8SendableRzs5NeverORs_r0_lTRTATQ0_ + 1
7   libswift_Concurrency.dylib             0x1eb3d3269 completeTaskWithClosure(swift::AsyncContext*, swift::SwiftError*) + 1

Thread 4 name:   Dispatch queue: AudioEncodeQueue
Thread 4:
0   libsystem_kernel.dylib                 0x1bcaa5b00 semaphore_timedwait_trap + 8
1   libdispatch.dylib                      0x181e489d8 _dispatch_sema4_timedwait$VARIANT$mp + 60
2   libdispatch.dylib                      0x181e48f64 _dispatch_semaphore_wait_slow + 72
3   libswiftDispatch.dylib                 0x19a7b78a4 OS_dispatch_semaphore.wait(wallTimeout:) + 20
4   RootEncoder                            0x105b1533c closure #1 in SynchronizedQueue.dequeue() + 684
5   RootEncoder                            0x105b153cc thunk for @callee_guaranteed () -> () + 20
6   RootEncoder                            0x105b15424 thunk for @escaping @callee_guaranteed () -> () + 24
7   libdispatch.dylib                      0x181ea8094 _dispatch_client_callout + 16
8   libdispatch.dylib                      0x181e55964 _dispatch_lane_barrier_sync_invoke_and_complete + 52
9   RootEncoder                            0x105b15024 SynchronizedQueue.dequeue() + 384
10  RootEncoder                            0x105a6d9c0 closure #1 in AudioEncoder.start() + 208
11  RootEncoder                            0x105a6e2ac thunk for @escaping @callee_guaranteed @Sendable () -> () + 48
12  libdispatch.dylib                      0x181ea7094 _dispatch_call_block_and_release + 24
13  libdispatch.dylib                      0x181ea8094 _dispatch_client_callout + 16
14  libdispatch.dylib                      0x181e4e73c _dispatch_lane_serial_drain$VARIANT$mp + 644
15  libdispatch.dylib                      0x181e4f1f4 _dispatch_lane_invoke$VARIANT$mp + 408
16  libdispatch.dylib                      0x181e58ec8 _dispatch_workloop_worker_thread + 632
17  libsystem_pthread.dylib                0x1dd60ce00 _pthread_wqthread + 284
18  libsystem_pthread.dylib                0x1dd60c92c start_wqthread + 8

Thread 5 name:  com.google.firebase.crashlytics.MachExceptionServer
Thread 5:
0   libsystem_kernel.dylib                 0x1bcaa5aac mach_msg_trap + 8
1   libsystem_kernel.dylib                 0x1bcaa607c mach_msg + 72
2   FirebaseCrashlytics                    0x1053556d0 FIRCLSMachExceptionReply + 196
3   FirebaseCrashlytics                    0x1053551fc FIRCLSMachExceptionServer + 100
4   libsystem_pthread.dylib                0x1dd60e338 _pthread_start + 116
5   libsystem_pthread.dylib                0x1dd60c938 thread_start + 8

Thread 6 name:  com.apple.CoreMotion.MotionThread
Thread 6:
0   libsystem_kernel.dylib                 0x1bcaa5aac mach_msg_trap + 8
1   libsystem_kernel.dylib                 0x1bcaa607c mach_msg + 72
2   CoreFoundation                         0x18215bc88 __CFRunLoopServiceMachPort + 368
3   CoreFoundation                         0x18215ff90 __CFRunLoopRun + 1160
4   CoreFoundation                         0x182173174 CFRunLoopRunSpecific + 572
5   CoreFoundation                         0x1821ee320 CFRunLoopRun + 60
6   CoreMotion                             0x18ea44ab0 0x18ea32000 + 76464
7   libsystem_pthread.dylib                0x1dd60e338 _pthread_start + 116
8   libsystem_pthread.dylib                0x1dd60c938 thread_start + 8

Thread 7 name:  com.apple.NSURLConnectionLoader
Thread 7:
0   libsystem_kernel.dylib                 0x1bcaa5aac mach_msg_trap + 8
1   libsystem_kernel.dylib                 0x1bcaa607c mach_msg + 72
2   CoreFoundation                         0x18215bc88 __CFRunLoopServiceMachPort + 368
3   CoreFoundation                         0x18215ff90 __CFRunLoopRun + 1160
4   CoreFoundation                         0x182173174 CFRunLoopRunSpecific + 572
5   CFNetwork                              0x182b77b9c 0x182931000 + 2386844
6   Foundation                             0x1838ccbdc __NSThread__start__ + 792
7   libsystem_pthread.dylib                0x1dd60e338 _pthread_start + 116
8   libsystem_pthread.dylib                0x1dd60c938 thread_start + 8

Thread 8 name:  com.apple.CFSocket.private
Thread 8:
0   libsystem_kernel.dylib                 0x1bcaa66b0 __select + 8
1   CoreFoundation                         0x1821f88c8 __CFSocketManager + 628
2   libsystem_pthread.dylib                0x1dd60e338 _pthread_start + 116
3   libsystem_pthread.dylib                0x1dd60c938 thread_start + 8

Thread 9 name:  MGCDAsyncSocket-CFStream
Thread 9:
0   libsystem_kernel.dylib                 0x1bcaa5aac mach_msg_trap + 8
1   libsystem_kernel.dylib                 0x1bcaa607c mach_msg + 72
2   CoreFoundation                         0x18215bc88 __CFRunLoopServiceMachPort + 368
3   CoreFoundation                         0x18215ff90 __CFRunLoopRun + 1160
4   CoreFoundation                         0x182173174 CFRunLoopRunSpecific + 572
5   Foundation                             0x18387feac -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 232
6   MqttCocoaAsyncSocket                   0x105535150 +[MGCDAsyncSocket cfstreamThread:] + 428
7   Foundation                             0x1838ccbdc __NSThread__start__ + 792
8   libsystem_pthread.dylib                0x1dd60e338 _pthread_start + 116
9   libsystem_pthread.dylib                0x1dd60c938 thread_start + 8

Thread 10 name:  AVAudioSession Notify Thread
Thread 10:
0   libsystem_kernel.dylib                 0x1bcaa5aac mach_msg_trap + 8
1   libsystem_kernel.dylib                 0x1bcaa607c mach_msg + 72
2   CoreFoundation                         0x18215bc88 __CFRunLoopServiceMachPort + 368
3   CoreFoundation                         0x18215ff90 __CFRunLoopRun + 1160
4   CoreFoundation                         0x182173174 CFRunLoopRunSpecific + 572
5   AudioSession                           0x18af1e478 CADeprecated::GenericRunLoopThread::Entry(void*) + 156
6   AudioSession                           0x18af277c8 CADeprecated::CAPThread::Entry(CADeprecated::CAPThread*) + 88
7   libsystem_pthread.dylib                0x1dd60e338 _pthread_start + 116
8   libsystem_pthread.dylib                0x1dd60c938 thread_start + 8

Thread 11 name:   Dispatch queue: com.apple.root.user-initiated-qos.cooperative
Thread 11:
0   libsystem_kernel.dylib                 0x1bcaa5b00 semaphore_timedwait_trap + 8
1   libdispatch.dylib                      0x181e489d8 _dispatch_sema4_timedwait$VARIANT$mp + 60
2   libdispatch.dylib                      0x181e48f64 _dispatch_semaphore_wait_slow + 72
3   libswiftDispatch.dylib                 0x19a7b78a4 OS_dispatch_semaphore.wait(wallTimeout:) + 20
4   RootEncoder                            0x105b10ad4 Socket.read() + 668
5   RootEncoder                            0x105b10714 Socket.readString() + 116
6   RootEncoder                            0x105afafec RtspCommandManager.getResponse(socket:method:) + 108
7   RootEncoder                            0x105af10cc RtspClient.handleServerCommands() + 268
8   RootEncoder                            0x105af07fc (3) suspend resume partial function for closure #1 in RtspClient.connect(url:isRetry:) + 13904
9   RootEncoder                            0x105af2c31 (1) await resume partial function for partial apply for closure #1 in RtspClient.connect(url:isRetry:) + 1
10  libswift_Concurrency.dylib             0x1eb3d3269 completeTaskWithClosure(swift::AsyncContext*, swift::SwiftError*) + 1

Thread 12:
0   libsystem_pthread.dylib                0x1dd60c924 start_wqthread + 0

Thread 13 name:   Dispatch queue: MicrophoneManager
Thread 13:
0   libsystem_kernel.dylib                 0x1bcaa6134 kevent_id + 8
1   libdispatch.dylib                      0x181e664b4 _dispatch_kq_poll + 228
2   libdispatch.dylib                      0x181e66ebc _dispatch_event_loop_wait_for_ownership$VARIANT$mp + 440
3   libdispatch.dylib                      0x181e55bdc __DISPATCH_WAIT_FOR_QUEUE__ + 288
4   libdispatch.dylib                      0x181e55820 _dispatch_sync_f_slow + 136
5   libswiftDispatch.dylib                 0x19a7b7e18 implicit closure #2 in implicit closure #1 in OS_dispatch_queue.sync<A>(execute:) + 152
6   libswiftDispatch.dylib                 0x19a7b70ac partial apply for implicit closure #2 in implicit closure #1 in OS_dispatch_queue.sync<A>(execute:) + 40
7   libswiftDispatch.dylib                 0x19a7b7bb0 OS_dispatch_queue._syncHelper<A>(fn:execute:rescue:) + 256
8   libswiftDispatch.dylib                 0x19a7b7140 OS_dispatch_queue.sync<A>(execute:) + 140
9   RootEncoder                            0x105b14c38 SynchronizedQueue.enqueue(_:) + 224
10  RootEncoder                            0x105a6d6f0 AudioEncoder.encodeFrame(frame:) + 152
11  RootEncoder                            0x105a822f4 getPcmData(frame:) in CameraBaseCallbackHandler #1 in CameraBase.createCameraBaseCallbacks() + 412
12  RootEncoder                            0x105a82990 protocol witness for GetMicrophoneData.getPcmData(frame:) in conformance CameraBaseCallbackHandler #1 in CameraBase.createCameraBaseCallbacks() + 20
13  RootEncoder                            0x105aac19c MicrophoneManager.captureOutput(_:didOutput:from:) + 1856
14  RootEncoder                            0x105aac308 @objc MicrophoneManager.captureOutput(_:didOutput:from:) + 84
15  AVFCapture                             0x1a5830750 -[AVCaptureAudioDataOutput _handleSampleBufferEventForSampleBuffer:] + 224
16  AVFCapture                             0x1a583047c __47-[AVCaptureAudioDataOutput _updateRemoteQueue:]_block_invoke + 100
17  CMCapture                              0x1a59c7f38 __FigRemoteOperationReceiverCreateMessageReceiver_block_invoke + 272
18  CMCapture                              0x1a5b74fbc __rqReceiverSetSource_block_invoke + 248
19  libdispatch.dylib                      0x181ea8094 _dispatch_client_callout + 16
20  libdispatch.dylib                      0x181e4abb8 _dispatch_continuation_pop$VARIANT$mp + 440
21  libdispatch.dylib                      0x181e5c8dc _dispatch_source_invoke$VARIANT$mp + 1668
22  libdispatch.dylib                      0x181e4e610 _dispatch_lane_serial_drain$VARIANT$mp + 344
23  libdispatch.dylib                      0x181e4f1f4 _dispatch_lane_invoke$VARIANT$mp + 408
24  libdispatch.dylib                      0x181e58ec8 _dispatch_workloop_worker_thread + 632
25  libsystem_pthread.dylib                0x1dd60ce00 _pthread_wqthread + 284
26  libsystem_pthread.dylib                0x1dd60c92c start_wqthread + 8

Thread 14:
0   libsystem_pthread.dylib                0x1dd60c924 start_wqthread + 0

Thread 15 name:   Dispatch queue: CameraManager
Thread 15:
0   libsystem_kernel.dylib                 0x1bcaa6134 kevent_id + 8
1   libdispatch.dylib                      0x181e664b4 _dispatch_kq_poll + 228
2   libdispatch.dylib                      0x181e66ebc _dispatch_event_loop_wait_for_ownership$VARIANT$mp + 440
3   libdispatch.dylib                      0x181e55bdc __DISPATCH_WAIT_FOR_QUEUE__ + 288
4   libdispatch.dylib                      0x181e55820 _dispatch_sync_f_slow + 136
5   libswiftDispatch.dylib                 0x19a7b7e18 implicit closure #2 in implicit closure #1 in OS_dispatch_queue.sync<A>(execute:) + 152
6   libswiftDispatch.dylib                 0x19a7b70ac partial apply for implicit closure #2 in implicit closure #1 in OS_dispatch_queue.sync<A>(execute:) + 40
7   libswiftDispatch.dylib                 0x19a7b7bb0 OS_dispatch_queue._syncHelper<A>(fn:execute:rescue:) + 256
8   libswiftDispatch.dylib                 0x19a7b7140 OS_dispatch_queue.sync<A>(execute:) + 140
9   RootEncoder                            0x105b14c38 SynchronizedQueue.enqueue(_:) + 224
10  RootEncoder                            0x105b1b2e0 VideoEncoder.encodeFrame(buffer:) + 452
11  RootEncoder                            0x105a82520 getYUVData(from:) in CameraBaseCallbackHandler #1 in CameraBase.createCameraBaseCallbacks() + 532
12  RootEncoder                            0x105a829b0 protocol witness for GetCameraData.getYUVData(from:) in conformance CameraBaseCallbackHandler #1 in CameraBase.createCameraBaseCallbacks() + 20
13  RootEncoder                            0x105a8887c CameraManager.captureOutput(_:didOutput:from:) + 740
14  RootEncoder                            0x105a88900 @objc CameraManager.captureOutput(_:didOutput:from:) + 84
15  AVFCapture                             0x1a57aa558 -[AVCaptureVideoDataOutput _processSampleBuffer:] + 332
16  AVFCapture                             0x1a5795b28 __47-[AVCaptureVideoDataOutput _updateRemoteQueue:]_block_invoke + 100
17  CMCapture                              0x1a59c7f38 __FigRemoteOperationReceiverCreateMessageReceiver_block_invoke + 272
18  CMCapture                              0x1a5b74fbc __rqReceiverSetSource_block_invoke + 248
19  libdispatch.dylib                      0x181ea8094 _dispatch_client_callout + 16
20  libdispatch.dylib                      0x181e4abb8 _dispatch_continuation_pop$VARIANT$mp + 440
21  libdispatch.dylib                      0x181e5c8dc _dispatch_source_invoke$VARIANT$mp + 1668
22  libdispatch.dylib                      0x181e4e610 _dispatch_lane_serial_drain$VARIANT$mp + 344
23  libdispatch.dylib                      0x181e4f1f4 _dispatch_lane_invoke$VARIANT$mp + 408
24  libdispatch.dylib                      0x181e58ec8 _dispatch_workloop_worker_thread + 632
25  libsystem_pthread.dylib                0x1dd60ce00 _pthread_wqthread + 284
26  libsystem_pthread.dylib                0x1dd60c92c start_wqthread + 8

Thread 16:
0   libsystem_pthread.dylib                0x1dd60c924 start_wqthread + 0

Thread 17:
0   libsystem_pthread.dylib                0x1dd60c924 start_wqthread + 0

Thread 3 crashed with ARM Thread State (64-bit):
    x0: 0x000000028239d9d0   x1: 0x000000016bbd6838   x2: 0x0000000105a7ba00   x3: 0x0000000280aaf1a0
    x4: 0x0000000000000020   x5: 0x00000001f6e23630   x6: 0x0000000000000001   x7: 0x0000000000000000
    x8: 0x0000000000000001   x9: 0x00000192dd00d114  x10: 0x000000016bbd6858  x11: 0x000000b300f5ac9c
   x12: 0x0000000000000010  x13: 0x00000000016e3600  x14: 0x0000000000000000  x15: 0x0000000000000136
   x16: 0x0000000186c02608  x17: 0x0000000025800000  x18: 0x0000000000000000  x19: 0x000000016bbd6610
   x20: 0x00000001fc322768  x21: 0x0000000000000000  x22: 0x00000001070d2090  x23: 0x00000001fbfb6cb8
   x24: 0x00000001f6de5aa8  x25: 0x000000016bbd70e0  x26: 0x0000000105d4e290  x27: 0x0000000000000000
   x28: 0x0000000000000000   fp: 0x000000016bbd6950   lr: 0x0000000105a7ba14
    sp: 0x000000016bbd6600   pc: 0x0000000105a7bcdc cpsr: 0x80000000
   far: 0x0000000105cd0000  esr: 0xf2000001 (Breakpoint) brk 1

Binary Images:
       0x1bcaa5000 -        0x1bcad8fff libsystem_kernel.dylib arm64  <102e8613667633f6a0b4f6e86a8636ce> /usr/lib/system/libsystem_kernel.dylib
       0x182155000 -        0x182592fff CoreFoundation arm64  <eec1287d059b38c89bc158a0c8b1e6c2> /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
       0x1a2c91000 -        0x1a2c99fff GraphicsServices arm64  <bb434d860991365fbed3c3923cf3073c> /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
       0x184490000 -        0x185c2bfff UIKitCore arm64  <9d3018772593385c8f72f075aa0b48fa> /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore
       0x198ad8000 -        0x198b37fff libswiftUIKit.dylib arm64  <883d1a20d0603440adf27c37b7efb6bd> /usr/lib/swift/libswiftUIKit.dylib
       0x104c78000 -        0x104f9bfff App.debug.dylib arm64  <fc7bcd98bb4b32c595d33cdf80034a46> /private/var/containers/Bundle/Application/AC209E4A-F33A-4555-B0C9-8277351BA2AC/App.app/App.debug.dylib
       0x10479c000 -        0x1047effff dyld arm64  <16c8ea1a1c773f4f97a66ae7fb25eb29> /usr/lib/dyld
       0x181e44000 -        0x181ec6fff libdispatch.dylib arm64  <9ccdbde315e13a45b3304a5e2c3f92bd> /usr/lib/system/libdispatch.dylib
       0x19a7b6000 -        0x19a7cbfff libswiftDispatch.dylib arm64  <07445dd6ae4a39efae395b584c61a845> /usr/lib/swift/libswiftDispatch.dylib
       0x105a54000 -        0x105b3ffff RootEncoder arm64  <f24e9463716e358abf876d29e25e6565> /private/var/containers/Bundle/Application/AC209E4A-F33A-4555-B0C9-8277351BA2AC/App.app/Frameworks/RootEncoder.framework/RootEncoder
       0x1dd60b000 -        0x1dd61bfff libsystem_pthread.dylib arm64  <6679a5b3a40a37a7b1c5565a0f5cb6ab> /usr/lib/system/libsystem_pthread.dylib
       0x183868000 -        0x183b4cfff Foundation arm64  <f9235fc7ec4e31c9b56e95cf10b07239> /System/Library/Frameworks/Foundation.framework/Foundation
       0x1eb3a5000 -        0x1eb3e1fff libswift_Concurrency.dylib arm64  <3278665b263c383ebf23c005325f53ed> /usr/lib/swift/libswift_Concurrency.dylib
       0x10532c000 -        0x10539ffff FirebaseCrashlytics arm64  <582309d538a63617840d8950d46d956e> /private/var/containers/Bundle/Application/AC209E4A-F33A-4555-B0C9-8277351BA2AC/App.app/Frameworks/FirebaseCrashlytics.framework/FirebaseCrashlytics
       0x18ea32000 -        0x18ed29fff CoreMotion arm64  <06b9c1cbe6b2363d8d4c523700487be7> /System/Library/Frameworks/CoreMotion.framework/CoreMotion
       0x182931000 -        0x182dc0fff CFNetwork arm64  <db182cd7f43339ad9531e81430e96a77> /System/Library/Frameworks/CFNetwork.framework/CFNetwork
       0x105518000 -        0x105557fff MqttCocoaAsyncSocket arm64  <9c40420ea0e7390b81bc2d7d3eb6ce7b> /private/var/containers/Bundle/Application/AC209E4A-F33A-4555-B0C9-8277351BA2AC/App.app/Frameworks/MqttCocoaAsyncSocket.framework/MqttCocoaAsyncSocket
       0x18af18000 -        0x18af40fff AudioSession arm64  <43120808d62431fea865b0e4b154a63a> /System/Library/PrivateFrameworks/AudioSession.framework/AudioSession
       0x1a5793000 -        0x1a5886fff AVFCapture arm64  <47c87f78d2673725b340d31ba051c1a2> /System/Library/PrivateFrameworks/AVFCapture.framework/AVFCapture
       0x1a5887000 -        0x1a5de1fff CMCapture arm64  <913f212bef403b3cb0d2826fe1a310f4> /System/Library/PrivateFrameworks/CMCapture.framework/CMCapture

EOF
pedroSG94 commented 2 weeks ago

After streaming continuously for 1-2 days, the app begins to crash frequently. Initial investigation suggests that the issue may be related to Thread 3.

BaseSenderReport might play a role in this behavior. When I commented out this section in RtspSender.swift, streaming works perfectly.

if (try self.senderReport?.update(rtpFrame: frame) == true) {
    // Convert bytes to bits (4 is the TCP header length)
    let reportSize = isTcp ? RtpConstants.REPORT_PACKET_LENGTH + 4 : RtpConstants.REPORT_PACKET_LENGTH
    self.bitrateManager.calculateBitrate(size: Int64(reportSize) * 8)
    if isEnableLogs {
        print("wrote report")
    }
}
  • Could BaseSenderReport be causing memory or processing issues over extended streaming?
  • Is it safe to keep this code commented out, or does this impact the reliability of streaming reports?
Incident Identifier: 4B3B802E-0BF6-4331-B671-45577FF927E0
CrashReporter Key:   dfb3d482de47b462398d72cc4bc4f8dc355d5915
Hardware Model:      iPhone8,1
Process:             App [18486]
Path:                /private/var/containers/Bundle/Application/AC209E4A-F33A-4555-B0C9-8277351BA2AC/App.app/App
Identifier:          xx.xxxx.xxxx.xxxx
Version:             1 (1)
Code Type:           ARM-64 (Native)
Role:                Foreground
Parent Process:      launchd [1]
Coalition:           xx.xxxx.xxxx.xxxx [431]

Date/Time:           2024-10-30 13:37:52.0432 +0300
Launch Time:         2024-10-30 12:56:46.0749 +0300
OS Version:          iPhone OS 15.8.3 (19H386)
Release Type:        User
Baseband Version:    9.61.00
Report Version:      104

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x0000000105a7bcdc
Exception Note:  EXC_CORPSE_NOTIFY
Termination Reason: SIGNAL 5 Trace/BPT trap: 5
Terminating Process: exc handler [18486]

Triggered by Thread:  3

Thread 0 name:   Dispatch queue: com.apple.main-thread
Thread 0:
0   libsystem_kernel.dylib                   0x1bcaa5aac mach_msg_trap + 8
1   libsystem_kernel.dylib                   0x1bcaa607c mach_msg + 72
2   CoreFoundation                           0x18215bc88 __CFRunLoopServiceMachPort + 368
3   CoreFoundation                           0x18215ff90 __CFRunLoopRun + 1160
4   CoreFoundation                           0x182173174 CFRunLoopRunSpecific + 572
5   GraphicsServices                         0x1a2c92988 GSEventRunModal + 160
6   UIKitCore                                0x184975a88 -[UIApplication _run] + 1080
7   UIKitCore                                0x18470ef78 UIApplicationMain + 336
8   libswiftUIKit.dylib                      0x198affee4 UIApplicationMain(_:_:_:_:) + 100
9   App.debug.dylib                          0x104c7cdd8 static UIApplicationDelegate.main() + 120
10  App.debug.dylib                          0x104c7cd50 static AppDelegate.$main() + 44
11  App.debug.dylib                          0x104c7ce84 __debug_main_executable_dylib_entry_point + 28
12  dyld                                     0x1047b44d0 start + 444

Thread 1 name:   Dispatch queue: VideoEncodeQueue
Thread 1:
0   libsystem_kernel.dylib                   0x1bcaa5b00 semaphore_timedwait_trap + 8
1   libdispatch.dylib                        0x181e489d8 _dispatch_sema4_timedwait$VARIANT$mp + 60
2   libdispatch.dylib                        0x181e48f64 _dispatch_semaphore_wait_slow + 72
3   libswiftDispatch.dylib                   0x19a7b78a4 OS_dispatch_semaphore.wait(wallTimeout:) + 20
4   RootEncoder                              0x105b1533c closure #1 in SynchronizedQueue.dequeue() + 684
5   RootEncoder                              0x105b153cc thunk for @callee_guaranteed () -> () + 20
6   RootEncoder                              0x105b15424 thunk for @escaping @callee_guaranteed () -> () + 24
7   libdispatch.dylib                        0x181ea8094 _dispatch_client_callout + 16
8   libdispatch.dylib                        0x181e55964 _dispatch_lane_barrier_sync_invoke_and_complete + 52
9   RootEncoder                              0x105b15024 SynchronizedQueue.dequeue() + 384
10  RootEncoder                              0x105b1ac20 closure #1 in VideoEncoder.start() + 180
11  RootEncoder                              0x105a6e2ac thunk for @escaping @callee_guaranteed @Sendable () -> () + 48
12  libdispatch.dylib                        0x181ea7094 _dispatch_call_block_and_release + 24
13  libdispatch.dylib                        0x181ea8094 _dispatch_client_callout + 16
14  libdispatch.dylib                        0x181e4e73c _dispatch_lane_serial_drain$VARIANT$mp + 644
15  libdispatch.dylib                        0x181e4f1f4 _dispatch_lane_invoke$VARIANT$mp + 408
16  libdispatch.dylib                        0x181e58ec8 _dispatch_workloop_worker_thread + 632
17  libsystem_pthread.dylib                  0x1dd60ce00 _pthread_wqthread + 284
18  libsystem_pthread.dylib                  0x1dd60c92c start_wqthread + 8

Thread 2 name:  com.apple.uikit.eventfetch-thread
Thread 2:
0   libsystem_kernel.dylib                   0x1bcaa5aac mach_msg_trap + 8
1   libsystem_kernel.dylib                   0x1bcaa607c mach_msg + 72
2   CoreFoundation                           0x18215bc88 __CFRunLoopServiceMachPort + 368
3   CoreFoundation                           0x18215ff90 __CFRunLoopRun + 1160
4   CoreFoundation                           0x182173174 CFRunLoopRunSpecific + 572
5   Foundation                               0x18387feac -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 232
6   Foundation                               0x1838befd0 -[NSRunLoop(NSRunLoop) runUntilDate:] + 88
7   UIKitCore                                0x1848f4ef4 -[UIEventFetcher threadMain] + 512
8   Foundation                               0x1838ccbdc __NSThread__start__ + 792
9   libsystem_pthread.dylib                  0x1dd60e338 _pthread_start + 116
10  libsystem_pthread.dylib                  0x1dd60c938 thread_start + 8

Thread 3 name:   Dispatch queue: com.apple.root.user-initiated-qos.cooperative
Thread 3 Crashed:
0   RootEncoder                              0x105a7bcdc BaseSenderReport.updateAudio(rtpFrame:) + 1536
1   RootEncoder                              0x105a7ba14 BaseSenderReport.updateAudio(rtpFrame:) + 824
2   RootEncoder                              0x105a7b660 BaseSenderReport.update(rtpFrame:) + 256
3   RootEncoder                              0x105b030dc (1) suspend resume partial function for closure #1 in RtspSender.start() + 2412
4   RootEncoder                              0x105b04311 (1) await resume partial function for partial apply for closure #1 in RtspSender.start() + 1
5   RootEncoder                              0x105ac6f35 $sxIeAgHr_xs5Error_pIegHrzo_s8SendableRzs5NeverORs_r0_lTRTQ0_ + 1
6   RootEncoder                              0x105ac70a1 $sxIeAgHr_xs5Error_pIegHrzo_s8SendableRzs5NeverORs_r0_lTRTATQ0_ + 1
7   libswift_Concurrency.dylib               0x1eb3d3269 completeTaskWithClosure(swift::AsyncContext*, swift::SwiftError*) + 1

Thread 4 name:   Dispatch queue: AudioEncodeQueue
Thread 4:
0   libsystem_kernel.dylib                   0x1bcaa5b00 semaphore_timedwait_trap + 8
1   libdispatch.dylib                        0x181e489d8 _dispatch_sema4_timedwait$VARIANT$mp + 60
2   libdispatch.dylib                        0x181e48f64 _dispatch_semaphore_wait_slow + 72
3   libswiftDispatch.dylib                   0x19a7b78a4 OS_dispatch_semaphore.wait(wallTimeout:) + 20
4   RootEncoder                              0x105b1533c closure #1 in SynchronizedQueue.dequeue() + 684
5   RootEncoder                              0x105b153cc thunk for @callee_guaranteed () -> () + 20
6   RootEncoder                              0x105b15424 thunk for @escaping @callee_guaranteed () -> () + 24
7   libdispatch.dylib                        0x181ea8094 _dispatch_client_callout + 16
8   libdispatch.dylib                        0x181e55964 _dispatch_lane_barrier_sync_invoke_and_complete + 52
9   RootEncoder                              0x105b15024 SynchronizedQueue.dequeue() + 384
10  RootEncoder                              0x105a6d9c0 closure #1 in AudioEncoder.start() + 208
11  RootEncoder                              0x105a6e2ac thunk for @escaping @callee_guaranteed @Sendable () -> () + 48
12  libdispatch.dylib                        0x181ea7094 _dispatch_call_block_and_release + 24
13  libdispatch.dylib                        0x181ea8094 _dispatch_client_callout + 16
14  libdispatch.dylib                        0x181e4e73c _dispatch_lane_serial_drain$VARIANT$mp + 644
15  libdispatch.dylib                        0x181e4f1f4 _dispatch_lane_invoke$VARIANT$mp + 408
16  libdispatch.dylib                        0x181e58ec8 _dispatch_workloop_worker_thread + 632
17  libsystem_pthread.dylib                  0x1dd60ce00 _pthread_wqthread + 284
18  libsystem_pthread.dylib                  0x1dd60c92c start_wqthread + 8

Thread 5 name:  com.google.firebase.crashlytics.MachExceptionServer
Thread 5:
0   libsystem_kernel.dylib                   0x1bcaa5aac mach_msg_trap + 8
1   libsystem_kernel.dylib                   0x1bcaa607c mach_msg + 72
2   FirebaseCrashlytics                      0x1053556d0 FIRCLSMachExceptionReply + 196
3   FirebaseCrashlytics                      0x1053551fc FIRCLSMachExceptionServer + 100
4   libsystem_pthread.dylib                  0x1dd60e338 _pthread_start + 116
5   libsystem_pthread.dylib                  0x1dd60c938 thread_start + 8

Thread 6 name:  com.apple.CoreMotion.MotionThread
Thread 6:
0   libsystem_kernel.dylib                   0x1bcaa5aac mach_msg_trap + 8
1   libsystem_kernel.dylib                   0x1bcaa607c mach_msg + 72
2   CoreFoundation                           0x18215bc88 __CFRunLoopServiceMachPort + 368
3   CoreFoundation                           0x18215ff90 __CFRunLoopRun + 1160
4   CoreFoundation                           0x182173174 CFRunLoopRunSpecific + 572
5   CoreFoundation                           0x1821ee320 CFRunLoopRun + 60
6   CoreMotion                               0x18ea44ab0 0x18ea32000 + 76464
7   libsystem_pthread.dylib                  0x1dd60e338 _pthread_start + 116
8   libsystem_pthread.dylib                  0x1dd60c938 thread_start + 8

Thread 7 name:  com.apple.NSURLConnectionLoader
Thread 7:
0   libsystem_kernel.dylib                   0x1bcaa5aac mach_msg_trap + 8
1   libsystem_kernel.dylib                   0x1bcaa607c mach_msg + 72
2   CoreFoundation                           0x18215bc88 __CFRunLoopServiceMachPort + 368
3   CoreFoundation                           0x18215ff90 __CFRunLoopRun + 1160
4   CoreFoundation                           0x182173174 CFRunLoopRunSpecific + 572
5   CFNetwork                                0x182b77b9c 0x182931000 + 2386844
6   Foundation                               0x1838ccbdc __NSThread__start__ + 792
7   libsystem_pthread.dylib                  0x1dd60e338 _pthread_start + 116
8   libsystem_pthread.dylib                  0x1dd60c938 thread_start + 8

Thread 8 name:  com.apple.CFSocket.private
Thread 8:
0   libsystem_kernel.dylib                   0x1bcaa66b0 __select + 8
1   CoreFoundation                           0x1821f88c8 __CFSocketManager + 628
2   libsystem_pthread.dylib                  0x1dd60e338 _pthread_start + 116
3   libsystem_pthread.dylib                  0x1dd60c938 thread_start + 8

Thread 9 name:  MGCDAsyncSocket-CFStream
Thread 9:
0   libsystem_kernel.dylib                   0x1bcaa5aac mach_msg_trap + 8
1   libsystem_kernel.dylib                   0x1bcaa607c mach_msg + 72
2   CoreFoundation                           0x18215bc88 __CFRunLoopServiceMachPort + 368
3   CoreFoundation                           0x18215ff90 __CFRunLoopRun + 1160
4   CoreFoundation                           0x182173174 CFRunLoopRunSpecific + 572
5   Foundation                               0x18387feac -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 232
6   MqttCocoaAsyncSocket                     0x105535150 +[MGCDAsyncSocket cfstreamThread:] + 428
7   Foundation                               0x1838ccbdc __NSThread__start__ + 792
8   libsystem_pthread.dylib                  0x1dd60e338 _pthread_start + 116
9   libsystem_pthread.dylib                  0x1dd60c938 thread_start + 8

Thread 10 name:  AVAudioSession Notify Thread
Thread 10:
0   libsystem_kernel.dylib                   0x1bcaa5aac mach_msg_trap + 8
1   libsystem_kernel.dylib                   0x1bcaa607c mach_msg + 72
2   CoreFoundation                           0x18215bc88 __CFRunLoopServiceMachPort + 368
3   CoreFoundation                           0x18215ff90 __CFRunLoopRun + 1160
4   CoreFoundation                           0x182173174 CFRunLoopRunSpecific + 572
5   AudioSession                             0x18af1e478 CADeprecated::GenericRunLoopThread::Entry(void*) + 156
6   AudioSession                             0x18af277c8 CADeprecated::CAPThread::Entry(CADeprecated::CAPThread*) + 88
7   libsystem_pthread.dylib                  0x1dd60e338 _pthread_start + 116
8   libsystem_pthread.dylib                  0x1dd60c938 thread_start + 8

Thread 11 name:   Dispatch queue: com.apple.root.user-initiated-qos.cooperative
Thread 11:
0   libsystem_kernel.dylib                   0x1bcaa5b00 semaphore_timedwait_trap + 8
1   libdispatch.dylib                        0x181e489d8 _dispatch_sema4_timedwait$VARIANT$mp + 60
2   libdispatch.dylib                        0x181e48f64 _dispatch_semaphore_wait_slow + 72
3   libswiftDispatch.dylib                   0x19a7b78a4 OS_dispatch_semaphore.wait(wallTimeout:) + 20
4   RootEncoder                              0x105b10ad4 Socket.read() + 668
5   RootEncoder                              0x105b10714 Socket.readString() + 116
6   RootEncoder                              0x105afafec RtspCommandManager.getResponse(socket:method:) + 108
7   RootEncoder                              0x105af10cc RtspClient.handleServerCommands() + 268
8   RootEncoder                              0x105af07fc (3) suspend resume partial function for closure #1 in RtspClient.connect(url:isRetry:) + 13904
9   RootEncoder                              0x105af2c31 (1) await resume partial function for partial apply for closure #1 in RtspClient.connect(url:isRetry:) + 1
10  libswift_Concurrency.dylib               0x1eb3d3269 completeTaskWithClosure(swift::AsyncContext*, swift::SwiftError*) + 1

Thread 12:
0   libsystem_pthread.dylib                  0x1dd60c924 start_wqthread + 0

Thread 13 name:   Dispatch queue: MicrophoneManager
Thread 13:
0   libsystem_kernel.dylib                   0x1bcaa6134 kevent_id + 8
1   libdispatch.dylib                        0x181e664b4 _dispatch_kq_poll + 228
2   libdispatch.dylib                        0x181e66ebc _dispatch_event_loop_wait_for_ownership$VARIANT$mp + 440
3   libdispatch.dylib                        0x181e55bdc __DISPATCH_WAIT_FOR_QUEUE__ + 288
4   libdispatch.dylib                        0x181e55820 _dispatch_sync_f_slow + 136
5   libswiftDispatch.dylib                   0x19a7b7e18 implicit closure #2 in implicit closure #1 in OS_dispatch_queue.sync<A>(execute:) + 152
6   libswiftDispatch.dylib                   0x19a7b70ac partial apply for implicit closure #2 in implicit closure #1 in OS_dispatch_queue.sync<A>(execute:) + 40
7   libswiftDispatch.dylib                   0x19a7b7bb0 OS_dispatch_queue._syncHelper<A>(fn:execute:rescue:) + 256
8   libswiftDispatch.dylib                   0x19a7b7140 OS_dispatch_queue.sync<A>(execute:) + 140
9   RootEncoder                              0x105b14c38 SynchronizedQueue.enqueue(_:) + 224
10  RootEncoder                              0x105a6d6f0 AudioEncoder.encodeFrame(frame:) + 152
11  RootEncoder                              0x105a822f4 getPcmData(frame:) in CameraBaseCallbackHandler #1 in CameraBase.createCameraBaseCallbacks() + 412
12  RootEncoder                              0x105a82990 protocol witness for GetMicrophoneData.getPcmData(frame:) in conformance CameraBaseCallbackHandler #1 in CameraBase.createCameraBaseCallbacks() + 20
13  RootEncoder                              0x105aac19c MicrophoneManager.captureOutput(_:didOutput:from:) + 1856
14  RootEncoder                              0x105aac308 @objc MicrophoneManager.captureOutput(_:didOutput:from:) + 84
15  AVFCapture                               0x1a5830750 -[AVCaptureAudioDataOutput _handleSampleBufferEventForSampleBuffer:] + 224
16  AVFCapture                               0x1a583047c __47-[AVCaptureAudioDataOutput _updateRemoteQueue:]_block_invoke + 100
17  CMCapture                                0x1a59c7f38 __FigRemoteOperationReceiverCreateMessageReceiver_block_invoke + 272
18  CMCapture                                0x1a5b74fbc __rqReceiverSetSource_block_invoke + 248
19  libdispatch.dylib                        0x181ea8094 _dispatch_client_callout + 16
20  libdispatch.dylib                        0x181e4abb8 _dispatch_continuation_pop$VARIANT$mp + 440
21  libdispatch.dylib                        0x181e5c8dc _dispatch_source_invoke$VARIANT$mp + 1668
22  libdispatch.dylib                        0x181e4e610 _dispatch_lane_serial_drain$VARIANT$mp + 344
23  libdispatch.dylib                        0x181e4f1f4 _dispatch_lane_invoke$VARIANT$mp + 408
24  libdispatch.dylib                        0x181e58ec8 _dispatch_workloop_worker_thread + 632
25  libsystem_pthread.dylib                  0x1dd60ce00 _pthread_wqthread + 284
26  libsystem_pthread.dylib                  0x1dd60c92c start_wqthread + 8

Thread 14:
0   libsystem_pthread.dylib                  0x1dd60c924 start_wqthread + 0

Thread 15 name:   Dispatch queue: CameraManager
Thread 15:
0   libsystem_kernel.dylib                   0x1bcaa6134 kevent_id + 8
1   libdispatch.dylib                        0x181e664b4 _dispatch_kq_poll + 228
2   libdispatch.dylib                        0x181e66ebc _dispatch_event_loop_wait_for_ownership$VARIANT$mp + 440
3   libdispatch.dylib                        0x181e55bdc __DISPATCH_WAIT_FOR_QUEUE__ + 288
4   libdispatch.dylib                        0x181e55820 _dispatch_sync_f_slow + 136
5   libswiftDispatch.dylib                   0x19a7b7e18 implicit closure #2 in implicit closure #1 in OS_dispatch_queue.sync<A>(execute:) + 152
6   libswiftDispatch.dylib                   0x19a7b70ac partial apply for implicit closure #2 in implicit closure #1 in OS_dispatch_queue.sync<A>(execute:) + 40
7   libswiftDispatch.dylib                   0x19a7b7bb0 OS_dispatch_queue._syncHelper<A>(fn:execute:rescue:) + 256
8   libswiftDispatch.dylib                   0x19a7b7140 OS_dispatch_queue.sync<A>(execute:) + 140
9   RootEncoder                              0x105b14c38 SynchronizedQueue.enqueue(_:) + 224
10  RootEncoder                              0x105b1b2e0 VideoEncoder.encodeFrame(buffer:) + 452
11  RootEncoder                              0x105a82520 getYUVData(from:) in CameraBaseCallbackHandler #1 in CameraBase.createCameraBaseCallbacks() + 532
12  RootEncoder                              0x105a829b0 protocol witness for GetCameraData.getYUVData(from:) in conformance CameraBaseCallbackHandler #1 in CameraBase.createCameraBaseCallbacks() + 20
13  RootEncoder                              0x105a8887c CameraManager.captureOutput(_:didOutput:from:) + 740
14  RootEncoder                              0x105a88900 @objc CameraManager.captureOutput(_:didOutput:from:) + 84
15  AVFCapture                               0x1a57aa558 -[AVCaptureVideoDataOutput _processSampleBuffer:] + 332
16  AVFCapture                               0x1a5795b28 __47-[AVCaptureVideoDataOutput _updateRemoteQueue:]_block_invoke + 100
17  CMCapture                                0x1a59c7f38 __FigRemoteOperationReceiverCreateMessageReceiver_block_invoke + 272
18  CMCapture                                0x1a5b74fbc __rqReceiverSetSource_block_invoke + 248
19  libdispatch.dylib                        0x181ea8094 _dispatch_client_callout + 16
20  libdispatch.dylib                        0x181e4abb8 _dispatch_continuation_pop$VARIANT$mp + 440
21  libdispatch.dylib                        0x181e5c8dc _dispatch_source_invoke$VARIANT$mp + 1668
22  libdispatch.dylib                        0x181e4e610 _dispatch_lane_serial_drain$VARIANT$mp + 344
23  libdispatch.dylib                        0x181e4f1f4 _dispatch_lane_invoke$VARIANT$mp + 408
24  libdispatch.dylib                        0x181e58ec8 _dispatch_workloop_worker_thread + 632
25  libsystem_pthread.dylib                  0x1dd60ce00 _pthread_wqthread + 284
26  libsystem_pthread.dylib                  0x1dd60c92c start_wqthread + 8

Thread 16:
0   libsystem_pthread.dylib                  0x1dd60c924 start_wqthread + 0

Thread 17:
0   libsystem_pthread.dylib                  0x1dd60c924 start_wqthread + 0

Thread 3 crashed with ARM Thread State (64-bit):
    x0: 0x000000028239d9d0   x1: 0x000000016bbd6838   x2: 0x0000000105a7ba00   x3: 0x0000000280aaf1a0
    x4: 0x0000000000000020   x5: 0x00000001f6e23630   x6: 0x0000000000000001   x7: 0x0000000000000000
    x8: 0x0000000000000001   x9: 0x00000192dd00d114  x10: 0x000000016bbd6858  x11: 0x000000b300f5ac9c
   x12: 0x0000000000000010  x13: 0x00000000016e3600  x14: 0x0000000000000000  x15: 0x0000000000000136
   x16: 0x0000000186c02608  x17: 0x0000000025800000  x18: 0x0000000000000000  x19: 0x000000016bbd6610
   x20: 0x00000001fc322768  x21: 0x0000000000000000  x22: 0x00000001070d2090  x23: 0x00000001fbfb6cb8
   x24: 0x00000001f6de5aa8  x25: 0x000000016bbd70e0  x26: 0x0000000105d4e290  x27: 0x0000000000000000
   x28: 0x0000000000000000   fp: 0x000000016bbd6950   lr: 0x0000000105a7ba14
    sp: 0x000000016bbd6600   pc: 0x0000000105a7bcdc cpsr: 0x80000000
   far: 0x0000000105cd0000  esr: 0xf2000001 (Breakpoint) brk 1

Binary Images:
       0x1bcaa5000 -        0x1bcad8fff libsystem_kernel.dylib arm64  <102e8613667633f6a0b4f6e86a8636ce> /usr/lib/system/libsystem_kernel.dylib
       0x182155000 -        0x182592fff CoreFoundation arm64  <eec1287d059b38c89bc158a0c8b1e6c2> /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
       0x1a2c91000 -        0x1a2c99fff GraphicsServices arm64  <bb434d860991365fbed3c3923cf3073c> /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
       0x184490000 -        0x185c2bfff UIKitCore arm64  <9d3018772593385c8f72f075aa0b48fa> /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore
       0x198ad8000 -        0x198b37fff libswiftUIKit.dylib arm64  <883d1a20d0603440adf27c37b7efb6bd> /usr/lib/swift/libswiftUIKit.dylib
       0x104c78000 -        0x104f9bfff App.debug.dylib arm64  <fc7bcd98bb4b32c595d33cdf80034a46> /private/var/containers/Bundle/Application/AC209E4A-F33A-4555-B0C9-8277351BA2AC/App.app/App.debug.dylib
       0x10479c000 -        0x1047effff dyld arm64  <16c8ea1a1c773f4f97a66ae7fb25eb29> /usr/lib/dyld
       0x181e44000 -        0x181ec6fff libdispatch.dylib arm64  <9ccdbde315e13a45b3304a5e2c3f92bd> /usr/lib/system/libdispatch.dylib
       0x19a7b6000 -        0x19a7cbfff libswiftDispatch.dylib arm64  <07445dd6ae4a39efae395b584c61a845> /usr/lib/swift/libswiftDispatch.dylib
       0x105a54000 -        0x105b3ffff RootEncoder arm64  <f24e9463716e358abf876d29e25e6565> /private/var/containers/Bundle/Application/AC209E4A-F33A-4555-B0C9-8277351BA2AC/App.app/Frameworks/RootEncoder.framework/RootEncoder
       0x1dd60b000 -        0x1dd61bfff libsystem_pthread.dylib arm64  <6679a5b3a40a37a7b1c5565a0f5cb6ab> /usr/lib/system/libsystem_pthread.dylib
       0x183868000 -        0x183b4cfff Foundation arm64  <f9235fc7ec4e31c9b56e95cf10b07239> /System/Library/Frameworks/Foundation.framework/Foundation
       0x1eb3a5000 -        0x1eb3e1fff libswift_Concurrency.dylib arm64  <3278665b263c383ebf23c005325f53ed> /usr/lib/swift/libswift_Concurrency.dylib
       0x10532c000 -        0x10539ffff FirebaseCrashlytics arm64  <582309d538a63617840d8950d46d956e> /private/var/containers/Bundle/Application/AC209E4A-F33A-4555-B0C9-8277351BA2AC/App.app/Frameworks/FirebaseCrashlytics.framework/FirebaseCrashlytics
       0x18ea32000 -        0x18ed29fff CoreMotion arm64  <06b9c1cbe6b2363d8d4c523700487be7> /System/Library/Frameworks/CoreMotion.framework/CoreMotion
       0x182931000 -        0x182dc0fff CFNetwork arm64  <db182cd7f43339ad9531e81430e96a77> /System/Library/Frameworks/CFNetwork.framework/CFNetwork
       0x105518000 -        0x105557fff MqttCocoaAsyncSocket arm64  <9c40420ea0e7390b81bc2d7d3eb6ce7b> /private/var/containers/Bundle/Application/AC209E4A-F33A-4555-B0C9-8277351BA2AC/App.app/Frameworks/MqttCocoaAsyncSocket.framework/MqttCocoaAsyncSocket
       0x18af18000 -        0x18af40fff AudioSession arm64  <43120808d62431fea865b0e4b154a63a> /System/Library/PrivateFrameworks/AudioSession.framework/AudioSession
       0x1a5793000 -        0x1a5886fff AVFCapture arm64  <47c87f78d2673725b340d31ba051c1a2> /System/Library/PrivateFrameworks/AVFCapture.framework/AVFCapture
       0x1a5887000 -        0x1a5de1fff CMCapture arm64  <913f212bef403b3cb0d2826fe1a310f4> /System/Library/PrivateFrameworks/CMCapture.framework/CMCapture

EOF

Hello,

Thank you for the report. Comment it is safe depend of the server. Few servers need it but others servers don't need it. If you have an environment with only a server you can do it.