Robotics StackExchange | Archived questions

rqt_bag rosbag exception

Hello, Im getting the following exception error thrown WHILE running rqt_bag, after opening the bag file I want to replay:

Exception in thread Thread-8:

Traceback (most recent call last):
File "/usr/lib/python3.8/threading.py", line 932, in bootstrapinner self.run()
File "/opt/ros/noetic/lib/python3/dist-packages/rqtbag/indexcachethread.py", line 67, in run updated |= (self.timeline.updateindexcache(topic) [greater than] 0)
File "/opt/ros/noetic/lib/python3/dist-packages/rqtbag/timelineframe.py", line 838, in updateindexcache for entry in self.scene().getentries(topic, starttime, endtime):
File "/opt/ros/noetic/lib/python3/dist-packages/rqtbag/bagtimeline.py", line 273, in getentries for entry, _ in bag.mergesort(bag_entries, key=lambda entry: entry.time):

AttributeError: module 'rosbag.bag' has no attribute '_mergesort'

When liine 253 from bag_timeline.py explicity states from rosbag import bag # for _mergesort (???)

rqt_bag runs, except I cannot see the bag playbag msgs displayed (from either of 2 topics) within the playback bar.

PARAMETERS

Asked by rbed23 on 2020-12-29 03:40:09 UTC

Comments

Answers

Hi, had the same issue. This seems to be the root cause:

rqt_issue #90

As quickfix I undo the changes of this commit Use heapq.merge instead of custom merge sort code (#2017) until issue is resolved.

Asked by schmaelle on 2021-01-07 08:54:26 UTC

Comments

So this means, reinstalling the ROS from the source code given the suggested change?!

Asked by Ben222 on 2021-01-09 03:13:32 UTC

Well, I did it quite simple and changed it manually within /opt/ros/noetic/lib/python3/dist-packages/bag.py directly (with sudo). Worked for me, but I did not do any crosschecks for other functionalities.

Asked by schmaelle on 2021-01-11 13:28:22 UTC

Thanks, it's fixed!

Asked by Ben222 on 2021-01-11 16:05:01 UTC