voxel51/fiftyone

[BUG] ReferenceError: weakly-referenced object no longer exists

Open

#2738 aperta il 7 mar 2023

Vedi su GitHub
 (4 commenti) (0 reazioni) (0 assegnatari)Python (400 fork)batch import
bugcoregood first issue

Metriche repository

Star
 (4021 star)
Metriche merge PR
 (Merge medio 4g 14h) (185 PR mergiate in 30 g)

Descrizione

Here's a perplexing mongoengine-related error:

import fiftyone as fo
import fiftyone.zoo as foz

dataset = foz.load_zoo_dataset("quickstart")

# this fails
dataset.first()["tags"].append("tag")

# but this works
sample = dataset.first()
sample["tags"].append("tag")
ReferenceError                            Traceback (most recent call last)
<ipython-input-2-846545a97f03> in <module>
----> 1 dataset.first()['tags'].append('tag')

~/dev/env/fo/lib/python3.9/site-packages/mongoengine/base/datastructures.py in wrapper(self, *args, **kwargs)
     21         # Can't use super() in the decorator.
     22         result = parent_method(self, *args, **kwargs)
---> 23         self._mark_as_changed()
     24         return result
     25 

~/dev/env/fo/lib/python3.9/site-packages/mongoengine/base/datastructures.py in _mark_as_changed(self, key)
    179 
    180     def _mark_as_changed(self, key=None):
--> 181         if hasattr(self._instance, "_mark_as_changed"):
    182             if key is not None:
    183                 self._instance._mark_as_changed(f"{self._name}.{key % len(self)}")

ReferenceError: weakly-referenced object no longer exists

Guida contributor