MTLDebugRenderCommandEncoder Error from Swift Charts

I've started using swift charts and since then get random crashes with the error: Thread 467: hit program assert

The console outputs the following at the time of the crash:

-[MTLDebugRenderCommandEncoder setVertexBufferOffset:atIndex:]:1758: failed assertion Set Vertex Buffer Offset Validation
index(0) must have an existing buffer.`

I'm not using Metal directly buit it seems like this is related to Swift Charts. I cannot work out the source of the issue from the stack trace and the debugger shows teh crash in libsystem_kernel.dylib so does not tie back to my code.

I'm looking for ideas about where to start to try and find the source of the issue

0  libsystem_kernel.dylib         0x9764 __pthread_kill + 8
1  libsystem_pthread.dylib        0x6c28 (Missing UUID 1f30fb9abdf932dba7098417666a7e45)
2  libsystem_c.dylib              0x76ae8 abort + 180
3  libsystem_c.dylib              0x75e44 __assert_rtn + 270
4  Metal                          0x1426c4 MTLReportFailure.cold.1 + 46
5  Metal                          0x11f22c MTLReportFailure + 464
6  Metal                          0x11552c _MTLMessageContextEnd + 876
7  MetalTools                     0x95350 -[MTLDebugRenderCommandEncoder setVertexBufferOffset:atIndex:] + 272
8  RenderBox                      0xa5e18 RB::RenderQueue::encode(RB::RenderQueue::EncoderState&) + 1804
9  RenderBox                      0x7d5fc RB::RenderFrame::encode(RB::RenderFrame::EncoderData&, RB::RenderQueue&) + 432
10 RenderBox                      0x7d928 RB::RenderFrame::flush_pass(RB::RenderPass&, bool)::$_4::__invoke(void*) + 48
11 libdispatch.dylib              0x4400 (Missing UUID 9897030f75d3374b8787322d3d72e096)
12 libdispatch.dylib              0xba88 (Missing UUID 9897030f75d3374b8787322d3d72e096)
13 libdispatch.dylib              0xc5f8 (Missing UUID 9897030f75d3374b8787322d3d72e096)
14 libdispatch.dylib              0x17244 (Missing UUID 9897030f75d3374b8787322d3d72e096)
15 libsystem_pthread.dylib        0x3074 (Missing UUID 1f30fb9abdf932dba7098417666a7e45)
16 libsystem_pthread.dylib        0x1d94 (Missing UUID 1f30fb9abdf932dba7098417666a7e45)

Replies

As a workaround you can try disabling Metal API Validation when editing the project's scheme under Options and see if that unblocks you. It may also be helpful if you could file a Feedback Assistant report for Swift Charts throwing this error with a reproducible sample or crash log when detached from the debugger. If you can do this please provide the feedback assistant ID here.

  • Thanks. This solved the crash for me when trying to run BookClub sample on macOS. Note that this is actually located under the Diagnostics tab.

Add a Comment