Open alsora opened 2 years ago
In good news, I tested this scenario out with both Fast-DDS and CycloneDDS in Rolling, and I don't see the leak. So there is a fix that went in sometime since Galactic that fixes this. The trick is tracking down that patch.
I met a similar situation on Foxy, but I am not sure because I haven't delved into it yet. Hoping the patch can be tracked out.
My guess: https://github.com/eclipse-cyclonedds/cyclonedds/issues/1146 (original issue) and https://github.com/ros2/rmw_cyclonedds/pull/373 (fix)
Unfortunately, this #373 doesn't seem to be the root cause, from my testing.
Bug report
Invoking ROS 2 actions causes a small memory leak with CycloneDDS. This has been experienced on the Create 3 robot, where the robot crashed after few hours of continuously commanding actions.
It's easy to reproduce the problem on x86_64. The memory leak seems to be specific to cyclonedds, as it does not happen with fast-dds.
Required Info:
Steps to reproduce issue
Create a ROS 2 node with an action server that rejects every goal request (this is not necessary, but it simplifies the scenario).
Then use a bash script to send action requests forever (like this)
Expected behavior
The virtual memory does not change.
Actual behavior
The virtual memory increases constantly with every action request.