-
Notifications
You must be signed in to change notification settings - Fork 120
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
borrow_loaned_message() returns RETCODE_OUT_OF_RESOURCES when using Zero-copy #810
Comments
IMO, 1st of all, you are not using Data Sharing delivery nor ROS 2 LoanedMessage.
i do not understand what this means. this problem seems to be related to Shared Memory Transport, can you provide self-contained/complete example to reproduce the issue? CC: @MiguelCompany |
Hi @fujitatomoya, thank you for your very quick reply.
As I mentioned above, my data type is Plain Old Data, the variables required
In case My test consist in running 1 publisher and 4 subscriber. The forth subscriber I keep stopping (with CTRL+C) and running it again. After few times, the publisher stops sending data due no resource for loan.
Subscriber
Hope it could clarify a bit more. |
you are right, all these are required condition for zero copy.
important configuration for data sharing delivery in Fast-DDS with ROS 2 humble is the following. <data_sharing>
<kind>AUTOMATIC</kind>
</data_sharing>
I see. and thanks for providing the samples, i am interested in this. i will try to take a look. thanks, |
Hi @fujitatomoya, were you able to reproduce the issue? Is there anything else I can help on setting up the environment to reproduce it? Thanks. |
@djusten i could not allocate time, i will try in this week. |
I'm configuring my system to use Zero-copy and shared memory, also it publishes a custom msg that has old plain type, that means all fields with fixed size.
My test consist of one publisher and four subscribers. The fourth subscriber I keep stopping it, that means shutdown() is called and after few seconds it starts again. After few times, the publisher started to return a error when calling borrow_loaned_message(). One observation I had is the publisher "Crashes" when the subscriber is starting and not when it stopped.
Could be the subscriber somehow isn't releasing some loan? What could be causing the borrow_loaned_message() running out of resource if the callback is doing nothing, neither doing any copy or holding the data.
Running ROS2 humble.
Publisher
Subscriber
The environment variables are:
XML profile:
Actually
free_payloads_
is getting empty, but why if the subscriber is doing nothing with the data and why it isn't being released?The text was updated successfully, but these errors were encountered: