Skip to content

ros2 param list does not work with multiple rmw implementaion #586

Description

@fujitatomoya

Bug report

  • Operating System:
    • Ubuntu 20.04
  • Installation type:
    • source code
  • Version or commit hash:
  • DDS implementation:
    • multiple rmw implementation Fast-DDS and Cyclonedds
  • Client library (if applicable):
    • rclcpp and rclpy

Steps to reproduce issue

  • talker with cyclonedds and ros2 param list with fastdds

it seems that talker does not even receive the service request from client.

[Terminal - 1]
root@5c7a784cba7f:~/ros2_ws/colcon_ws# ros2 run demo_nodes_cpp talker
[INFO] [1611218728.615967478] [talker]: Publishing: 'Hello World: 1'
[INFO] [1611218729.615458541] [talker]: Publishing: 'Hello World: 2'
...<snip>

[Terminal - 2]
root@5c7a784cba7f:~/ros2_ws/colcon_ws# RMW_IMPLEMENTATION=rmw_fastrtps_cpp ros2 param list
Exception while calling service of node '/talker': None
  • talker with fastdds and ros2 param list with cyclonedds

this could be security issue since we can crash the node via parameter request.

[Terminal - 1]
root@5c7a784cba7f:~/ros2_ws/colcon_ws# RMW_IMPLEMENTATION=rmw_fastrtps_cpp ros2 run demo_nodes_cpp talker
[INFO] [1611218853.091887892] [talker]: Publishing: 'Hello World: 1'
[INFO] [1611218854.091851082] [talker]: Publishing: 'Hello World: 2'
[INFO] [1611218855.091853219] [talker]: Publishing: 'Hello World: 3'
[INFO] [1611218856.091876166] [talker]: Publishing: 'Hello World: 4'
[INFO] [1611218857.091860947] [talker]: Publishing: 'Hello World: 5'
[INFO] [1611218858.091872255] [talker]: Publishing: 'Hello World: 6'
[INFO] [1611218859.091883693] [talker]: Publishing: 'Hello World: 7'
[INFO] [1611218860.091857624] [talker]: Publishing: 'Hello World: 8'
[INFO] [1611218861.091900999] [talker]: Publishing: 'Hello World: 9'
[INFO] [1611218862.091897370] [talker]: Publishing: 'Hello World: 10'
[INFO] [1611218863.091898792] [talker]: Publishing: 'Hello World: 11'
[INFO] [1611218864.091924685] [talker]: Publishing: 'Hello World: 12'
[INFO] [1611218865.091936687] [talker]: Publishing: 'Hello World: 13'
[INFO] [1611218866.091938711] [talker]: Publishing: 'Hello World: 14'
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc

[Terminal - 2]
root@5c7a784cba7f:~/ros2_ws/colcon_ws# ros2 param list
root@5c7a784cba7f:~/ros2_ws/colcon_ws# ros2 param list
root@5c7a784cba7f:~/ros2_ws/colcon_ws# ros2 param list
Exception while calling service of node '/talker': None

Expected behavior

able to get parameter list for both cases

root@5c7a784cba7f:~/ros2_ws/colcon_ws# ros2 param list
/talker:
  use_sim_time

Actual behavior

either unable to parameter list or application core crashhttps://index.ros.org/doc/ros2/Tutorials/Working-with-multiple-RMW-implementations/#multiple-rmw-implementations

Additional information

according to https://index.ros.org/doc/ros2/Tutorials/Working-with-multiple-RMW-implementations/#multiple-rmw-implementations, there is no constraints / limitation between cyclonedds and fastdds.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions