IOS App crashes on Iphone - ios

Currently experiencing a problem where the app crashes when you are trying to open it. Any ideas on how to decode the IOS Crash log, i've attached a small section of the crash log below.
Date/Time: 2018-08-28 11:03:06.6413 +0100
Launch Time: 2018-08-28 11:03:05.6498 +0100
OS Version: iPhone OS 11.4.1 (15G77)
Baseband Version: 2.03.12
Report Version: 104
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Triggered by Thread: 5
Application Specific Information:
abort() called
Filtered syslog:
None found
Last Exception Backtrace:
(0x182512d8c 0x1816cc5ec 0x182512bf8 0x182f0300c 0x18d206adc 0x18d1dfb74 0x18d224c8c 0x18d226978 0x18d240dd0 0x18d24076c 0x182e929b0 0x18d2423d0 0x18d241e7c 0x18d242398 0x18c3edc08 0x102f41034 0x103a8825c 0x103a87c24 0x103a0341c 0x1039f4034 0x103aff8fc 0x103aff938 0x182f5defc 0x182139220 0x182139110 0x182137b10)
Any thoughts on how to determine what the issue is?

Related

"Application specific information" from the OS X crashreports

Many OS X crash reports have this section like in a quote below
Exception Type: EXC_CRASH (SIGABRT) Exception Codes:
0x0000000000000000, 0x0000000000000000
Application Specific Information: objc[1769]: garbage collection is
OFF
Terminating app due to uncaught exception 'InvalidX', reason: 'X can't be 0'
First throw call stack:
In my application there's custom crashes handling. All I can is to handle signals, nothing else. Where can I retrieve such useful information?
I found that you can set the message to show in built-in crash reports
static const char *__crashreporter_info__ = 0;
asm(".desc __crashreporter_info__, 0x10");
But I want not to set, but retrieve that information in my custom signal and exception handler.
The technique changes every few releases of the OS. In general, the crash reporter enumerates the images in the process using the dyld debugger API, and extracts any information from crash buffers in each one. Currently, IIRC, there is a specially named Mach-O section in the data segment which points to (or contains) a static variable containing the data.
If you are looking to generate a crash report, the following shows how to catch the Mach message as a result of the exception and then generate a crash report.
How does OS X generate a crash report?

Xcode7 localization plist file crash

I need to localize my plist files and string files for my project. However, when I try to select other languages in file inspector for .plist files, the Xcode will crash.
Parent Process: ??? [1]
Responsible: Xcode [1981]
User ID: 501
Date/Time: 2015-09-24 11:47:52.069 +1000
OS Version: Mac OS X 10.10.4 (14E46)
Report Version: 11
Anonymous UUID: XXXXXXXXXXX
Time Awake Since Boot: 7500 seconds
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Application Specific Information:
ProductBuildVersion: 7A220
UNCAUGHT EXCEPTION (NSInvalidArgumentException): *** -[NSPathStore2 stringByAppendingPathExtension:]: nil argument
UserInfo: (null)
Hints: None
Backtrace:
0 0x00007fff89f71024 __exceptionPreprocess (in CoreFoundation)
1 0x0000000102627744 DVTFailureHintExceptionPreprocessor (in DVTFoundation)
2 0x00007fff87bc376e objc_exception_throw (in libobjc.A.dylib)
3 0x00007fff89f70eed +[NSException raise:format:] (in CoreFoundation)
4 0x00007fff90f257e3 -[NSPathStore2 stringByAppendingPathExtension:] (in Foundation)
5 0x000000010c5ae87c -[Xcode3VariantGroup proposedFilePathForLocalization:fileType:] (in DevToolsCore)
6 0x000000011281dc8c -[Xcode3LocalizationCommands
Anyone has same issue with Xcode7??
PS: localizing .string file works fine with same approach.
Having the same issue. Xcode 7.1 beta 2 seems to have it fixed.

How to find the hardware model tested by the apple team in iOS crash reports

I recently had an app rejected from the Apple due to crash, but I'm unable to reproduce the crash from our end. I have checked the all compatible devices: iPhone, iPad and iPod. However, I'm still unable to reproduce the crash.
My question is: How do I learn which device was used by the Apple team to test the app. In crash reports they mentioned Hardware Model: xxx. Please, does anyone know how to find the Hardware Model used by the Apple team?
Incident Identifier: 71C3E97D-4DF2-A84F-5EB28058AA11 CrashReporter
Key: 025fa689e0eb7fe33eaf5858d306609d6fb Hardware Model: xxx
Process: ------- [225] Path:
/private/var/mobile/Containers/Bundle/Application/1EE9FA90-432C-B19E-92ACE9AD72C5/------.app/------
Identifier: ------------ Version: 1.0 (1.0) Code
Type: ARM-64 (Native) Parent Process: launchd [1]
Date/Time: 2014-12-02 10:32:31.758 -0800 Launch Time:
2014-12-02 10:18:02.789 -0800 OS Version: iOS 8.1.1 (12B435)
Report Version: 105
Exception Type: EXC_CRASH (SIGABRT) Exception Codes:
0x0000000000000000, 0x0000000000000000 Triggered by Thread: 0
Last Exception Backtrace: (0x18510e59c 0x195c840e4 0x184ff91f8
0x100086e1c 0x1000ddca0 0x1898c0aa0 0x1898c07b0 0x18993d060
0x18993cf74 0x1899afa48 0x189bd7f18 0x189bd86c0 0x1899adcf0
0x1899e3058 0x1899e2024 0x1899b3e90 0x1899b27cc 0x1899b051c
0x189bda218 0x1899e78c4 0x18998fec4 0x18998fec4 0x18998fc60
0x1000a48c0 0x18fc4a148 0x18b4e4438 0x18b540c1c 0x18b536acc
0x18b54053c 0x183992bc0 0x1839c6660 0x1839c66b8 0x1962c93ac
0x1962c936c 0x1962cd980 0x1850c5fa4 0x1850c404c 0x184ff10a4
0x18e1675a4 0x1899263c0 0x1001337e0 0x1962f2a08)
It's a bit late but maybe useful to others. The only way I found so far to get the hardware model identifier of an iOS device was by taking the approach seen in this class. Please comment if there is another way.
For the sake of possible loss of this link, here a summary of how to do it with minor changes (Objective C):
#include <sys/sysctl.h>
...
- (NSString*)hardwareModelIdentifier
{
char* typeSpecifier = "hw.model";
size_t size;
sysctlbyname(typeSpecifier, NULL, &size, NULL, 0);
char* answer = malloc(size);
sysctlbyname(typeSpecifier, answer, &size, NULL, 0);
NSString* modelIdentifier = [NSString stringWithCString:answer encoding: NSUTF8StringEncoding];
free(answer);
return modelIdentifier;
}
The result should match the "internal name" column on this list. E.g. for an iPhone 12 you should get D53gAP.
Note that this is not App Store proven. Let me know if you successfully submitted an app using this approach.
Further note that in the header sysctl.h next to model it says /* Deprecated: use hw.target */.
My tests with Xcode 12.0.1 and iOS 13.7 did reveal that at the point of writing this, only using the chars hw.model provided a result where as hw.target didn't provide any result (tested on simulator and device).

What do the different exception codes in OS X / iOS Crash reports mean?

In Apple crash reports, there are two lines providing Exception Type and Exception Codes for the crash report. Does anybody know what all these codes actually mean?
There are some self-explaining ones ones, like KERN_INVALID_ADDRESS:
For example, this one is a NULL Pointer dereference:
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000
If you made an error with pointer arithmetic, you'll end up with something very similar:
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00007fff50399000
But there are lots of these exception codes! For example, here's one I recently encountered and I have no clue what it means (the address points to a big memory-mapped file):
Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: 0x000000000000000a, 0x0000000137676004
All I found about crash reports was this technote, but no detailed reference how to interpret exception codes.
A list of exception codes can be found in the xnu source. 0x000000000000000a is KERN_MEM0RY_ERROR:
#define KERN_MEMORY_ERROR 10
/* During a page fault, the memory object indicated
* that the data could not be returned. This failure
* may be temporary; future attempts to access this
* same data may succeed, as defined by the memory
* object.
*/

ios anaylize crash log?

I have the following symbolized crash log. Or maybe something I missed?
Help please to understand what does it mean:
OS Version: iPhone OS 5.1.1 (9B206)
Report Version: 104
Exception Type: EXC_CRASH (SIGKILL)
Exception Codes: 0x00000000, 0x00000000
Crashed Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x3591f628 0x3590e000 + 71208
1 libsystem_c.dylib 0x34accb1a nanosleep + 138
2 libsystem_c.dylib 0x34ad7608 sleep + 40
3 ReportCrash 0x001046f2 0xfc000 + 34546
4 ReportCrash 0x000fd474 0xfc000 + 5236
it is state of your app at the crash moment, can show you where crash was. In your case app crashed with Exception Type: EXC_CRASH (SIGKILL) in thread 0 and you can see stacks of functions of all active threads. If you want convert it to human readable view, you should use special programs like symbolicate , atos or dwarfdump.
More:
http://kevincupp.com/2011/05/12/symbolicating-ios-crash-logs.html
http://aplus.rs/ios-dev/guide-to-symbolicating-iphone-app-crash-logs-with-xcode-4-2/
(about atos i have link just in Russian)
It is very simple if you have the archive file in Xcode -> Widow ->Organizer and a corresponding crash log file.
Connect your device to mac
goto Xcode->Window-> devices
Click on your device on the left panel
Click on view device logs
Select the log you want to symbolicate. (OR) If you have a crash log file on your system then click on All logs option on the left panel and drag the log file into left panel section.
Right click on the selected log and click re-symbolicate
Done!!! ,

Resources