Could you help me with resolving this issue, please. I've got following trace:
ksmemory_notifyUnhandledFatalSignal
EXC_BAD_ACCESS (KERN_INVALID_ADDRESS)
Crashed: com.apple.main-thread
EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x000000000000002b
Crashed: com.apple.main-thread
0 KSCrash 0xbff8 ksmemory_notifyUnhandledFatalSignal + 12
1 KSCrash 0xcd6c handleSignal + 100
2 libsystem_platform.dylib 0x4178 _sigtramp + 56
3 libsystem_kernel.dylib 0x42f8 mach_msg2_internal + 76
4 libsystem_kernel.dylib 0x4214 mach_msg_overwrite + 428
5 libsystem_kernel.dylib 0x405c mach_msg + 24
6 CoreFoundation 0x46868 __CFRunLoopServiceMachPort + 160
7 CoreFoundation 0x1d848 __CFRunLoopRun + 1188
8 CoreFoundation 0x1ca6c _CFRunLoopRunSpecificWithOptions + 532
9 GraphicsServices 0x1498 GSEventRunModal + 120
10 UIKitCore 0x9ddf8 -[UIApplication _run] + 792
11 UIKitCore 0x46e54 UIApplicationMain + 336
12 UIKitCore 0x172938 -[UIScrollView contentInset] + 588
13 AppName 0xed9440 main + 4386804800 (AppDelegate.swift:4386804800)
14 ??? 0x189f76e28 (Missing)
It appears that a variable or object is attempting to access another object that has already been deallocated. Based on the stack trace, the issue was likely detected while layout was in progress.
Our analytics show this happens generally on app launch and occasionally during normal use.
Unfortunately, I couldn't gather additional diagnostic data. I tried to reproduce the issue using the Leaks tool and enabled runtime diagnostics (Address Sanitizer, Malloc Scribble, Zombies), but without success.
I may be overlooking something — any suggestions would be greatly appreciated.
Thank you in advance
[Different DTS engineer here; I’m picking up this thread because it’s directly aligned with my area of expertise.]
it does not appear in Xcode Organizer.
Right. The issue here is that you have a third-party crash reporter installed and it’s failing to preserve the Apple crash report. Let’s look at the backtrace in your first post:
Crashed: com.apple.main-thread
0 KSCrash … ksmemory_notifyUnhandledFatalSignal + 12
1 KSCrash … handleSignal + 100
2 libsystem_platform.dylib … _sigtramp + 56
3 libsystem_kernel.dylib … mach_msg2_internal + 76
4 libsystem_kernel.dylib … mach_msg_overwrite + 428
5 libsystem_kernel.dylib … mach_msg + 24
6 CoreFoundation … __CFRunLoopServiceMachPort + 160
7 CoreFoundation … __CFRunLoopRun + 1188
8 CoreFoundation … _CFRunLoopRunSpecificWithOptions + 532
9 GraphicsServices … GSEventRunModal + 120
10 UIKitCore … -[UIApplication _run] + 792
Frames 10 through 3 are all standard UIKit stuff, where UIKit is blocked within the kernel waiting for an event to come in. Frame 2 indicates that the process has handled a single. This is bad because either:
- The crash reporter is reporting the crash on the wrong thread, which is a common failure mode for third-party crash reporters.
- Or its failing to backtrace across a cross signal handler stack frame, which is another common failure mode (partly because it’s there’s no good way to do it).
I go into a lot more detail about these challenges in Implementing Your Own Crash Reporter.
Given the above, your crash reports are not actionable. My advice is that you remove your third-party crash report so that you get trustworthy Apple crash reports. If you can post one of that, ideally one in JSON (.ips) format, I’d be happy to take another look.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"