Closed Rezenders closed 9 months ago
[pipeline_inspection_reasoner-1] [ERROR] [1673533577.337098677] [pipeline_inspection_reasoner]: Error in perform_reasoning: 'NoneType' object is not subscriptable
This error is also happening with lower rates, but less frequently. Unfortunately, I don't have any more info. My guess is that is has something to do with reading/writing from/to the ontology.
[pipeline_inspection_reasoner]: In Analyze, exception returned: 'NoneType' object is not subscriptable
This looks like a concurrency error. That should be easy enough to test.
If it is a concurrency error, there is some guidance:
https://owlready2.readthedocs.io/en/latest/sync.html?highlight=concurrent#synchronization says:
that means you'd have to adjust https://github.com/meta-control/mc_mros_reasoner/blob/50a67fb5bc73e01a963a3b77388b49d024d6feac/mros2_reasoner/mros2_reasoner/tomasys.py#L18
like so
world = World()
world.set_backend(filename = "/path/to/your/file.sqlite3", exclusive = False)
and also adjust the the rest that accesses the backend according to points 2 and 3...
that still would not allow you to run the thing faster though, just with more waiting and fewer bugs.
Regardless of whether or not your current problem is caused by concurrency...in the context of ROS that's always a problem. So this should be concurrency safe anyway.
When I set the reasoning period to be 1 or less, I get a lot of bugs.
An example:
Or
I will add the other error messages here later