rmw_fastrtps: Subscriber which is created with dedicated callback group at runtime not working

Bug report

Required Info:

  • Operating System:
    • Ubuntu22.04
  • Installation type:
    • Rolling binaries
  • Version or commit hash:
    • Rolling
  • DDS implementation:
    • default
  • Client library (if applicable):
    • rclcpp

Steps to reproduce issue

i create a minimal package to reproduce this issue, see more detail here :https://github.com/gezp/ros2_test_subscriber

ros2 launch ros2_test_subscriber test_subscriber.launch.py use_dedicated_thread:=True

Expected behavior

  • subscriber working when activate (in other word, create subscriber),

Actual behavior

  • subscriber keeps not working

Additional information

see detailed output here: https://github.com/gezp/ros2_test_subscriber. by the way, it works well under ubuntu20.04 ROS Galactic.

i’m working for nav2, here are some related PRs(navigation2/#2489, navigation2/#3018). navigation2/#2489 worked well when my env was under ubuntu20.04 ROS Rolling, and when i updated my env to ubuntu22.04 ROS Rolling, navigation2/#2489 broke the expected behavior. CC @SteveMacenski

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 17 (6 by maintainers)

Most upvoted comments

@gezp

could you try the following works? (at least my local env fix the problem)

# RMW_IMPLEMENTATION=rmw_cyclonedds_cpp ros2 launch ros2_test_subscriber test_subscriber.launch.py use_dedicated_thread:=True

it works well under ubuntu20.04 ROS Galactic.

this makes sense since default RMW implementation is changed cyclonedds(Galactic/Rolling Ubuntu20.04) to Fast-DDS(Humble/Rolling Ubuntu22.04).

to find out the root cause, we need to dig deeper though.

Should this ticket be transferred to the RWM for Fast-DDS so they know the ball’s in their court?