-
Notifications
You must be signed in to change notification settings - Fork 86
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
ddLCMSubscriber may not preserve (channel, message) ordering if messages are published close together #556
Comments
Added some reproduction scripts (see Here's the portion of
|
Yes this is a known issue, thanks for reporting. I can't remember if there is already an open issue. I have run into the exact problem when implementing a ros tf visualization that subscribed to |
Sounds good! I will do the workaround for the time being, and possibly update the underlying subscriber if it comes to that point. |
I think if you can also workaround the issue by doing this:
For very high frequency messages this may have performance issues, but most of the time flag is fine. Docs: https://github.com/RobotLocomotion/director/blob/master/src/app/ddLCMSubscriber.h#L77 |
I think a reasonable fix in |
Yup, that did the trick! Is #446 the related issue you were mentioning? |
That's related but not the same as what you reported. I guess it's never been posted in Github issues. I found where it was previously encountered though, and maybe we just discussed it on Slack: https://github.com/RobotLocomotion/director/blob/master/src/python/director/treeviewer.py#L426 |
I was writing a quick modification to Siyuan's
show_frames.py
script to accept multiple channels (as what thedrakevisualizer.py
indirector
does) by subscribing to'DRAKE_DRAW_FRAMES.*'
(withcallbackNeedsChannel = True
).However, I noticed that occasionally the channel name and the message data would sometime get mixed. If I added sleep for about ~100ms in between publishing on the different channels,
I will briefly try to reproduce this in one or two independent scripts.
As a workaround, I will try to add a command-line argument (or something else) to register each subscriber independently, rather than relying on a single subscriber with multiple channel names.
The text was updated successfully, but these errors were encountered: