question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

ros2 param list does not work with multiple rmw implementaion

See original GitHub issue

Bug report

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.

Issue Analytics

  • State:open
  • Created 3 years ago
  • Comments:9 (2 by maintainers)

github_iconTop GitHub Comments

2reactions
MiguelCompanycommented, Jan 21, 2021

Seems like a deserialization exception we are not capturing. I will take a look.

0reactions
fujitatomoyacommented, Feb 4, 2021

since https://github.com/eProsima/Fast-CDR/pull/98 and https://github.com/ros2/rmw_fastrtps/pull/505 are merged, the rest is to update documentation which tells that services do not work cross-vendor rmw implementation. i will assign to this on me.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Working with multiple ROS 2 middleware implementations
It is possible to run into a problem when “rebuilding” the workspace with an additional RMW implementation using the --cmake-force-configure option where ...
Read more >
Get Started with ROS 2 - MATLAB & Simulink - MathWorks
Configure the Python™ environment in the ROS Toolbox Preferences dialog box and select an implementation from the ROS Middleware (RMW) Implementation dropdown ...
Read more >
ROS2 Concepts in Practice #3 - DDS/RTPS - The Construct
That is quite easy. After running ros2 topic list, a ROS2 Daemon will be launched and in the command line, you will see...
Read more >
include/rmw/rmw.h File Reference - ROS 2 Docs
This should be defined by the rmw implementation. Parameters. [in], context, init context that this node should be associated with. [in], name ...
Read more >
ROS 2 Interface - Create® 3 Docs
The Create® 3 robot is based on ROS 2 and, as such, it exposes all its ... with additional arguments ros2 topic list...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found