GPU Capture Crash

Hi,


I try to debugging the shader, but GPU capture will crash on command buffer commit function if I don't click the capture button within 2~3 seconds after the game started rendering.


And when I got a capture within the 2~3 second windows, the xcode sometimes will crash with following info in the reporter:

pplication Specific Information:
ProductBuildVersion: 10B61
ASSERTION FAILURE in /Library/Caches/com.apple.xbs/Sources/IDEFrameworks_Fall2018/IDEFrameworks-14460.46/IDEFoundation/Initialization/IDEInitialization.m:661
Details:  Deallocating NSView off MainThread: -[DBGLLDBSession _cancelAndClearAllSessionThreadActionsWithActionsLockAlreadyTaken] called -[NSControl dealloc] from non-main thread. Set the default 'IDEMainThreadChecker_DisableHardAssertions = 1' to disable this.
Function: void _IDEApplicationMainThreadCheckerReportCallback(const char *)
Thread:   <NSThread: 0x7ffb176e22d0>{number = 347, name = (null)}
Hints:   

Backtrace:
  0   -[IDEAssertionHandler handleFailureInFunction:fileName:lineNumber:assertionSignature:messageFormat:arguments:] (in IDEKit)
  1   _DVTAssertionHandler (in DVTFoundation)
  2   _DVTAssertionFailureHandler (in DVTFoundation)
  3   _IDEApplicationMainThreadCheckerReportCallback (in IDEFoundation)
  4   __ASSERT_API_MUST_BE_CALLED_FROM_MAIN_THREAD_FAILED__ (in libMainThreadChecker.dylib)
  5   checker_c (in libMainThreadChecker.dylib)
  6   trampoline_c (in libMainThreadChecker.dylib)
  7   handler_start (in libMainThreadChecker.dylib)
  8   -[DBGVariablesViewContentProvider .cxx_destruct] (in DebuggerUI)
  9   object_cxxDestructFromClass(objc_object*, objc_class*) (in libobjc.A.dylib)
 10   objc_destructInstance (in libobjc.A.dylib)
 11   object_dispose (in libobjc.A.dylib)
 12   _DVTInvalidation_HardAssertDidInvalidateDeallocSuper (in DVTFoundation)
 13   __destroy_helper_block_.294 (in DebuggerUI)
 14   _Block_release (in libsystem_blocks.dylib)
 15   _Block_release (in libsystem_blocks.dylib)
 16   _Block_release (in libsystem_blocks.dylib)
 17   -[__NSArrayM removeAllObjects] (in CoreFoundation)
 18   -[DBGLLDBSession _cancelAndClearAllSessionThreadActionsWithActionsLockAlreadyTaken] (in DebuggerLLDB)
 19   __80-[DBGLLDBSession _cancelAndClearAllSessionThreadActionsByFirstTakingActionsLock]_block_invoke (in DebuggerLLDB)
 20   _dispatch_client_callout (in libdispatch.dylib)
 21   _dispatch_lane_barrier_sync_invoke_and_complete (in libdispatch.dylib)
 22   DVTDispatchBarrierSync (in DVTFoundation)
 23   -[DVTDispatchLock performLockedBlock:] (in DVTFoundation)
 24   -[DBGLLDBSession _cancelAndClearAllSessionThreadActionsByFirstTakingActionsLock] (in DebuggerLLDB)
 25   DBGLLDBSessionThread(void*) (in DebuggerLLDB)
 26   _pthread_body (in libsystem_pthread.dylib)
 27   _pthread_start (in libsystem_pthread.dylib)
 28   thread_start (in libsystem_pthread.dylib)


abort() called


I am using Xcode 10.1 and iPhone XS Max with iOS 12.1.2, really appreciate if anyone can give me some idea what could cause these crashes?


Thanks,

Kai

Replies

Run out of memory, fix a bug which creates a new depth render target every frame, now I can capture without any problem.