Creating a MoltenVK Buffer Crashes iOS App Only When Downloaded Through App Store

I have been developing a game in c++ using vulkan and moltenVK for porting to iOS and Mac. The game works fine when I run it through XCode on my iPhone, but when I distribute the app through TestFlight, it crashes immediately. Here is some of the crash report

Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000048
Exception Codes: 0x0000000000000001, 0x0000000000000048
VM Region Info: 0x48 is not in any region. Bytes before following region: 4367466424
REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL
UNUSED SPACE AT START
—>
__TEXT 104524000-104798000 [ 2512K] r-x/r-x SM=COW …ons And Mania
Exception Note: EXC_CORPSE_NOTIFY
Termination Reason: SIGNAL 11 Segmentation fault: 11
Terminating Process: exc handler [5132]

And the stack trace points to the first time my program calls MVKBuffer::MVKBuffer() via vkCreateBuffer.

I’ve verified that the build works when running from my machine, it’s only when I build for a generic iOS device (arm64) and distribute through the app store that this is a problem. I haven’t figured out how to enable validation layers for iOS, but I’m not getting any validation layer stuff running on Mac.

Any idea why I would get a segfault when creating buffers?

I am clueless when it comes to anything Apple so what I am saying could very well be totally useless for your case.

On both linux and windows, debug vs release build, or compiler optimization levels have made a difference, well, it was my own bad code/carelessness of course, but debug masked it whereas in release the segfaults occurred.

That said, yes, validation would be a good start to rule out other things.

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.