Illegal Instruction: 4 for iOS - ios

I have currently updated an app and pushed to App Store. After the approval process, it can be downloaded from AppStore.
The issue is, "some" of the users report that they cannot switch on the app, either update or download from scratch.
Some of the devices they use:
iPod Touch (5th Generation)
iPhone 5
iPad 2 ''newly added''
The console log shows like this:
UIKitApplication:{app-identifier} exited abnormally with signal 4: Illegal Instruction: 4
I have also got the crash report like this:
Incident Identifier: 1912AA89-01F4-4BFE-8BD8-2D8EB3B4B988
CrashReporter Key: 4e0582bb30455ff2c12665099359dfddd3ec9bab
Hardware Model: iPod5,1
Process: 'app_name' [551]
Path: /var/mobile/Applications/C589BCAA-B833-4708-93CA-CDD2ABCBA38A/'app_name'.app/'app_name'
Identifier: 'app_name'
Version: ??? (???)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2013-07-16 15:45:42.278 +0800
OS Version: iOS 6.1.3 (10B329)
Report Version: 104
Exception Type: EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes: 0x0000000000000001, 0x00000000e7f5e2fa
Highlighted Thread: 0
I cannot find much information on the Internet related to Illegal Instruction: 4, some of those are listed here and here.
They lead me to suspect the case is due to:
compiler issue
new CPU
like A6 / A6x
armv7s
Does anyone know the reason?

Apple did not give any comment, after doing the Support request.
We uploaded the new ipa with all the same settings to iTunes Store again, and ask for Expedited Review. Apple approves the app in one day. Then, problem no longer exists.

Related

How do I view crash from iTunes Connect in Xcode?

I have an app that is running with React-Native that doesn't crash on react-native run-ios, neither when I run it on Xcode, but when I upload it to iTunes Connect, the build is refused because of a crash.
The problem is that I cannot see the crash on Xcode > Window > Organizer > Crashes, because I cannot make it crash with a device or a simulator.
Does somebody know how to import a crash that comes from iTunes Connect to Xcode ?
Here is my crash log :
{"app_name":"mdef","timestamp":"2017-12-11 11:40:02.33 -0800","app_version":"1.2.0","slice_uuid":"3ff1d45d-3b65-325e-8df9-5b0ccf7550b7","adam_id":1246228626,"build_version":"66","bundleID":"com.mdef.mymatchup","share_with_app_devs":false,"is_first_party":false,"bug_type":"109","os_version":"iPhone OS 11.2 (15C114)","incident_id":"A6BCA3E0-DBB1-4E24-82F1-7B418F023CB0","name":"mdef"}
Incident Identifier: A6BCA3E0-DBB1-4E24-82F1-7B418F023CB0
CrashReporter Key: 972854c2d639e93f8277daa382921f72f9e8d379
Hardware Model: xxx1
Process: mdef [12142]
Path: /private/var/containers/Bundle/Application/07E05B5A-9B60-4A2E-BE1B-895E72344FC5/mdef.app/mdef
Identifier: com.mdef.mymatchup
Version: 66 (1.2.0)
Code Type: ARM-64 (Native)
Role: Foreground
Parent Process: launchd [1]
Coalition: com.mdef.mymatchup [5622]
Date/Time: 2017-12-11 11:40:02.1820 -0800
Launch Time: 2017-12-11 11:40:01.1784 -0800
OS Version: iPhone OS 11.2 (15C114)
Baseband Version: n/a
Report Version: 104
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Triggered by Thread: 1
Application Specific Information:
abort() called
Filtered syslog:
None found
Last Exception Backtrace:
(0x185cbe364 0x184f04528 0x185cbe2ac 0x104a8ff40 0x104a8dc04 0x185cc5cd0 0x185ba456c 0x185ba901c 0x104aa10b8 0x104ae0dd8 0x104ae0b38 0x18563aa54 0x18563aa14 0x18564496c 0x1856452fc 0x185645d20 0x18564e03c 0x1858e2f1c 0x1858e2b6c)
First of all in organiser crash logs will imported automatically if there will be any crash occurs on live app version.
Here you mentioned that your uploaded binary rejected due to crash issue. So they have provided you crash logs. Now that crash logs will not be imported into Xcode because App is not live yet.
So my suggestion is to resolve crash issue using this crash logs & lets get approval of application & make it live on app store. So after that if any user gets crash issue you will get list of it on Xcode -> Organiser.
Edit :
If you are not able to find out or detect the crash log than you should ask apple review team to provide more details regarding that crash issue
They can provide device & OS details to regenerate the crash also they can provide you steps to reproduce the crash.
If everything works than you should try & re upload new binary. You will surely get approval after this ways
For more better crash issues with detailed analysis you can use this crashlytics tool : https://fabric.io/kits/ios/crashlytics
Hope it will help you.
Thanks...
You can use analytic tools like fabric Crashlytics. whenever your app crashes on any device, Crashlytics will give you a detailed report about the crash on the dashboard with exact line number and details of the user's device.
Read this blog written by Bruno Barbieri about integrating Crashlytics in your react native app.
Or you can see crash manually from Xcode organizer.
read this to know more about checking crash reports from Xcode.
Solved ! I have fixed my problem by downgrading React-Native from 0.51.0 to 0.49.5, and I have no more crashes.

iOS app crashes with EXC_CRASH (SIGKILL) when launched via TestFlight, but runs fine from Xcode

I'm running into a strange issue whereby an app I'm building crashes shortly after launching as an archived build from TestFlight, but runs without issue when running on the same device directly from Xcode. The application doesn't appear to be terminating fully - if I double-tap the home button, I see what looks like an image of the application in the background from midway through a run, even though the new session crashed long before it would have gotten to the displayed screen. If I then bring the application back to the foreground, it returns to its loading screen and then shuts down again, with a log that looks like this:
Incident Identifier: 983F8E4E-EFE0-4C93-8F46-D223FD86DF14
CrashReporter Key: 3515df1d8c55a27394a78b6efee5f83946ed9a99
Hardware Model: iPhone7,2
Process: FileProvider [218]
Path: /private/var/containers/Bundle/Application/89708FF4-E848-4F49-BC0D-B2DC9EF536C6/Drive.app/PlugIns/FileProvider.appex/FileProvider
Identifier: com.google.Drive.FileProviderExtension
Version: 4.2017.25202 (4.2017.25202)
Code Type: ARM-64 (Native)
Role: Unspecified
Parent Process: launchd [1]
Coalition: com.google.Drive.FileProviderExtension [368]
Date/Time: 2017-06-30 22:59:01.2937 -0700
Launch Time: 2017-06-30 22:59:00.7649 -0700
OS Version: iPhone OS 10.3.2 (14F89)
Report Version: 104
Exception Type: EXC_CRASH (SIGKILL)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Reason: Namespace <0xF>, Code 0xdead10cc
Triggered by Thread: 0
...Any thoughts on what I should be investigating to understand what's going on here?
App is built in C++ using the Cocos2d-x framework.
Thanks!
_Kevin
Figured out what was going on, if not yet exactly why. Some of the details posted above turned out to be red herrings as I investigated further. What initially appeared to be a difference in behavior between an archived build and a build launched directly from Xcode was actually a difference in behavior between a debug build and a release build.
The solution was to create a new scheme in Xcode to run a release build (Product->Scheme->Manage Schemes in Xcode 8.3), duplicate my default mobile scheme, and then set the new scheme's Run->Info->Build Configuration to Release.
Once I ran a release build with Xcode attached, I found an error (probably an incorrectly-initialized variable but I'm still investigating) that occurred in release builds only.
The reason why crash logs weren't being generated appears to have been that the error was causing an assertion to trip (the CC_ASSERT macro in Cocos2d-x), so iOS considered the app shutdown to be a legitimate termination and didn't log it as a crash.

Xcode 5.1 crashes when it hits a break point

I have been working on an App today and have been able to debug it. All of the sudden I can't use breakpoints without Xcode 5.1 crashing. It will stop on the breakpoint, look like it's trying to display the local variables in the bottom left window, and then crash.
This is the crash report:
Process: Xcode [8084]
Path: /Applications/Xcode.app/Contents/MacOS/Xcode
Identifier: com.apple.dt.Xcode
Version: 5.1 (5084)
Build Info: IDEFrameworks-5084000000000000~21
App Item ID: 497799835
App External ID: 444172641
Code Type: X86-64 (Native)
Parent Process: launchd [189]
Responsible: Xcode [8084]
User ID: 294396280
Date/Time: 2014-04-03 14:57:52.981 -0600
OS Version: Mac OS X 10.9.2 (13C64)
Report Version: 11
Anonymous UUID: 5BFD5C24-5465-3BC8-137A-4BF1A8D48B38
Sleep/Wake UUID: F94AB6A7-9517-4F94-93DA-CC2C9154C8A7
Crashed Thread: 30 DBGLLDBSessionThread
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Application Specific Information:
ProductBuildVersion: 5B130a
Assertion failed: (!isNull() && "Cannot retrieve a NULL type pointer"), function getCommonPtr, file /SourceCache/lldb/lldb-310.2.36/llvm/tools/clang/include/clang/AST/Type.h, line 547.
(I can supply the rest of the report of what the threads are doing if it is helpful).
I have placed breakpoints in various files and locations in the code. I am able to use breakpoints in some places, but the majority of the breakpoints cause the crash.
I have looked through several SO pages with no luck. Among other things I have tried deleting all the breakpoints and just adding 1 back in. I have deleted and regenerated the schemes.
Any ideas?
I updated to 5.1.1. and the problem still exists:
Process: Xcode [19072]
Path: /Applications/Xcode.app/Contents/MacOS/Xcode
Identifier: com.apple.dt.Xcode
Version: 5.1.1 (5085)
Build Info: IDEFrameworks-5085000000000000~10
Code Type: X86-64 (Native)
Parent Process: launchd [197]
Responsible: Xcode [19072]
User ID: 294396280
I happened to have two iPhones connected via USB (a 4 with iOS 7.1 and a 5 with iOS 7.1.1), and Xcode 5.1.1 was "beach-balling" on me at the first break-point, wherever it might be, whichever breakpoint was hit first.
Just disconnected the iPhone 4 from USB.
I can use breakpoints again :)
YMMV of course ...
I encountered this problem as well recently with the same exact LLVM error:
Assertion failed: (!isNull() && "Cannot retrieve a NULL type
pointer"), function getCommonPtr
In my case it was a piece of code where I was storing an enum value (Permission) within another object as a reference, rather than a value:
Correct:
#property(nonatomic, readwrite) Permission permission;
Wrong:
#property(nonatomic) Permission *permission;
I was able to narrow down the problem by running Xcode's code analysis. After I made a correction to one or more of the warnings in each class I would rerun the analysis, then test and commit. Tedious but effective, and now I can debug again properly. Hope this helps steer someone in the right direction.

App rejected due to non reproducible bug: possible reasons?

One of our apps recently got rejected for the second time, because "We found that your app failed to launch on iPad running iOS 6.0.1, on both Wi-Fi and cellular networks".
The crash log provided by Apple starts with:
Incident Identifier: CE8868A8-1C68-4161-91AD-DB50D3D5780B
CrashReporter Key: 83b816533ead866666681b87f5736242d8aac2ff
Hardware Model: xxx
Process: Test Skis [29192]
Path: /var/mobile/Applications/890E8D9C-6A17-4EA6-9A06-5503B3D35888/Test Skis.app/Test Skis
Identifier: Test Skis
Version: ??? (???)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2013-01-04 19:24:52.667 -0800
OS Version: iOS 6.0.1 (10A523)
Report Version: 104
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Crashed Thread: 0
My question is not about how to fix the problem in our specific code, but a more general one: we have been unable to reproduce the crash using the same binary (making an Ad Hoc version), device, and OS version as the one Apple is supposedly using.
How is it possible that such a crash occurs on the Apple reviewer's device, and not ours? Are Apple reviewers' devices configured in a non standard way that could explain the difference?
I have found another question on Stack Overflow mentioning a similar issue, which has not been answered as well: Apple rejected app due to a crash which is not reproducing
My guess would be your ad-hoc build configuration is not identical to your release/distribution configuration in some way.
I had the same problem, and Apple sent me a crash report to look at. I learnt how to symbolicate them, but the relevant lines of code in my app would not symbolicate. So I tried making some other changes and resubmitted, resulting in the same rejection.
Finally I requested them to send more details because I tested with two devices and on the simulator. And today I saw that they 'Developer removed from sale' and then 'Ready for sale'. So I guess my app is good to go, without any change from my side.
It looks like you are trying to instantiate a nib (name unknown, since the exception reason is missing in the crash report) and it isn't present. Make sure all nibs required by the app are actually part of the build you send to Apple.

Accepted App store game crash on two iPhone 4, version 4.3.3

Just released my first iOS game on Apple Appstore. (It is accepted by Apple)
It has worked fine a iPod (4th gen), a Iphone 3Gs and iPad 2/3.
However, two of my friends bought it on a iPhone 4, with iOS version 4.3.3 and they both say that it wont start. It quickly turns black then returns to the home screen.
Have no possibility to borrow their phones at the moment, and Googles search wont help me. Any ideas? Have no crash reports on iTunes Connect yet either.
The game has support for 4.1 an up. I have now temporary removed it from app store.
If someone got hockeyapp please try it out: https://rink.hockeyapp.net/recruit/baf90d07e6864bdfb2855a75b1a1877d
Borrowed a phone from one of my friends today, and tried to run the game (release version) from Xcode. It blacked out just like before, generating the following error in xcode:
error: failed to launch '/Users/xxx/Library/Developer/Xcode/DerivedData/xxx-
hkwbdotvymdyljavlnsmbygluhnu/Build/Products/Release-iphoneos/xxx.app/xxx'
-- failed to get the task for process 1585
But if you later just clicked the game icon on the iPhone, it ran perfectly...
The debug target/version did however work just fine.
Update:
If someone out there got iOS 4.3.3 please use one of these promo codes and try it out. If you are able please send a crash report if it crases.
JWF3LLP3ALMT
9M6XLTYY7TJ9
LWMKW7MTN99W
Crash Report :
Identifier: appName
Version: ??? (???)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2012-07-28 00:14:50.460 +0300
OS Version: iPhone OS 4.3.3 (8J3)
Report Version: 104
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x00000001, 0xe7ffdefe
Crashed Thread: 0
Dyld Error Message:
Symbol not found: _OBJC_CLASS_$_GKNotificationBanner
Referenced from: /var/mobile/Applications/...../appName.app/appName
Expected in: /System/Library/Frameworks/GameKit.framework/GameKit
in /var/mobile/Applications/...../appName.app/appName
Dyld Version: 191.3
GKNotificationBanner is for iOS 5.0 and later
http://developer.apple.com/library/ios/#documentation/GameKit/Reference/GKNotificationBanner_Ref/Reference/Reference.html
Have your friends send you their crash reports. As soon as they sync they're phones, the crash reports will be copied to their computers (~/Library/Logs/CrashReporter/MobileDevice on a Mac) and they can send them to you.

Resources