You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
type_support_->typesupport_identifier is rosidl_typesupport_introspection_cpp since I am using rmw_fastrtps_dynamic_cpp as middleware. I see that L33 in graph_typesupport.cpp compares with rosidl_typesupport_fastrtps_cpp, which is why I assume micro-ros-agent requires rmw_fastrtps_cpp as middleware. I would like to stick with rmw_fastrtps_dynamic_cpp.
Changing this line from rmw_fastrtps_dynamic_cpp to rosidl_typesupport_introspection_cpp causes the segmentation error to go away and the program can proceed:
My question is, can micro-ros-agent support introspection, i.e. rmw_fastrtps_dynamic_cpp?
What are the necessary changes if not?
The text was updated successfully, but these errors were encountered:
henriksod
changed the title
Run micro-ros-agent under rmw_fastrtps_dynamic_cpp, using introspection
Run micro-ros-agent on top of rmw_fastrtps_dynamic_cpp, using introspection
Aug 1, 2023
henriksod
changed the title
Run micro-ros-agent on top of rmw_fastrtps_dynamic_cpp, using introspection
Run micro-ros-agent on top of rmw_fastrtps_dynamic_cpp, using introspection typesupport
Aug 1, 2023
Hello, not sure why you need introspection in the micro-ROS Agent.
In any case, if there is a solution that fits your requirements, please feel free to contribute with a PR. Maybe we can make those type support to be selected by means of an environment variable.
I am using this repo https://github.com/mvukov/rules_ros2 to build ROS2 nodes using the Bazel build system. They currently have support for CycloneDDS which uses rosidl_typesupport_introspection. I have made a PR to add FastDDS and since there is already generator rules implemented for rosidl_typesupport_introspection, it makes sense to use rmw_fastrtps_dynamic.
Maybe I am too new to ROS2 to understand, why would I not want to use introspection? It reduces complexity in the projects and makes switching between DDS middlewares more seamless.
Issue template
I am getting segmentation fault at
micro-ROS-Agent/micro_ros_agent/src/agent/graph_manager/graph_typesupport.cpp
Line 33 in 8fdc506
due to the
type_support_
object being erased from memory somewhere inmicro-ROS-Agent/micro_ros_agent/src/agent/graph_manager/graph_typesupport.cpp
Line 31 in 8fdc506
type_support_->typesupport_identifier
isrosidl_typesupport_introspection_cpp
since I am usingrmw_fastrtps_dynamic_cpp
as middleware. I see that L33 in graph_typesupport.cpp compares withrosidl_typesupport_fastrtps_cpp
, which is why I assume micro-ros-agent requiresrmw_fastrtps_cpp
as middleware. I would like to stick withrmw_fastrtps_dynamic_cpp
.Changing this line from
rmw_fastrtps_dynamic_cpp
torosidl_typesupport_introspection_cpp
causes the segmentation error to go away and the program can proceed:micro-ROS-Agent/micro_ros_agent/src/agent/graph_manager/graph_typesupport.cpp
Line 32 in 8fdc506
However, then it fails at this line instead with a segmentation fault:
micro-ROS-Agent/micro_ros_agent/src/agent/graph_manager/graph_typesupport.cpp
Line 183 in 8fdc506
My question is, can micro-ros-agent support introspection, i.e. rmw_fastrtps_dynamic_cpp?
What are the necessary changes if not?
The text was updated successfully, but these errors were encountered: