我的 AR iOS 应用程序只是在 ARSession 期间挂起,没有任何问题的线索,或者阻塞主线程的
任何帮助非常感谢。下面是线程回溯
(lldb) thread list
Process 83660 stopped
thread #1: tid = 0xa7210c, 0x00000001d8e02784 libsystem_kernel.dylib`__psynch_rw_wrlock + 8, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
thread #6: tid = 0xa721c0, 0x00000001d8ddf644 libsystem_kernel.dylib`mach_msg_trap + 8, name = 'com.apple.uikit.eventfetch-thread'
thread #10: tid = 0xa721e2, 0x00000001d8ddf644 libsystem_kernel.dylib`mach_msg_trap + 8, name = 'AVAudioSession Notify Thread'
thread #11: tid = 0xa72247, 0x00000001d8ddf644 libsystem_kernel.dylib`mach_msg_trap + 8, name = 'com.apple.NSURLConnectionLoader'
thread #13: tid = 0xa722cc, 0x00000001d8ddf644 libsystem_kernel.dylib`mach_msg_trap + 8, name = 'com.apple.coreaudio.AQClient'
thread #26: tid = 0xa723b3, 0x00000001d8ddf644 libsystem_kernel.dylib`mach_msg_trap + 8, name = 'com.apple.CoreMotion.MotionThread'
thread #31: tid = 0xa723f8, 0x00000001d8ddf644 libsystem_kernel.dylib`mach_msg_trap + 8, name = 'com.apple.arkit.ardisplaylink.0x28057aa00'
* thread #32: tid = 0xa723f9, 0x00000001d8e03290 libsystem_kernel.dylib`__ulock_wait + 8, name = 'com.apple.scenekit.scnview-renderer', queue = 'com.apple.scenekit.renderingQueue.ARSCNView0x11391c2f0'
thread #37: tid = 0xa72477, 0x00000001f56d486c libsystem_pthread.dylib`start_wqthread
thread #38: tid = 0xa72484, 0x00000001f56d486c libsystem_pthread.dylib`start_wqthread
thread #40: tid = 0xa725a1, 0x00000001f56d486c libsystem_pthread.dylib`start_wqthread
thread #43: tid = 0xa725ae, 0x00000001d8e0348c libsystem_kernel.dylib`__workq_kernreturn + 8
(lldb) thread info
thread #32: tid = 0xa723f9, 0x00000001d8e03290 libsystem_kernel.dylib`__ulock_wait + 8, name = 'com.apple.scenekit.scnview-renderer', queue = 'com.apple.scenekit.renderingQueue.ARSCNView0x11391c2f0'
(lldb) thread backtrace
* thread #32, name = 'com.apple.scenekit.scnview-renderer', queue = 'com.apple.scenekit.renderingQueue.ARSCNView0x11391c2f0'
* frame #0: 0x00000001d8e03290 libsystem_kernel.dylib`__ulock_wait + 8
frame #1: 0x0000000112429fcc libdispatch.dylib`_dlock_wait + 52
frame #2: 0x000000011242a348 libdispatch.dylib`_dispatch_group_wait_slow + 56
frame #3: 0x00000001dedcd120 SceneKit`-[SCNTextureCoreAnimationSource _resizeLayer:toSize:updateLayer:updateTransform:caRenderer:] + 204
frame #4: 0x00000001dedcd6c4 SceneKit`-[SCNTextureCoreAnimationSource __renderLayerUsingMetal:withCARenderer:engineContext:viewport:atTime:forceUpdate:didUpdate:] + 216
frame #5: 0x00000001dedcde40 SceneKit`-[SCNTextureCoreAnimationSource __updateTextureWithLayer:texture:engineContext:sampler:] + 804
frame #6: 0x00000001dedce404 SceneKit`-[SCNTextureCoreAnimationSource metalTextureWithEngineContext:textureSampler:nextFrameTime:] + 372
frame #7: 0x00000001defea5d4 SceneKit`kSCNTextureSourceCallbackGetMetalTexture + 60
frame #8: 0x00000001dee2664c SceneKit`-[SCNMTLResourceManager(Textures) renderResourceForImageProxy:sampler:engineContext:] + 200
frame #9: 0x00000001dee2652c SceneKit`-[SCNMTLResourceManager(Textures) renderResourcesForEffectSlot:withEngineContext:] + 128
frame #10: 0x00000001dee48e38 SceneKit`__39+[SCNMTLRenderContext registerBindings]_block_invoke_28 + 80
frame #11: 0x00000001dee46270 SceneKit`_execute(SCNMTLRenderContext*, DrawCommand) + 4316
frame #12: 0x00000001dee45034 SceneKit`-[SCNMTLRenderContext drawRenderElement:withPass:] + 600
frame #13: 0x00000001dee43fa4 SceneKit`-[SCNMTLRenderContext processRendererElements:count:engineIterationContext:] + 932
frame #14: 0x00000001def6da78 SceneKit`C3D::DrawNodesPass::_renderEye(long) + 508
frame #15: 0x00000001def6d7c8 SceneKit`C3D::DrawNodesPass::execute(C3D::RenderArgs const&) + 196
frame #16: 0x00000001def74bd8 SceneKit`C3D::ScenePass::execute(C3D::RenderArgs const&) + 252
frame #17: 0x00000001dedff644 SceneKit`C3D::__renderSlice(C3D::RenderGraph*, C3D::RenderPass*, unsigned short&, C3D::RenderGraph::GraphNode const&, C3D::RenderGraph::Stage*&, C3D::RenderArgs, bool, id<MTLCommandBuffer>&) + 1672
frame #18: 0x00000001dee00e30 SceneKit`C3D::RenderGraph::execute() + 4660
frame #19: 0x00000001deef8f20 SceneKit`-[SCNRenderer _renderSceneWithEngineContext:sceneTime:] + 440
frame #20: 0x00000001deef9788 SceneKit`-[SCNRenderer _drawSceneWithNewRenderer:] + 272
frame #21: 0x00000001deef9cfc SceneKit`-[SCNRenderer _drawScene:] + 48
frame #22: 0x00000001deefa0a4 SceneKit`-[SCNRenderer _drawAtTime:] + 636
frame #23: 0x00000001def95418 SceneKit`-[SCNView _drawAtTime:] + 452
frame #24: 0x00000001dee5a2f0 SceneKit`__76-[NSObject(SCN_DisplayLinkExtensions) SCN_setupDisplayLinkWithQueue:screen:]_block_invoke + 56
frame #25: 0x00000001def60e14 SceneKit`__36-[SCNDisplayLink _callbackWithTime:]_block_invoke + 64
frame #26: 0x0000000112429528 libdispatch.dylib`_dispatch_client_callout + 16
frame #27: 0x0000000112438740 libdispatch.dylib`_dispatch_lane_barrier_sync_invoke_and_complete + 124
frame #28: 0x00000001def60da4 SceneKit`-[SCNDisplayLink _callbackWithTime:] + 232
frame #29: 0x00000001b0079640 QuartzCore`CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 660
frame #30: 0x00000001b014ba20 QuartzCore`display_timer_callback(__CFMachPort*, void*, long, void*) + 276
frame #31: 0x00000001ace9eb54 CoreFoundation`__CFMachPortPerform + 172
frame #32: 0x00000001acec2420 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 56
frame #33: 0x00000001acec1834 CoreFoundation`__CFRunLoopDoSource1 + 588
frame #34: 0x00000001acebb9f4 CoreFoundation`__CFRunLoopRun + 2332
frame #35: 0x00000001acebaba0 CoreFoundation`CFRunLoopRunSpecific + 572
frame #36: 0x00000001ae0da7f8 Foundation`-[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 228
frame #37: 0x00000001dee5a7d8 SceneKit`__78-[SCNView(SCNDisplayLink) _initializeDisplayLinkWithScreen:completionHandler:]_block_invoke + 668
frame #38: 0x00000001dee5aa74 SceneKit`__SCNRenderThread_start__ + 96
frame #39: 0x00000001f56cfc9c libsystem_pthread.dylib`_pthread_start + 288
(lldb) thread info
thread #31: tid = 0xa723f8, 0x00000001d8ddf644 libsystem_kernel.dylib`mach_msg_trap + 8, name = 'com.apple.arkit.ardisplaylink.0x28057aa00'
(lldb) thread backtrace
* thread #31, name = 'com.apple.arkit.ardisplaylink.0x28057aa00'
* frame #0: 0x00000001d8ddf644 libsystem_kernel.dylib`mach_msg_trap + 8
frame #1: 0x00000001d8ddea48 libsystem_kernel.dylib`mach_msg + 72
frame #2: 0x00000001acec10fc CoreFoundation`__CFRunLoopServiceMachPort + 376
frame #3: 0x00000001acebb570 CoreFoundation`__CFRunLoopRun + 1176
frame #4: 0x00000001acebaba0 CoreFoundation`CFRunLoopRunSpecific + 572
frame #5: 0x00000001acebbc60 CoreFoundation`CFRunLoopRun + 60
frame #6: 0x00000001d6bca270 ARKitCore`-[ARRunLoop _startThread] + 560
frame #7: 0x00000001ae2374bc Foundation`__NSThread__start__ + 848
frame #8: 0x00000001f56cfc9c libsystem_pthread.dylib`_pthread_start + 288
(lldb) thread info
thread #6: tid = 0xa721c0, 0x00000001d8ddf644 libsystem_kernel.dylib`mach_msg_trap + 8, name = 'com.apple.uikit.eventfetch-thread'
(lldb) thread backtrace
* thread #6, name = 'com.apple.uikit.eventfetch-thread'
* frame #0: 0x00000001d8ddf644 libsystem_kernel.dylib`mach_msg_trap + 8
frame #1: 0x00000001d8ddea48 libsystem_kernel.dylib`mach_msg + 72
frame #2: 0x00000001acec10fc CoreFoundation`__CFRunLoopServiceMachPort + 376
frame #3: 0x00000001acebb570 CoreFoundation`__CFRunLoopRun + 1176
frame #4: 0x00000001acebaba0 CoreFoundation`CFRunLoopRunSpecific + 572
frame #5: 0x00000001ae0da7f8 Foundation`-[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 228
frame #6: 0x00000001ae0da6d8 Foundation`-[NSRunLoop(NSRunLoop) runUntilDate:] + 88
frame #7: 0x00000001af858054 UIKitCore`-[UIEventFetcher threadMain] + 504
frame #8: 0x00000001ae2374bc Foundation`__NSThread__start__ + 848
frame #9: 0x00000001f56cfc9c libsystem_pthread.dylib`_pthread_start + 288
(lldb) thread info
thread #10: tid = 0xa721e2, 0x00000001d8ddf644 libsystem_kernel.dylib`mach_msg_trap + 8, name = 'AVAudioSession Notify Thread'
(lldb) thread backtrace
* thread #10, name = 'AVAudioSession Notify Thread'
* frame #0: 0x00000001d8ddf644 libsystem_kernel.dylib`mach_msg_trap + 8
frame #1: 0x00000001d8ddea48 libsystem_kernel.dylib`mach_msg + 72
frame #2: 0x00000001acec10fc CoreFoundation`__CFRunLoopServiceMachPort + 376
frame #3: 0x00000001acebb570 CoreFoundation`__CFRunLoopRun + 1176
frame #4: 0x00000001acebaba0 CoreFoundation`CFRunLoopRunSpecific + 572
frame #5: 0x00000001b443b098 AudioSession`GenericRunLoopThread::Entry(void*) + 156
frame #6: 0x00000001b443cff8 AudioSession`CAPThread::Entry(CAPThread*) + 88
frame #7: 0x00000001f56cfc9c libsystem_pthread.dylib`_pthread_start + 288
(lldb) thread info
thread #11: tid = 0xa72247, 0x00000001d8ddf644 libsystem_kernel.dylib`mach_msg_trap + 8, name = 'com.apple.NSURLConnectionLoader'
(lldb) thread backtrace
* thread #11, name = 'com.apple.NSURLConnectionLoader'
* frame #0: 0x00000001d8ddf644 libsystem_kernel.dylib`mach_msg_trap + 8
frame #1: 0x00000001d8ddea48 libsystem_kernel.dylib`mach_msg + 72
frame #2: 0x00000001acec10fc CoreFoundation`__CFRunLoopServiceMachPort + 376
frame #3: 0x00000001acebb570 CoreFoundation`__CFRunLoopRun + 1176
frame #4: 0x00000001acebaba0 CoreFoundation`CFRunLoopRunSpecific + 572
frame #5: 0x00000001ad74c4b0 CFNetwork`___lldb_unnamed_symbol11132$$CFNetwork + 552
frame #6: 0x00000001ae2374bc Foundation`__NSThread__start__ + 848
frame #7: 0x00000001f56cfc9c libsystem_pthread.dylib`_pthread_start + 288
(lldb) thread info
thread #13: tid = 0xa722cc, 0x00000001d8ddf644 libsystem_kernel.dylib`mach_msg_trap + 8, name = 'com.apple.coreaudio.AQClient'
(lldb) thread backtrace
* thread #13, name = 'com.apple.coreaudio.AQClient'
* frame #0: 0x00000001d8ddf644 libsystem_kernel.dylib`mach_msg_trap + 8
frame #1: 0x00000001d8ddea48 libsystem_kernel.dylib`mach_msg + 72
frame #2: 0x00000001acec10fc CoreFoundation`__CFRunLoopServiceMachPort + 376
frame #3: 0x00000001acebb570 CoreFoundation`__CFRunLoopRun + 1176
frame #4: 0x00000001acebaba0 CoreFoundation`CFRunLoopRunSpecific + 572
frame #5: 0x00000001b59334e0 AudioToolbox`GenericRunLoopThread::Entry(void*) + 156
frame #6: 0x00000001c19ec464 libAudioToolboxUtility.dylib`CADeprecated::CAPThread::Entry(CADeprecated::CAPThread*) + 88
frame #7: 0x00000001f56cfc9c libsystem_pthread.dylib`_pthread_start + 288
(lldb) thread info
thread backtrace
* thread #26, name = 'com.apple.CoreMotion.MotionThread'
* frame #0: 0x00000001d8ddf644 libsystem_kernel.dylib`mach_msg_trap + 8
frame #1: 0x00000001d8ddea48 libsystem_kernel.dylib`mach_msg + 72
frame #2: 0x00000001acec10fc CoreFoundation`__CFRunLoopServiceMachPort + 376
frame #3: 0x00000001acebb570 CoreFoundation`__CFRunLoopRun + 1176
frame #4: 0x00000001acebaba0 CoreFoundation`CFRunLoopRunSpecific + 572
frame #5: 0x00000001acebbc60 CoreFoundation`CFRunLoopRun + 60
frame #6: 0x00000001b7914d68 CoreMotion`___lldb_unnamed_symbol6249$$CoreMotion + 1308
frame #7: 0x00000001f56cfc9c libsystem_pthread.dylib`_pthread_start + 288
(lldb) thread backtrace
(lldb) thread backtrace
* thread #38
* frame #0: 0x00000001f56d486c libsystem_pthread.dylib`start_wqthread
(lldb) thread info
thread #1: tid = 0xa7210c, 0x00000001d8e02784 libsystem_kernel.dylib`__psynch_rw_wrlock + 8, queue = 'com.apple.main-thread'
(lldb) thread backtrace
* thread #1, queue = 'com.apple.main-thread'
frame #0: 0x00000001d8e02784 libsystem_kernel.dylib`__psynch_rw_wrlock + 8
frame #1: 0x00000001f56cec98 libsystem_pthread.dylib`_pthread_rwlock_lock_wait + 84
frame #2: 0x00000001f56cec20 libsystem_pthread.dylib`_pthread_rwlock_lock_slow$VARIANT$armv81 + 676
frame #3: 0x00000001defcc23c SceneKit`C3DTransactionFlush + 444
frame #4: 0x00000001acec087c CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32
frame #5: 0x00000001acebaf50 CoreFoundation`__CFRunLoopDoObservers + 604
frame #6: 0x00000001acebb498 CoreFoundation`__CFRunLoopRun + 960
frame #7: 0x00000001acebaba0 CoreFoundation`CFRunLoopRunSpecific + 572
frame #8: 0x00000001c3c20598 GraphicsServices`GSEventRunModal + 160
frame #9: 0x00000001af7ac2f4 UIKitCore`-[UIApplication _run] + 1052
* frame #10: 0x00000001af7b1874 UIKitCore`UIApplicationMain + 164
frame #11: 0x0000000104389cb8 verifyt-b2c-app`main at AppDelegate.swift:14:7 [opt]
frame #12: 0x00000001acb99568 libdyld.dylib`start + 4