Hi,
My app seems to crash randomly but only happens in the PRD environment(real device), but never fails in the local emulator(Mobile emulator for windows). It could be related to memory but I am not sure how to identify and get in to the root cause of this failure. The crash files suggest that the issue could be related to bus error or segmentation fault. There is no pattern as to when it fails, but it does happen when there are few submission happening in queue. Cant rollback to previous ver as the ios wont support the build. It is definitely not related to a specific user or data associated to the user as it fails randomly.
I am new to AppStudio and trying to build and run this app to its efficiency. Could someone please help me how to diagnose this issue further? Below are some of the application details for reference. I can attach some of the crash files if anyone is keen to look into it(on a private channel).
"exception" : "codes":"0x0000000000000101, 0x0000000103af0006","rawCodes":[257,4356767750],"type":"EXC_BAD_ACCESS","signal":"SIGBUS","subtype":"UNKNOWN_0x101 at 0x0000000103af0006"
"termination" : {"flags":0,"code":10,"namespace":"SIGNAL","indicator":"Bus error: 10","byProc":"exc handler","byPid":633}
"exception" : "codes":"0x0000000000000001, 0xbff0000000000010","rawCodes":[1,-4616189618054758384],"type":"EXC_BAD_ACCESS","signal":"SIGSEGV","subtype":"KERN_INVALID_ADDRESS at 0xbff0000000000010"
"termination" : {"flags":0,"code":11,"namespace":"SIGNAL","indicator":"Segmentation fault: 11","byProc":"exc handler","byPid":654}
Environment
AppStudio: 5.3
IOS: 15 or higher
ArcGISRuntime: 100.13
QtQuick: 2.15nce.
QtQuick.Controls: 2.15
Hi @PrathikKumar,
To be sure I understand correctly, the emulator you are using is the App Run application provided with AppStudio? Or, are you using a virtual device created with Android Studio for example? Also, is it crashing on a specific device only? Or, all physical devices?
It may be easier to submit a ticket to technical support services where they can troubleshoot different scenarios.
Best,
Trevor
Hi Trevor,
Thank you for getting back to me.
Let me know if you need any more details.
Regards,
Prathik
Sorry the late response. If you're still having the issue feel free to message me your crash logs and I can look into it a bit more, otherwise if you haven't done so already, please contact support services to further troubleshoot. Unfortunately, we would need more information and could require some back and forth which would be easier to discuss with someone.
Hi Trevor,
Thank you for getting back to me. Unfortunately, this issue is till unresolved. I tried reaching out to the support service but they have assisted us to improve logging and try and update to the latest ver(5.4) which was published just 2 months back and get back to them with more specific error. I am attaching few crash files here for your reference, Let me know if you can find anything out of it.
Thanks for your help.
Cheers, Prathik
@TrevorFrame Any luck with the crash files?
@PrathikKumar very sorry for a late response.
I just returned from being out of office. Unfortunately, these logs do not indicate what could be causing the issue. My assumption is there could be an issue with processing too much all at once. While developing a Geofencing/Geotrigger sample, I ran into an issue where I was running logic before some loading was completed. To fix that, I created a Connections to listen for onLoadStatusChanged() and check if the loadStatus was Loaded. Once it was Loaded, then continue the logic. It looked like this code below.
Connections {
target: geotriggersInfo
function onLoadStatusChanged() {
if(geotriggersInfo.loadStatus === Enums.LoadStatusLoaded) {
geotriggers = geoModel.geotriggersInfo.geotriggers
}
}
}
Of course, it could be something else causing it and it is impossible to tell without seeing the code. I'm interested in seeing if it is indeed because you're using an older device (iPhone 7). I will dm you my contact information and we can schedule time to meet virtually and go over the code if you wish and possibly test it on a newer device.
Best,
Trevor