We are using Firebase Crashlytics to report any crashes in our iOS app. Recently, we started seeing an error with the following description:
Crashed: com.apple.root.utility-qos.cooperative
0 ArcGIS 0x358ffc specialized URLRequestBuildable.makeURLRequest() + 16324 (<compiler-generated>:16324)
1 ArcGIS 0x359948 CoreRequest.urlRequest.getter + 188 (CoreRequest.swift:188)
2 ArcGIS 0x359dc4 protocol witness for CoreRequestProtocol.urlRequest.getter in conformance CoreRequest + 19852 (<compiler-generated>:19852)
3 ArcGIS 0x357b58 CoreRequestProtocol.send() + 56 (CoreRequest.swift:56)
We are wondering if you have some idea what could be happening?, apparently there is an error related to ArcGIS library with: specialized URLRequestBuildable.makeURLRequest().
Information about our app:
Thanks for reporting this issue. Would it be possible for you to tell which ArcGIS Online portal item, or what is the URL of the online resource that causes this problem?
We have encountered a similar issue with URL encoding in the past, so it would be helpful to see if that is the case here. Thanks!
Hello @Ting, thanks for your response.
Unfortunately, we don't have any more information about the portal item or the URL. All the information we have is the error description I showed you earlier.
Have you encountered this issue before? Do you have any idea which ArcGIS functionality could be causing this problem? So we can research on our app the root of the error.
Yes, the previous issue was with percent-encoding for URL. For instance, when this feature layer https://www.arcgis.com/home/item.html?id=f7a011555feb423397601a47a56665d8#data is shown in a popup, and the popup has external URLs that have special characters (e.g., "+"), it causes the URL request to fail due to invalid conversion. Sometimes the special characters in a URL are already encoded like %28, %29 -> ( ), and sometimes it is a mix. Which means there might be edge cases that we haven't covered in the API.
It would be helpful to see what exact URL is causing this problem and reason about whether the data needs to be fixed or we should handle a different edge case.
We use URLComponents from Apple behind the scenes.
Hi @Ting,
We are still experiencing this issue in our app. However, we have identified some URLs that might be helpful. We noticed that every time this crash occurs, URLs like these fail:
https://ibasemaps-api.arcgis.com/arcgis/rest/services/World_Imagery/MapServer/tile/17/52308/22314
https://ibasemaps-api.arcgis.com/arcgis/rest/services/World_Imagery/MapServer/tile/12/1636/713
https://ibasemaps-api.arcgis.com/arcgis/rest/services/World_Imagery/MapServer/tile/16/26216/11418
I have also attached the error stack trace, in case it is helpful.
Thanks for the info… we are trying to figure out a way to better nail down the root cause of the crash. So far not much progress, but at lease these URLs give us some possible directions to look at.
Hi @Ting ,
Thank you for your responses so far. However, we are still experiencing this issue frequently, and it is significantly affecting the stability of our app in production. As mentioned earlier, we have identified some patterns in the URLs related to the crashes, but we have not yet received a concrete solution or a clear workaround from Esri.
We understand that this might be a complex case, but the issue has been ongoing for several months now. Could you please provide us with an update on the investigation or share a clear plan to address this issue? This would help us determine how to proceed and better manage both our expectations and those of our users.
Additionally, if there are any further steps or tools we can use to collect more helpful information for your team, please let us know. We are happy to collaborate in any way possible to move this forward.
Thank you in advance for your time and for keeping us informed.
Best regards,