rosbridge_suite icon indicating copy to clipboard operation
rosbridge_suite copied to clipboard

Exception when calling /rosapi/node_details service with node name that doesn't exist

Open ben-congram opened this issue 1 year ago • 1 comments

Description

Rosbridge crashes with TypeError: cannot unpack non-iterable NoneType object at this line when the node details service is called with a node name that doesn't exist. In practice, I've see this happen when nodes are stopping and starting frequently and a node is shutdown just before this call is made. However, it is easier to reproduce by calling the service manually.

Should be a simple fix to check the return value is not None before unpacking it.

  • Library Version: 1.3.1
  • ROS Version: ROS2 Humble
  • Platform / OS: Ubuntu 22.04.2 LTS

Steps To Reproduce

  • ros2 launch rosbridge_server rosbridge_websocket_launch.xml
  • ros2 service call /rosapi/node_details rosapi_msgs/srv/NodeDetails "node: /not_a_real_node"

Expected Behavior

  • Some response to service call
  • Rosbridge websocket continues working normally

Actual Behavior

  • rosapi_node dies after TypeError
  • Service call hangs

ben-congram avatar Jul 11 '23 14:07 ben-congram

This issue has been marked as stale because there has been no activity in the past 12 months. Please add a comment to keep it open.

github-actions[bot] avatar Jul 11 '24 00:07 github-actions[bot]