Open
Description
When using a Features()
object, arrayfire crashes silently when calling the object's __del__()
method if the object's get_xpos()
method has already been deleted (or has fallen out of scope).
Potentially due to a similar root case as mentioned in #169 (or due to the changes made as a result of this in commit a9031fb)
Running on Windows; using arrayfire 3.8.0.
Minimum working example:
import arrayfire as af
def get_feature_locations(features):
# Get x and y positions of features
x_pos = features.get_xpos()
y_pos = features.get_ypos()
# If this is uncommented, the code works as intended
# return x_pos, y_pos
img = af.randn(d0=500, d1=500)
features, descriptors = af.orb(img, threshold=1, max_features=10, num_levels=1)
feature_locations = get_feature_locations(features)
print("Before delete")
del features
print("After delete")
Which outputs:
Before delete
Uncommenting line 10 (return x_pos, y_pos
) outputs:
Before delete
After delete
Thanks!
Metadata
Metadata
Assignees
Labels
No labels