can't initialize image_transport

asked 2019-03-13 06:16:34 -0600

tuandl gravatar image

I have a VIO sensor that works with ROS kinetic. However, when I test it with an onboard computer running ROS Melodic, I can't initialize image_transport object to publish images. The driver I use can be found here. I tried to debug with gdb and the backtrace shows that image_transport somehow can't be initialized.

 (gdb) run
Starting program: /home/tuan/test_ws/devel/lib/pirvs_ros/stereo_camera_node /home/tuan/test_ws/src/IRONSIDES/pirvs/calib/calib_PerceptIn_Ironsides_left_raw.yaml /home/tuan/test_ws/src/IRONSIDES/pirvs/calib/calib_PerceptIn_Ironsides_right_raw.yaml __name:=stereo_camera_node __log:=/home/tuan/.ros/log/f5e0ce30-457c-11e9-bab1-94c691140fbf/stereo_camera_node-2.log
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffd5dd8700 (LWP 12802)]
[New Thread 0x7fffd55d7700 (LWP 12803)]
[New Thread 0x7fffcffff700 (LWP 12804)]
[New Thread 0x7fffcfbfe700 (LWP 12805)]
[New Thread 0x7fffcf7fd700 (LWP 12806)]
[New Thread 0x7fffcf108700 (LWP 12808)]
[New Thread 0x7fffce907700 (LWP 12809)]
[New Thread 0x7fffce106700 (LWP 12810)]
[New Thread 0x7fffcd905700 (LWP 12811)]
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc

Thread 1 "stereo_camera_n" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  0x00007ffff3f61e97 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007ffff3f63801 in __GI_abort () at abort.c:79
#2  0x00007ffff4b858b7 in  () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00007ffff4b8ba06 in  () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007ffff4b8ba41 in  () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x00007ffff4b8bc74 in  () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6  0x00007ffff4b8c1ec in  () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x00007ffff4c1dcfb in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_mutate(unsigned long, unsigned long, char const*, unsigned long) () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#8  0x00007ffff4c1f263 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned long) () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#9  0x000055555589b176 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
#10 0x00007fffecade537 in rospack::Rosstackage::getCachePath[abi:cxx11]() () at /opt/ros/melodic/lib/librospack.so
#11 0x00007fffecade9c4 in rospack::Rosstackage::validateCache() () at /opt/ros/melodic/lib/librospack.so
#12 0x00007fffecae5b28 in rospack::Rosstackage::readCache() () at /opt/ros/melodic/lib/librospack.so
#13 0x00007fffecae5cd5 in rospack::Rosstackage::crawl(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, bool) () at /opt/ros/melodic/lib/librospack.so
#14 0x00007fffecaf4ec4 in rospack::rospack_run(int, char**, rospack::Rosstackage&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) () at /opt/ros/melodic/lib/librospack.so
#15 0x00007fffecaf0b79 in rospack::ROSPack::run(int, char**) () at /opt/ros/melodic/lib/librospack.so
#16 0x00007fffecaf104b in rospack::ROSPack::run(std::__cxx11::basic_string ...
(more)
edit retag flag offensive close merge delete