Fix the unicode test string for opensplice rmw implementation #447
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
As the title says, this fixes a particular test for opensplice.
I don't think this is a proper solution for the issue, but it keeps CI happy. What I was able to understand and find, is that opensplice caches the topics that are created. I know we are using a
deb
, but I took a peek to their community edition and it seems that the errors matched just fine. You can see that error here.As I was saying, when one creates a publisher/subscriber, it reaches a point where it creates a topic, calling this function
https://github.com/ADLINK-IST/opensplice/blob/c98e118a2e4366d2a5a6af8cbcecdf112bf9e4ab/src/kernel/code/v_topicImpl.c#L477
Specifically, this is part of our interest
https://github.com/ADLINK-IST/opensplice/blob/c98e118a2e4366d2a5a6af8cbcecdf112bf9e4ab/src/kernel/code/v_topicImpl.c#L527
Here, it makes use of a
lookuptable
for topics that lives within the kernel.https://github.com/ADLINK-IST/opensplice/blob/c98e118a2e4366d2a5a6af8cbcecdf112bf9e4ab/src/kernel/code/v_topicImpl.c#L532
That function is the one that checks the types of the new topic and the one it found (since the names are the same).
Digging a little bit in the rmw implementation for the publisher, I saw that we do call a
delete_topic
function for the participanthttps://github.com/ros2/rmw_opensplice/blob/f9997162920857a46a782ad1fbf7b876f6ba05bd/rmw_opensplice_cpp/src/rmw_publisher.cpp#L274
And it seems that there's no issue in "deleting" the topic, otherwise an error/exception should show.
When a node is destroyed, in
rmw_destroy_node
, I found a curious comment.https://github.com/ros2/rmw_opensplice/blob/f9997162920857a46a782ad1fbf7b876f6ba05bd/rmw_opensplice_cpp/src/rmw_node.cpp#L381-L386
The interesting thing is that it seems that we are somewhat aware that some stuff could be in memory yet even if they shouldn't.
Does anyone have a clue if this is a known issue or we are missing a function call in the
destroy_publisher
function?