setScissorRect invalid

-[MTLDebugRenderCommandEncoder setScissorRect:]:4048: failed assertion `Set Scissor Rect Validation (rect.x(0) + rect.width(2106))(2106) must be <= render pass width(2048) (rect.y(127) + rect.height(1694))(1821) must be <= render pass height(1648) '

Program crashes on window resize.

Not all the time, but often (and only) when rapidly reduce window to minimum screen size.

Thread 1 Queue : com.apple.main-thread (serial) #0 0x000000019b2d4318 in readARCWeakAt () #1 0x000000019b2f812c in -[NSConcretePointerArray countByEnumeratingWithState:objects:count:] () #2 0x000000019b2f87ec in -[NSPointerArray(NSArrayConveniences) allObjects] () #3 0x000000019da53a5c in -[NSApplication(NSWindowCache) _updateWindowsUsingCache] () #4 0x000000019da539e4 in -[NSApplication updateWindows] () #5 0x000000019de93f0c in __38-[NSApplication setWindowsNeedUpdate:]_block_invoke_2 () #6 0x000000019de9904c in ___NSRunLoopObserverCreateWithHandler_block_invoke () #7 0x000000019a1f087c in CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION () #8 0x000000019a1f0768 in __CFRunLoopDoObservers () #9 0x000000019a1efd94 in __CFRunLoopRun () #10 0x000000019a1ef434 in CFRunLoopRunSpecific () #11 0x00000001a499919c in RunCurrentEventLoopInMode () #12 0x00000001a4998e2c in ReceiveNextEventCommon () #13 0x00000001a4998d30 in _BlockUntilNextEventMatchingListInModeWithFilter () #14 0x000000019da4ecc8 in _DPSNextEvent () #15 0x000000019e2454d0 in -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] () #16 0x000000019da41ffc in -[NSApplication run] () #17 0x000000019da19240 in NSApplicationMain () #18 0x0000000100d4e3c8 in main at /Users/gordon/Library/CloudStorage/Dropbox/ 2024-PROGRAMMING/Pplates-tryingToFix/Pplates/main.m:14 #19 0x0000000199d87154 in start ()

Thread 3 Queue : com.apple.scenekit.renderingQueue.VirtualEarthSCNView0x143041c00 (serial) #0 0x000000019a0d95f0 in __pthread_kill () #1 0x0000000101c4ebe8 in pthread_kill () #2 0x000000019a01ea30 in abort () #3 0x000000019a01dd20 in __assert_rtn () #4 0x00000001a45d6194 in MTLReportFailure.cold.1 () #5 0x00000001a45b2db0 in MTLReportFailure () #6 0x00000001a45a8d58 in _MTLMessageContextEnd () #7 0x000000019a9af824 in -[MTLDebugRenderCommandEncoder setScissorRect:] () #8 0x00000001029d2e28 in -[CaptureMTLRenderCommandEncoder setScissorRect:] () #9 0x00000001c20893dc in C3D::__setupRenderEncoder(SCNMTLRenderContext*, C3D::RenderPass*, C3D::RenderArgs const&, SCNMTLRenderCommandEncoder&) () #10 0x00000001c208a1f0 in C3D::__renderSlice(C3D::RenderGraph*, C3D::RenderPass*, unsigned short&, C3D::RenderGraph::GraphNode const&, C3D::RenderGraph::Stage*&, C3D::RenderArgs, bool, id<MTLCommandBuffer>&) () #11 0x00000001c208bb50 in C3D::RenderGraph::execute() () #12 0x00000001c1f16498 in -[SCNRenderer _renderSceneWithEngineContext:sceneTime:] () #13 0x00000001c1f1677c in -[SCNRenderer _drawSceneWithNewRenderer:] () #14 0x00000001c1f16ca0 in -[SCNRenderer _drawScene:] () #15 0x00000001c1f16fa8 in -[SCNRenderer _drawAtTime:] () #16 0x00000001c1f18f38 in __70-[SCNRenderer _jitterAtStep:updateMainFramebuffer:redisplay:jitterer:]_block_invoke () #17 0x0000000101ba6ba4 in _dispatch_client_callout () #18 0x0000000101bbb5ac in _dispatch_lane_barrier_sync_invoke_and_complete () #19 0x00000001c1f18e4c in -[SCNRenderer _jitterAtStep:updateMainFramebuffer:redisplay:jitterer:] () #20 0x00000001c1e75714 in -[SCNJitterer jitter] () #21 0x0000000101ba4f2c in _dispatch_call_block_and_release () #22 0x0000000101ba6ba4 in _dispatch_client_callout () #23 0x0000000101bafd88 in _dispatch_lane_serial_drain () #24 0x0000000101bb0e7c in _dispatch_lane_invoke () #25 0x0000000101bc0958 in _dispatch_root_queue_drain_deferred_wlh () #26 0x0000000101bbfc30 in _dispatch_workloop_worker_thread () #27 0x0000000101c4fd40 in _pthread_wqthread ()

Answered by DTS Engineer in 801717022

Hello @ClearRange,

It appears that you are using SceneKit, and thus you aren't calling setScissorRect directly. Please file a bug report for this issue using Feedback Assistant so that the SceneKit team can investigate the issue.

Best regards,

Greg

Hello @ClearRange,

It appears that you are using SceneKit, and thus you aren't calling setScissorRect directly. Please file a bug report for this issue using Feedback Assistant so that the SceneKit team can investigate the issue.

Best regards,

Greg

Hello Greg, Thanks. I resubmitted a bug report, this time on a thread that included SceneKit.

setScissorRect invalid
 
 
Q