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 the Ros1 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. See process 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).