Select to view content in your preferred language

iOS SIGSEGV (dealloc) crash while zooming/panning ArcGIS MapView in .NET 300.x

95
0
yesterday
YashvitNaik
Occasional Contributor

Hi everyone,

I'm encountering a native crash on ArcGIS Runtime SDK for .NET 300.x on iOS while interacting with a MapView. The crash is intermittent but reproducible during zooming and panning.

Environment

  • ArcGIS Runtime SDK for .NET 300.x

    • <PackageReference Include="Esri.ArcGISRuntime" Version="300.0.0" />
      <PackageReference Include="Esri.ArcGISRuntime.iOS" Version="300.0.0" />
  • .NET for iOS (non-MAUI)

  • iOS 26.x

  • Using MapView with multiple FeatureLayers backed by ServiceFeatureTables.

Crash

The native crash reported is:

SIGSEGV: dealloc
Attempted to dereference garbage pointer at 0xXXXXXXXX

The crash occurs inside native code, so the managed stack trace doesn't point to any specific line in my application.

Behavior

  • The application loads successfully.

  • Layers are added to the map without issues.

  • While the user continuously zooms or pans, the application eventually crashes with the above native error.

  • It is intermittent and does not happen on every interaction.

Things I've checked

  • No exceptions are thrown from managed code before the crash.

  • All ArcGIS objects are created on the UI thread.

  • I'm not intentionally disposing Map, FeatureLayer, or ServiceFeatureTable instances while they are attached to the map.

  • The crash only seems to occur during rendering/navigation.

Questions

  1. Has anyone experienced a similar SIGSEGV: dealloc or "Attempted to dereference garbage pointer" crash during map navigation?

  2. Are there any known issues in ArcGIS Runtime 300.x related to MapView rendering or layer lifetime on iOS?

  3. Are there recommended diagnostics or logging options within ArcGIS Runtime that could help identify which native object is being deallocated?

  4. Is there anything specific I should verify regarding the lifetime of FeatureLayer, ServiceFeatureTable, or other ArcGIS runtime objects?

I'd appreciate any guidance or suggestions on how to isolate the root cause. If additional information (native stack trace, code snippets, or sample project) would help, I'm happy to provide it.

Thanks!

Additional Details / Breadcrumbs

In Sentry, the last breadcrumb before the crash is consistently an ArcGIS FeatureServer query triggered during map navigation, for example:

GET .../FeatureServer/{layerId}/query [200]

Query parameters include:

f=pbf
resultType=tile
geometryType=esriGeometryEnvelope
returnGeometry=true
spatialRel=esriSpatialRelEnvelopeIntersects

Examples of layers seen in the last breadcrumb before crash:

.../Wastewater_Features/FeatureServer/2/query
.../External_Sharing_Wastewater/FeatureServer/17/query
.../Water_Features/FeatureServer/5/query

The response is HTTP 200 with a very small response body, and the native SIGSEGV/dealloc occurs shortly after. This makes it look related to the automatic FeatureLayer tile/PBF fetch-render path during pan/zoom, rather than one of our own manual QueryFeaturesAsync calls.

Current code pattern:

var table = new ServiceFeatureTable(featureLayerUri);
table.FeatureRequestMode = FeatureRequestMode.OnInteractionCache;

await table.LoadAsync();

var featureLayer = table.Layer as FeatureLayer ?? new FeatureLayer(table);
featureLayer.Opacity = 0.70;

map.OperationalLayers.Add(featureLayer);

We have approximately 45 operational GIS layers selected in the heavier test case.

I also tested:

FeatureRequestMode.OnInteractionNoCache
FeatureLayer.RenderingMode = FeatureRenderingMode.Static

but the Runtime still emitted f=pbf&resultType=tile requests during navigation.

When testing FeatureRequestMode.ManualCache, the automatic rendering/fetching stopped and layers did not render, which seems to confirm that the crash path is tied to automatic live FeatureLayer fetching/rendering during navigation.

0 Kudos
0 Replies