ros2 / rmw_iceoryx

rmw implementation for iceoryx
Apache License 2.0
144 stars 27 forks source link

Launch file does not work (rclcpp_component node) #83

Closed EleonoreJ closed 1 year ago

EleonoreJ commented 1 year ago

Hello, I have the following issue when launching my launch file. Would you have an idea on how to solve it? Many thanks!

Configuration: Ubuntu 18.04 ROS2 foxy

Error:

[rcutils|error_handling.c:108] rcutils_set_error_state() This error state is being overwritten:

'Handle's typesupport identifier (rosidl_typesupport_c) is not supported by this library , at /tmp/binarydeb/ros-foxy-rosidl-typesupport-c-1.0.2/src/type_support_dispatch.hpp:116'

with this new error message:

'rmw_iceoryx_cpp does not support clients., at /home/eleonore/rmw_iceoryx/rmw_iceoryx_cpp/src/rmw_client.cpp:36'

rcutils_reset_error() should be called after error handling to avoid this. <<< Task exception was never retrieved future: <Task finished name='Task-2' coro=<LaunchService._process_one_event() done, defined at /opt/ros/foxy/lib/python3.8/site-packages/launch/launch_service.py:226> exception=RCLError('Failed to create client: rmw_iceoryx_cpp does not support clients., at /home/eleonore/rmw_iceoryx/rmw_iceoryx_cpp/src/rmw_client.cpp:36, at /tmp/binarydeb/ros-foxy-rcl-1.1.13/src/rcl/client.c:175')> Traceback (most recent call last): File "/opt/ros/foxy/lib/python3.8/site-packages/launch/launch_service.py", line 228, in _process_one_event await self.process_event(next_event) File "/opt/ros/foxy/lib/python3.8/site-packages/launch/launch_service.py", line 248, in process_event visit_all_entities_and_collect_futures(entity, self.context)) File "/opt/ros/foxy/lib/python3.8/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py", line 45, in visit_all_entities_and_collect_futures futures_to_return += visit_all_entities_and_collect_futures(sub_entity, context) File "/opt/ros/foxy/lib/python3.8/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py", line 45, in visit_all_entities_and_collect_futures futures_to_return += visit_all_entities_and_collect_futures(sub_entity, context) File "/opt/ros/foxy/lib/python3.8/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py", line 45, in visit_all_entities_and_collect_futures futures_to_return += visit_all_entities_and_collect_futures(sub_entity, context) [Previous line repeated 2 more times] File "/opt/ros/foxy/lib/python3.8/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py", line 38, in visit_all_entities_and_collect_futures sub_entities = entity.visit(context) File "/opt/ros/foxy/lib/python3.8/site-packages/launch/action.py", line 108, in visit return self.execute(context) File "/opt/ros/foxy/lib/python3.8/site-packages/launch_ros/actions/load_composable_nodes.py", line 201, in execute self.rclpy_load_node_client = get_ros_node(context).create_client( File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/node.py", line 1253, in create_client client_capsule = _rclpy.rclpy_create_client( _rclpy.RCLError: Failed to create client: rmw_iceoryx_cpp does not support clients., at /home/eleonore/rmw_iceoryx/rmw_iceoryx_cpp/src/rmw_client.cpp:36, at /tmp/binarydeb/ros-foxy-rcl-1.1.13/src/rcl/client.c:175 Task exception was never retrieved future: <Task finished name='Task-8' coro=<LaunchService._process_one_event() done, defined at /opt/ros/foxy/lib/python3.8/site-packages/launch/launch_service.py:226> exception=RuntimeError('Signal event received before subprocess transport available.')> Traceback (most recent call last): File "/opt/ros/foxy/lib/python3.8/site-packages/launch/launch_service.py", line 228, in _process_one_event await self.process_event(next_event) File "/opt/ros/foxy/lib/python3.8/site-packages/launch/launch_service.py", line 248, in process_event visit_all_entities_and_collect_futures(entity, self.context)) File "/opt/ros/foxy/lib/python3.8/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py", line 38, in visit_all_entities_and_collect_futures sub_entities = entity.visit(context) File "/opt/ros/foxy/lib/python3.8/site-packages/launch/action.py", line 108, in visit return self.execute(context) File "/opt/ros/foxy/lib/python3.8/site-packages/launch/actions/opaque_function.py", line 75, in execute return self.function(context, *self.args, **self.__kwargs) File "/opt/ros/foxy/lib/python3.8/site-packages/launch/actions/execute_process.py", line 443, in on_signal_process_event raise RuntimeError('Signal event received before subprocess transport available.') RuntimeError: Signal event received before subprocess transport available. [INFO] [component_container-1]: process started with pid [3680] [ERROR] [component_container-1]: process[component_container-1] failed to terminate '5' seconds after receiving 'SIGINT', escalating to 'SIGTERM' [INFO] [component_container-1]: sending signal 'SIGTERM' to process[component_container-1] [ERROR] [component_container-1]: process has died [pid 3680, exit code -15, cmd '/opt/ros/foxy/lib/rclcpp_components/component_container --ros-args -r node:=point_type_adapter_container_front -r ns:=/'].

It comes from this node for me:

container = ComposableNodeContainer(
    name='point',
    namespace='',
    package='rclcpp_components',
    executable='component_container',
    composable_node_descriptions=[
        ComposableNode(
            package='point_type_adapter',
            plugin='Node',
    ],
    output='screen',
)
mossmaurice commented 1 year ago

@EleonoreJ Thanks for reporting this issue and sorry about the late response!

'rmw_iceoryx_cpp does not support clients., at /home/eleonore/rmw_iceoryx/rmw_iceoryx_cpp/src/rmw_client.cpp:36'

The error occurs due to the fact that iceoryx Almond (v1.x) didn't have request/ response implemented. That changed with iceoryx Blueberry (v2.x), which supports request/ response communication. Early January I implemented request/ response communication for ROS 2 Humble and #84 should be merged in the next few weeks. You are welcome to give it a try. I fear a backport for ROS 2 Foxy won't happen. Would Humble be feasible for you? Of course, contributions are always welcome if you have some spare time for the backport :)

mossmaurice commented 1 year ago

Closing this issue as #84 was merged. Feel free to re-open if the issue persists.