arrayfire / arrayfire/arrayfire-python

af.features.Features crashes when its __del__ method is called

Aperta
#268 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Python
Stelle
422
Fork
63
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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 a9031fb5e0db371bc88c958f0b8d43efd7fe8f45)

Running on Windows; using arrayfire 3.8.0.

Minimum working example:
```python
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!

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.