Canvas view crashing with Core Graphics-based drawing

One of my SwiftUI applications using a Canvas view started to crash with Xcode 16. It was working flawlessly with Xcode 15. I was able to come up with a minimal SwiftUI app that shows the issue:

@main struct CanvasTest: App {
var body: some Scene {
  WindowGroup {
    VStack {
      Canvas { context, size in
        context.withCGContext { cgContext in
          let z = Int(size.width / 3.0)
          for i in 0..<18000 { // crashes from 17413 on
            cgContext.beginPath()
            cgContext.move(to: CGPoint(x: (i % z) * 3, y: (i / z) * 2))
            cgContext.addLine(to: CGPoint(x: (i % z) * 3 + 2, y: (i / z) * 2))
            cgContext.strokePath()
          }
        }
      }
    }
  }
}
}

The canvas displays 18000 lines and the context.withCGContext invocation also completes successfully. Yet, the application crashes immediately after like this (details below):

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

I was wondering if anyone else noticed that change and found a way to fix it? Alternatively, I am looking for workarounds. I have to be able to display large drawings created via core context-based graphics.

Is this worth reporting to Apple?

Thanks already now for any help and advice.

Hardware Model:      Mac15,9
Process:             CanvasTest [2162]
Path:                /Users/USER/Library/Developer/CoreSimulator/Devices/0C372C7C-3D00-48AA-8124-799CB9A35C1E/data/Containers/Bundle/Application/EBAEC7A2-C93D-48B7-9754-4F3F54A33084/CanvasTest.app/CanvasTest
Identifier:          com.objecthub.CanvasTest
Version:             1.0 (1)
Code Type:           ARM-64 (Native)
Role:                Foreground
Parent Process:      launchd_sim [98324]
Coalition:           com.apple.CoreSimulator.SimDevice.0C372C7C-3D00-48AA-8124-799CB9A35C1E [58431]
Responsible Process: SimulatorTrampoline [3499]

Date/Time:           2024-12-01 14:33:07.7617 +0100
Launch Time:         2024-12-01 14:33:07.4151 +0100
OS Version:          macOS 15.1.1 (24B91)
Release Type:        User
Report Version:      104

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

Triggered by Thread:  0

Application Specific Information:
Abort Cause 268435470

Thread 0 Crashed::  Dispatch queue: com.Metal.CommandQueueDispatch
0   libxpc.dylib                  	       0x1800eabb4 _xpc_connection_release_message.cold.1 + 60
1   libxpc.dylib                  	       0x1800c9910 _xpc_connection_release_message + 240
2   libxpc.dylib                  	       0x1800c80b4 _xpc_connection_enqueue + 264
3   libxpc.dylib                  	       0x1800c8b9c xpc_connection_send_message + 128
4   MTLSimDriver                  	       0x2275c6e7c -[MTLSimCommandQueue submitCommandBuffers:count:] + 368
5   Metal                         	       0x19eabdfd4 -[_MTLCommandQueue _submitAvailableCommandBuffers] + 480
6   Metal                         	       0x19eabe4ac __40-[_MTLCommandQueue submitCommandBuffer:]_block_invoke + 24
7   libdispatch.dylib             	       0x180178de0 _dispatch_client_callout + 16
8   libdispatch.dylib             	       0x180188ac8 _dispatch_lane_barrier_sync_invoke_and_complete + 92
9   Metal                         	       0x19eabe46c -[_MTLCommandQueue submitCommandBuffer:] + 112
10  MTLSimDriver                  	       0x2275c5fc8 -[MTLSimCommandBuffer commitAndWaitUntilSubmitted] + 40
11  RenderBox                     	       0x1c6e9015c RB::RenderFrame::~RenderFrame() + 240
12  RenderBox                     	       0x1c6e6e9dc __38-[RBLayer displayWithBounds:callback:]_block_invoke.27 + 500
13  libdispatch.dylib             	       0x180178de0 _dispatch_client_callout + 16
14  libdispatch.dylib             	       0x180188ac8 _dispatch_lane_barrier_sync_invoke_and_complete + 92
15  RenderBox                     	       0x1c6e6de38 -[RBLayer displayWithBounds:callback:] + 2480
16  RenderBox                     	       0x1c6e6d46c -[RBLayer display] + 172
17  QuartzCore                    	       0x18b0c7e74 CA::Layer::layout_and_display_if_needed(CA::Transaction*) + 392
18  QuartzCore                    	       0x18affca50 CA::Context::commit_transaction(CA::Transaction*, double, double*) + 464
19  QuartzCore                    	       0x18b02b260 CA::Transaction::commit() + 652
20  UIKitCore                     	       0x185af0f70 __34-[UIApplication _firstCommitBlock]_block_invoke_2 + 32
21  CoreFoundation                	       0x18041b58c __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 20
22  CoreFoundation                	       0x18041acc4 __CFRunLoopDoBlocks + 352
23  CoreFoundation                	       0x1804153cc __CFRunLoopRun + 812
24  CoreFoundation                	       0x180414c24 CFRunLoopRunSpecific + 552
25  GraphicsServices              	       0x19020ab10 GSEventRunModal + 160
26  UIKitCore                     	       0x185ad82fc -[UIApplication _run] + 796
27  UIKitCore                     	       0x185adc4f4 UIApplicationMain + 124
28  SwiftUI                       	       0x1d290b41c closure #1 in KitRendererCommon(_:) + 164
29  SwiftUI                       	       0x1d290b144 runApp<A>(_:) + 84
30  SwiftUI                       	       0x1d266bef4 static App.main() + 148
31  CanvasTest.debug.dylib        	       0x105061c64 static CanvasTest.$main() + 40
32  CanvasTest.debug.dylib        	       0x105061d14 __debug_main_executable_dylib_entry_point + 12 (CanvasTest.swift:11)
33  dyld_sim                      	       0x10519d410 start_sim + 20
34  dyld                          	       0x10539a274 start + 2840

Thread 4:: com.apple.uikit.eventfetch-thread
0   libsystem_kernel.dylib        	       0x1050f5290 mach_msg2_trap + 8
1   libsystem_kernel.dylib        	       0x1051066c4 mach_msg2_internal + 76
2   libsystem_kernel.dylib        	       0x1050fd3f4 mach_msg_overwrite + 536
3   libsystem_kernel.dylib        	       0x1050f55cc mach_msg + 20
4   CoreFoundation                	       0x18041b000 __CFRunLoopServiceMachPort + 156
5   CoreFoundation                	       0x180415528 __CFRunLoopRun + 1160
6   CoreFoundation                	       0x180414c24 CFRunLoopRunSpecific + 552
7   Foundation                    	       0x180f319c8 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 208
8   Foundation                    	       0x180f31be8 -[NSRunLoop(NSRunLoop) runUntilDate:] + 60
9   UIKitCore                     	       0x185b858c0 -[UIEventFetcher threadMain] + 404
10  Foundation                    	       0x180f58810 __NSThread__start__ + 720
11  libsystem_pthread.dylib       	       0x10507f6f8 _pthread_start + 104
12  libsystem_pthread.dylib       	       0x10507a940 thread_start + 8
Canvas view crashing with Core Graphics-based drawing
 
 
Q