I have implemented an application which uses PLCrashReporter as Crash handling method.
and it retrieves a report which can be switched to human readable format.
Incident Identifier: E125648C-6BCF-4F69-9950-C8CDFB0535D3
CrashReporter Key: e681450ca18f97638adb5f7295a4af24103b92ae
Hardware Model: iPad5,4
Process: CrashReport [6918]
Path: /private/var/mobile/Containers/Bundle/Application/FA6CA909-C229-457F-9EF0-35B889481B63/CrashReport.app/CrashReport
Identifier: net.example.CrashReport
Version: 1 (1.0)
Code Type: ARM-64 (Native)
Parent Process: launchd [1]
Date/Time: 2016-05-15 16:40:51.199 +0430
Launch Time: 2016-05-15 16:40:44.122 +0430
OS Version: iOS 8.4.1 (12H321)
Report Version: 105
Exception Type: EXC_CRASH (SIGTRAP)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Triggered by Thread: 1
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0:
0 CrashReport 0x00000001000663a4 0x100060000 + 25508
1 CrashReport 0x00000001000662ac 0x100060000 + 25260
2 CrashReport 0x0000000100066304 0x100060000 + 25348
3 UIKit 0x0000000187b411e8 0x187afc000 + 283112
with all details about the application and Hardware model , but No Line or class name!
I have searched a lot and find out the i have to use symbolication process.
some told to use .dSYM , but the application is not yet on the apple store
some other solution was to work with report.crash and something like that but I couldn't find this file in my application
I want the lines of code to be sent from the application , not to handle it from XCode or some other tools
in final:
I need some codes to extract line number and functions from PLCrashReport , please use Swift. I am not very good at Objective C.
Thanks
You need to symbolicate the crash report, e.g. by using the same tool that Xcode uses which is symbolicatecrash.pl. There are a lot of discussions here that are referencing this, the following link provides one of the many answers that cover this: How to Manually Symbolicate iOS Crash to View Crash Logs
Also you need the exact dSYM that was created with the build that caused the crash, without the dSYM the above mentioned tool can not provide any useful data and especially can not provide you class names, method names, file names or line numbers. The dSYM is generated every time you build the app in Xcode. It has nothing to do with the App Store. Check the build folder where you find the app package. If you don't see it, then you changed the build settings. The following page shows the build setting you need to have enabled: https://support.hockeyapp.net/kb/client-integration-ios-mac-os-x-tvos/how-to-solve-symbolication-problems#build-settings-for-getting-proper-symbol-data
It is not possible to get line numbers directly from your application, as the binary doesn't provide the necessary information at any time. You need to symbolicate the crash report with the above mentioned tool and the above mentioned dSYM to get line numbers.
As it is not possible to get line numbers only using your apps binary, it is also not possible to get them at runtime. Hence it doesn't matter if you code something in Swift or Objective-C, it doesn't matter.
Related
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.
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.
I recently started testing my iPhone app on my iPhone 5S device directly from XCode 5's debugger, and it seems to randomly crash the entire phone. I cannot pinpoint what the exact issue is. I'm not doing anything at all in my AppDelegate, so I don't believe it's related to something on load time. Sometimes performing a delete of the application, then a reset of the phone, and then a clearing of XCode's entire cache temporarily fixes the problem, but then it spontaneously comes back. It's very inconsistent. I'm at a complete loss at this point. The latest crash finally showed the following error message on the device itself:
Incident Identifier: 4180F1E2-E932-417A-92BE-82F2C414FB82
CrashReporter Key: e3cdd62843930ef2e7bcffbdb79479abc6141800 Hardware
Model: iPhone6,1 Process: XcodeDeviceMonitor [230]
Path: /Developer/usr/bin/XcodeDeviceMonitor Identifier:
XcodeDeviceMonitor Version: ??? Code Type: ARM
(Native) Parent Process: launchd [1]
Date/Time: 2013-11-09 18:54:39.040 -0500 OS Version:
iOS 7.0.3 (11B511) Report Version: 104
Exception Type: EXC_BREAKPOINT (SIGTRAP) Exception Codes:
0x0000000000000001, 0x00000000e7ffdefe Triggered by Thread: 0
Dyld Error Message: Library not loaded: /usr/lib/liblockdown.dylib
Referenced from: /Developer/usr/bin/XcodeDeviceMonitor Reason: image
not found Dyld Version: 324
Binary Images: 0x2befb000 - 0x2bf1efff dyld armv7s
/usr/lib/dyld
Given the reference to a breakpoint in the crash log, I do have one idea. In the past, I have seen Xcode crash my apps on launch if breakpoints are enabled. Try disabling breakpoints before launching the app, then enabling them shortly after launch, if you are using any. Let me know if this seems to make any sort of consistent difference!
It looks like the latest version of Xcode (5.0.2) that was released this past week resolved my issue. At least I haven't seen it since I applied the patch. I noticed one of the major issues fixed was for the debugger crashing the phone on iOS 6, but I suspect whatever they did also fixed my similar issue for iOS 7. Anyway, it's acting much more consistent now. Thanks for everyone's help.
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.
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.