Closed abencz closed 7 years ago
Yes it looks like the issue is that a message is coming in while screen is being redrawn. Since a message coming in triggers a redraw if the messages get pumped out fast enough this is going to happen often.
I think the solution to this is to cache all incoming messages in the callback and them process them at a regular rate. This way the redraw rate is fairly fixed. User interaction will generate redraws also so to be extra safe it would be wise to mutex the redraw and "cache process" code.
I probably won't be able to code this up until next year unfortunately.
I'm going to take a crack at fixing it.
Awesome! Looking forward to a PR!
@abencz any updates?
Didn't get a chance to look at this before Christmas vacation. Will be looking at it next week.
No problem was just doing a check on all issue status. Thanks for looking into it!
This issue was moved to ros-visualization/rqt_robot_monitor#1
While running rqt_robot_monitor I get a continuous stream of the following in the parent terminal:
Looks like the timeline queue is being modified by the ROS message callback in the
Timeline
class while at the same time being iterated over byTimelineView
. I'm not what a good fix is, but I'm guessing this is causing more than just annoying error messages because I also see frequent rqt_robot_monitor freezes and crashes - most often when using the inspector window.