fzi-forschungszentrum-informatik / ros2_ros_bt_py

This is a Behavior Tree library meant to be an alternative to SMACH, FlexBE and the like. It includes a ReactJS-based web GUI and all the building blocks you need to build moderately advanced mission control Behavior Trees without writing a single line of code!
BSD 3-Clause "New" or "Revised" License
24 stars 6 forks source link

🐛 [BUG] - Cannot use Destroyable because destruction was requested #69

Open Oberacda opened 5 months ago

Oberacda commented 5 months ago

Description

BT crashes when loading or stopping a BT with a Service, Action or Subscriber node with the error message "cannot use Destroyable because destruction was requested", due to some issues with the underlying rclpy implementation.

Reproduction URL

https://github.com/fzi-forschungszentrum-informatik/ros2_ros_bt_py

Reproduction steps

1. Load a BT containing a TopicSubscriber.
2. Run the BT.
3. Stop the BT.

Screenshots

No response

Logs

No response

ROS2 Version

Humble

OS

Ubuntu 22.04

nspielbau commented 1 month ago

https://github.com/ros2/rclpy/issues/1142

https://github.com/ros2/rclpy/issues/1206

nspielbau commented 1 month ago

Seems to be "fixed" with checking rclpy.ok() before publishing tree info. But this is not a viable solution. Also rclpy should be okay while shutting down the BT