Enterprise Application crashes while launch without giving any error. iOS 15 ( working in simulator but physical device )

Hello Folks, Our enterprise application works fine in iOS 14, but when launched on iOS 15 it crashes instantly without giving any errors. ( working with iOS 15 simulator just fine) Even after using the Exception breakpoint, No errors. AppDelegate code is not executing at all.

on the device logs, we found a crash log. Attaching the file, if any help/leads. Highly appreciated!

Accepted Reply

Exception Type:  EXC_BAD_ACCESS (SIGBUS)
Exception Subtype: KERN_PROTECTION_FAILURE at 0x00000001e8a50350

This indicates that your app crashed because someone accessed an invalid memory address. The crashing thread’s backtrace looks like this:

Thread 0 Crashed:
0   Concession … 0x100fa0000 + 3389652
1   Concession … 0x100fa0000 + 3389636
2   Concession … 0x100fa0000 + 3388512
3   dyld       … invocation function for block in dyld4::APIs::_dyld_register_func_for_add_image(void (*)(mach_…
4   dyld       … dyld4::RuntimeState::withLoadersReadLock(void () block_pointer) + 60
5   dyld       … dyld4::APIs::_dyld_register_func_for_add_image(void (*)(mach_header const*, long)) + 124
6   Concession … 0x100fa0000 + 3388292
7   dyld       … invocation function for block in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&…

Frame 7 is the dynamic linker calling init functions in your shared library closure. Frame 6 is the init function in your app’s primary Mach-O image. Frame 5 indicates that your init function registered for a callback when an Mach-O image is loaded. Frames 2 through 0 are from that callback.

So, your app is being linked by the dynamic linker, which calls your app’s init function, which registers for a Mach-O image add callback, which then crashes.

To make progress on this you’ll need to symbolicate frame 6 and frames 2 through 0. For info on how to do this, see Adding Identifiable Symbol Names to a Crash Report.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

  • Thanks, Eskimo. I will look into it. In the meantime, I was wondering why this chunk of code works fine on iOS 14.

Add a Comment

Replies

Exception Type:  EXC_BAD_ACCESS (SIGBUS)
Exception Subtype: KERN_PROTECTION_FAILURE at 0x00000001e8a50350

This indicates that your app crashed because someone accessed an invalid memory address. The crashing thread’s backtrace looks like this:

Thread 0 Crashed:
0   Concession … 0x100fa0000 + 3389652
1   Concession … 0x100fa0000 + 3389636
2   Concession … 0x100fa0000 + 3388512
3   dyld       … invocation function for block in dyld4::APIs::_dyld_register_func_for_add_image(void (*)(mach_…
4   dyld       … dyld4::RuntimeState::withLoadersReadLock(void () block_pointer) + 60
5   dyld       … dyld4::APIs::_dyld_register_func_for_add_image(void (*)(mach_header const*, long)) + 124
6   Concession … 0x100fa0000 + 3388292
7   dyld       … invocation function for block in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&…

Frame 7 is the dynamic linker calling init functions in your shared library closure. Frame 6 is the init function in your app’s primary Mach-O image. Frame 5 indicates that your init function registered for a callback when an Mach-O image is loaded. Frames 2 through 0 are from that callback.

So, your app is being linked by the dynamic linker, which calls your app’s init function, which registers for a Mach-O image add callback, which then crashes.

To make progress on this you’ll need to symbolicate frame 6 and frames 2 through 0. For info on how to do this, see Adding Identifiable Symbol Names to a Crash Report.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

  • Thanks, Eskimo. I will look into it. In the meantime, I was wondering why this chunk of code works fine on iOS 14.

Add a Comment

I was wondering why this chunk of code works fine on iOS 14.

It’s hard to draw any useful conclusions from this observation:

  • It’s possible that your code is 100% correct and this is simply a bug in iOS 15.

  • It’s possible that your code is clearly broken [1] and some valid change in iOS is causing it to fail.

  • It’s possible that this is something in between, where your code depends on an implementation detail that Apple never intended to be considered API.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

[1] Keep in mind that your process is full of code written in C-based languages that are rife with undefined behaviour. Even if you use a language, like Swift, that tries to isolate you from such malarkey, it’s not perfect (threading is a major hole in Swift’s safeness story, and will remain so until Swift concurrency becomes universal) and you still have to deal with all the framework code running in your process.