Skip to content
This repository was archived by the owner on May 31, 2025. It is now read-only.
This repository was archived by the owner on May 31, 2025. It is now read-only.

Bug in rosbag_storage: can't reuse the same instance or rosbag::Bag #1176

@facontidavide

Description

@facontidavide

In my application I used to create a single instance or rosbag::Bag and use it as follows

  1. open a file
  2. parse using rosbag::View
  3. close()
  4. repeat from point 1.

This is not possible anymore. Running the code with Valgrind, it seems that something odd is happening.

Invalid read of size 8
1: rosbag::View::iterator::increment() in /opt/ros/indigo/lib/librosbag_storage.so
2: void boost::iterator_core_access::incrementrosbag::View::iterator(rosbag::View::iterator&) in /usr/include/boost/iterator/iterator_facade.hpp:520
3: boost::iterator_facade<rosbag::View::iterator, rosbag::MessageInstance, boost::forward_traversal_tag, rosbag::MessageInstance&, long>::operator++() in /usr/include/boost/iterator/iterator_facade.hpp:660
4: DataLoadROS::readDataFromFile(QString const&, QString&) in /home/dfaconti/ws_plotjuggler/src/PlotJuggler/plugins/ROS/DataLoadROS/dataload_ros.cpp:129

....

Address 0x1baa01b0 is 16 bytes before a block of size 16 alloc'd 1: operator new(unsigned long) in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so
2: std::vector<rosbag::ViewIterHelper, std::allocatorrosbag::ViewIterHelper >::_M_insert_aux(__gnu_cxx::__normal_iterator<rosbag::ViewIterHelper*, std::vector<rosbag::ViewIterHelper, std::allocatorrosbag::ViewIterHelper > >, rosbag::ViewIterHelper const&) in /opt/ros/indigo/lib/librosbag_storage.so
3: rosbag::View::iterator::populate() in /opt/ros/indigo/lib/librosbag_storage.so
4: rosbag::View::iterator::iterator(rosbag::View*, bool) in /opt/ros/indigo/lib/librosbag_storage.so
5: rosbag::View::begin() in /opt/ros/indigo/lib/librosbag_storage.so
6: DataLoadROS::readDataFromFile(QString const&, QString&) in /home/dfaconti/ws_plotjuggler/src/PlotJuggler/plugins/ROS/DataLoadROS/dataload_ros.cpp:129

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions