Open fpaaske opened 2 years ago
In the newer version of the ios runtime you can get more info about the calls made, I'll check out if it returns the a stack with more info
@fpaaske are you using RadListView? Perhaps could share project package.json - would be curious at versions.
@fpaaske This seems to be something that others might wanting as well. I've discussed this a bit on the NativeScript Discord. I created a demo app, added firebase-core and crashlytics then created a situation where the app would crash. The crash report comes through to crashlytics after uploading the .dSYM file, but looks similar to yours where it's not readable as to where in the code caused the crash. I'd be very interested in seeing what could be done to get a more readable crash report.
@fpaaske are you using RadListView? Perhaps could share project package.json - would be curious at versions.
@NathanWalker These are the dependencies we've got:
"dependencies": {
"@angular/animations": "~13.1.1",
"@angular/common": "~13.1.1",
"@angular/compiler": "~13.1.1",
"@angular/core": "~13.1.1",
"@angular/forms": "~13.1.1",
"@angular/platform-browser": "~13.1.1",
"@angular/platform-browser-dynamic": "~13.1.1",
"@angular/router": "~13.1.1",
"@nativescript-community/ui-drawer": "^0.1.1",
"@nativescript-community/ui-image": "^4.1.7",
"@nativescript-community/ui-label": "^1.2.8",
"@nativescript-community/ui-material-bottom-navigation": "~6.2.2",
"@nativescript-community/ui-material-core": "~6.2.2",
"@nativescript-community/ui-material-tabs": "~6.2.2",
"@nativescript-community/ui-pager": "^13.0.33",
"@nativescript-community/ui-pulltorefresh": "~2.5.0",
"@nativescript-community/universal-links": "^3.0.0",
"@nativescript/angular": "13.0.3",
"@nativescript/appversion": "^2.0.0",
"@nativescript/camera": "^5.0.2",
"@nativescript/core": "~8.3.2",
"@nativescript/firebase-core": "^2.1.0",
"@nativescript/firebase-crashlytics": "^2.1.0",
"@nativescript/firebase-messaging": "^2.1.0",
"@nativescript/firebase-performance": "^2.1.0",
"@nativescript/firebase-remote-config": "^2.1.0",
"@nativescript/geolocation": "^8.0.2",
"@nativescript/imagepicker": "^1.0.2",
"@nativescript/local-notifications": "^6.0.0",
"@nativescript/secure-storage": "^3.0.0",
"@ngx-translate/core": "^14.0.0",
"moment": "^2.27.0",
"nativescript-app-shortcuts": "^3.0.0",
"nativescript-calendar": "^2.2.1",
"nativescript-clipboard": "2.1.1",
"nativescript-feedback": "^2.0.0",
"nativescript-locate-address": "^1.0.3",
"nativescript-modal-datetimepicker": "^2.1.5",
"nativescript-phone": "^3.0.3",
"nativescript-theme-core": "^1.0.6",
"ns-permissions": "^2.0.0",
"ns7-swiss-army-knife": "^1.0.0",
"rxjs": "^6.6.0",
"zone.js": "~0.11.4"
}
@NathanWalker @triniwiz have you had any time to look into possibilities of making the stack traces more useful?
As the title asks, is there a better way for us to build the app, or use the Crashlytics plugin, so that we can get a more readable and understandable stack trace?
We build the release like this
Then perform the archive and upload to AppStore via Xcode.
Then upload apk to Google Play
I assume most of my issues are connected to the code being minified/uglified, but this is also the recommended way for performance, right?
This is an example of a recent crash containing a stack trace from an app I'm working on. It is fairly simple to see what is causing the crash, but it's not so easy to see from where it's happening. I assume this is because of the minification process.
We can see it happens in a
templateSelector
(I guess that method was not minified due to being used in a template?), and that it's the accessing of thetemplateKey
that fails, probably because the list item is null/undefined for some reason. Luckily for us we don't have many of those, so we can go through every one, check them, log more error info and add an NPE guard to avoid the crash.Unfortunately, this is probably one of the most descriptive error messages we've gotten.
Here's a another set other reports that are flat out impossible to understand:
This one seems to come from inside NativeScript, which contains native code, so I guess this is fine to read for you guys :)