Error in the tool
0:00:04:0405 - Condition ' pelem->root ' is true.
C Error: Condition ' pelem->root ' is true.
C Source: core\self_list.h:46 C
Error in the external console
ERROR: SelfList::List::add: ERROR:
SelfList::List::add: Condition ' pelem->root '
is true. Condition ' pelem->root ' is true. At: At:
This seems to be caused by calling
AStar#get_point_path() (GDScript) which calls
AStar#_solve. I am lacking the C++ skills to debug what is going on and unfortunately, the assertions aren't commented nor do they emit a more helpful message which makes all of this kinda difficult to understand for a beginner.
Edit: After further testing, it turns out either
AStar#_solve() are not thread-safe, I think the latter one. I execute
AStar#get_point_path() on another thread to avoid stuttering. This works just fine with only one thread but adding more than one causes the error. I tested this by adding a Mutex to lock down the method call.