Troubleshooting
Here we list commonly encountered problems and effective methods for debugging.
When developing, users are advised to select the
SingleProcess
Backend
. Other backends, such as theRos1
Backend
can make debugging unnecessarily hard due to their distributed capabilities. Switch to multi-processing and distributed computing once you have a stable implementation.If you must debug using the
Ros1
Backend
, then you are advised to launch all nodes in the ENVIRONMENT process. Seeprocess
for more info.Live-plotting is currently only supported when the
Ros1
Backend
is selected.To run your code using the
Ros1
Backend
from within PyCharm, make sure to modify your launcher file as described here. This will also allow you to attach a debugger and set breakpoints. Instructions for several other IDEs are also covered in the provided link.Using eagerx with anaconda can produce warnings (see below) when rendering or when using the GUI. This is a known issue that is caused by the interaction of pyqtgraph (used in the GUI) and opencv (used for rendering) with Qt libraries. Code seems not to break, so as a temporary fix, you are advised to suppress this error. Please file a bug report if eagerx/opencv/gui functionality actually breaks.
QObject::moveToThread: Current thread (0x7fb6c4009eb0) is not the object's thread (0x7fb6c407cf40). Cannot move to target thread (0x7fb6c4009eb0).