-
Notifications
You must be signed in to change notification settings - Fork 8
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
rmw_dps support for RMW 0.7.1 #6
Comments
I'll take a look at the deserialization issue. Can you point to me the failing test? |
There are a bunch of packages with failed tests.
The main things I can see are:
The error I was referring to is probably happening in the last two tests mentioned above.
In any case, the segfault occurs when calling the
This happens only for ParameterEvents messages, while it works for custom and other standard messages. |
Thanks for the test pointer. I will reproduce on my end and fix it. Implementation of the discovery/introspection APIs is next. |
@alsora the issue appears to be that the resize_function is not hooked into the introspection structure in the latest code while it was in Crystal. I'm still tracking down exactly when and why this occurred. Some background: in the deserialization code you highlighted above, field points to a std::vector of some type inside a ROS message. The code does a placement new to initialize the memory inside the message then calls the resize_function of the actual type to allocate the memory for the elements. With no resize_function in place, we crash. |
With the proposed PR ros2/rosidl#379 |
The previously mentioned PR has been merged, so it's possible to close this issue. |
The RMW has been updated few days ago to version 0.7.1 and this is not supported yet from rmw_dps.
First of all there are build errors, due to the new APIs (allocation and liveliness mostly).
Moreover there is a runtime error when a subscriber try to deserialize a message of type ParameterEvent.
I saw a similar problem mentioned for Fast-RTPS:
ros2/rmw_fastrtps#36 (comment)
I'm working on a PR: #7
It allows to build without errors and, if you remove the ParameterEvents publisher and subscribers, it allows nodes to communicate.
Do you have any ideas on how to fix this deserialization issue?
@AAlon
The text was updated successfully, but these errors were encountered: