laptop and a wrench

Bug

Select does not return in ArcObjects Visual C++ Console app in the IFeatureClass interface.

Last Published: July 1, 2019 ArcGIS for Desktop
Bug ID Number BUG-000122766
SubmittedMay 31, 2019
Last ModifiedJune 5, 2024
Applies toArcGIS for Desktop
Version found10.2.1
StatusWill Not Be Addressed

Additional Information

The users code has a flaw in it, when exactly one geometry is returned (for example, no union). They are using a geometry from a recycling cursor after the cursor has been freed. The geometry’s memory is free, and in their code, some of the free memory is used in a way that causes the geometry’s spatial indexed to exhaust memory. In other cases, the freed memory is not manipulated in a way that causes the spatial index to react as it does in this case. This gives the distinctive “only in this application” behavior (although other memory configurations could yield other bad results).

Workaround

The solution is to either use a non-recycling cursor, call get_ShapeCopy, or clone the shape in the case that they never union geometries. The non-recycling cursors causes the application to overall use more memory, same with get_shapeCopy. However the third option has the least impact to their existing code. To clone the shape in the case they detect that the union is not required, avoids the flaw in the coding pattern.

Steps to Reproduce

Bug ID: BUG-000122766

Software:

  • ArcGIS for Desktop

Get notified when the status of a bug changes

Download the Esri Support App

Discover more on this topic

Get help from ArcGIS experts

Contact technical support

Download the Esri Support App

Go to download options