micro_ros_setup: Fail to call `rcl_subscription_fini`

Issue template

  • Hardware description: STM32F7
  • RTOS: FreeRTOS
  • Installation type: Static lib
  • Version or commit hash: foxy
  • Multithread support

Hi, I have 4 nodes that have been initialized and work perfectly fine across different threads. When I notice the agent is down, I then try to proceed to shutdown all the nodes to release all the memory from entities. The support is the last thing to be released.

On the first node, my call to rcl_subscription_fini returns a non 0 code. Tracing it, the point where it fails is https://github.com/micro-ROS/rmw-microxrcedds/blob/foxy/rmw_microxrcedds_c/src/rmw_subscription.c#L343 that returns 1 when called.

My “cleanup” looks like this.

  auto result = rclc_executor_fini(&executor_);
  result |= rcl_subscription_fini(&subscriber_1_, &node_);
  result |= rcl_subscription_fini(&subscriber_2_, &node_);
  result |= rcl_node_fini(&node_);

rclc_executor_fini returns correctly

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 21 (10 by maintainers)

Most upvoted comments

We still don’t get a reply from RCL, but yes, we can close it

to be honest, I have no clue how to see that based on the log.

Should we leave this issue open until we get some reply from rcl?

Ah, my bad, for some reason, I completely missed the “cherry picking” part. Be back 😃