Skip to content

[MTLDevice setShouldMaximizeConcurrentCompilation:YES] crashes on macOS 26 for AMD GPUs #2613

@mrpippy

Description

@mrpippy

This isn't a MoltenVK bug per-se, but FYI: anyone enabling shouldMaximizeConcurrentCompilation is going to see crashes on macOS 26 systems with AMD GPUs. Apple knows about the bug and I expect it will be fixed soon, but not for the 26.0 release on Monday.

The impact of this isn't huge, there's only 3 Intel Macs that even support Tahoe (2019 Mac Pro, 2019 MacBook Pro 16", 2020 MacBook Pro 13" (Four Thunderbolt 3 ports) and only 2 of those have AMD GPUs.

Basically, calling setShouldMaximizeConcurrentCompilation:YES for an AMD GPU MTLDevice will crash.

Backtrace from the Cube demo (but this is reproducible in a trivial standalone app as well):

Thread 0 Crashed:
0   Metal                         	    0x7ff8244d5d5e -[_MTLDevice updateCompilerProcessesCount:] + 26
1   Metal                         	    0x7ff8244d5a8c __53-[_MTLDevice setShouldMaximizeConcurrentCompilation:]_block_invoke + 56
2   libdispatch.dylib             	    0x7ff8180e5bee _dispatch_client_callout + 6
3   libdispatch.dylib             	    0x7ff8180dc8e0 _dispatch_lane_barrier_sync_invoke_and_complete + 60
4   Metal                         	    0x7ff8244d5a4e -[_MTLDevice setShouldMaximizeConcurrentCompilation:] + 75
5   MoltenVK                      	       0x100e33ba4 MVKPhysicalDevice::initMTLDevice() + 132
6   MoltenVK                      	       0x100e33972 MVKPhysicalDevice::MVKPhysicalDevice(MVKInstance*, id<MTLDevice>) + 162
7   MoltenVK                      	       0x100dcd9d6 MVKInstance::MVKInstance(VkInstanceCreateInfo const*) + 1334
8   MoltenVK                      	       0x100db2b48 vkCreateInstance + 56
9   Cube                          	       0x100245429 demo_init_vk + 1386 (cube.c:4204) [inlined]
10  Cube                          	       0x100245429 demo_init + 2058 (cube.c:4876) [inlined]
11  Cube                          	       0x100245429 demo_main + 2105 (cube.c:4986)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions