-
Notifications
You must be signed in to change notification settings - Fork 119
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Running a subscriber on Humble with publishing from Jazzy / Rolling uses up all memory #797
Comments
@urfeex thanks for creating issue.
as you already mentioned, cross-distro communication is not supported. (interfaces are not guaranteed compatible, including breaking ABI/API) you can keep this open, but i do not investigate any further on this issue. |
As I said earlier, this issue is not about cross-distro communication. It's about taking down a complete computer as soon as some random jazzy / rolling node shows up on the network sending discovery messages. In my opinion it would be fine to silently ignore those, print errors all over the place, whatever. But having a PC use up all memory seems not like something that should be considered "just not supported". It was my impression that #737 was created also with the motivation to prevent crashes because of that scenario. |
i think what you mean is application data-plane.
ROS 2 already communicate in discovery, so cross-distro communication is taking place in discovery to develop the endpoint connectivity.
good point, totally agree this. one thing i would like to ask you as a possible work-around. can you set the different this should provide the logical partition for the discovery process, that means no discovery between jazzy and rolling at all. |
Yes, that is clear to me. What I wanted to say is: We do not try to actively do any cross-distro communication or expect any cross-distro communication to work. We just want systems not to go down because of a participant in the same domain ID gets active on the same network. But I think that has become clear by now :-)
Yes, setting the
Does that mean you think searching for a solution for this might be the way to go? Can we support this in any way? I cannot promise any resources at the moment, though. |
yeah, this is not good user-experience, silently causing the problem. if that is not supported, disallow / warning notification would be much better for user.
no worries, good to know that works.
i do not think so, as far as i know there is nobody is planning for that. |
Bug report
While I am aware that inter-distribution traffic isn't supported, I would at least expect systems not to crash if that occurs. However, we noticed that running both, Humble and Jazzy nodes on the same network can cause the machines running Humble nodes to run out of memory, probably because of discovery traffic. It is sufficient to have a Humble subscriber and do a
ros2 topic list
from Jazzy to (sometimes) trigger the issue.Required Info:
Steps to reproduce issue
The following docker-compose file illustrates the issue. Running this will make your system run out of memory!!!
Expected behavior
Error messages, silent ignores, or magically just work. Note: As said earlier, I do not expect cross-distro communication to simply work, but I would expect stable behavior.
Actual behavior
The
ros2 topic echo
seems to cause unlimited memory consumption and makes the system run OOM in a matter of seconds.Additional information
std::bad_alloc
on deserializeROSmessage. (backport #665) #737 on the humble node.list
and errors on theecho
but doesn't crash or end up in OOM. So, this seems to be a rmw_fastrtps_cpp issue.The text was updated successfully, but these errors were encountered: