rgbdslam main process segv from roslaunch openni+rgbdslam.launch
Hi, I have a kinect attached to an Intel J1900 based machine and the OpenNI examples run fine including the hand tracking example. Using OpenNI and SensorKinect. ( https://github.com/OpenNI/OpenNI.git and https://github.com/avin2/SensorKinect... both on unstable branch). This is an Ubuntu 14.04.1 installation with ROS indigo.
I have rgbdslam installed via catkin as the web page suggests. After some compile and linking glitches I got a binary. However, trying to run:
$ roslaunch rgbdslam openni+rgbdslam.launch
results in the rgbdslam-23 process segving and thus the launch as a whole entering the fail state.
process[rgbdslam-23]: started with pid [8189]
================================================================================REQUIRED process [rgbdslam-23] has died!
process has died [pid 8189, exit code -11, cmd /home/monkeyiq/catkin_ws/devel/lib/rgbdslam/rgbdslam __name:=rgbdslam __log:=/home/monkeyiq/.ros/log/7f7c8758-3a90-11e4-8b1b-d050992ba7ab/rgbdslam-23.log].
log file: /home/monkeyiq/.ros/log/7f7c8758-3a90-11e4-8b1b-d050992ba7ab/rgbdslam-23*.log
Initiating shutdown!
Unfortunately the Logs do not seem to shine light on any specific cause.
I'm not sure if its a good idea to try to gdb the rgbdslam executable directly, but this is what I get when that segvs:
~/catkin_ws/src/rgbdslam_v2/launch$ gdb /home/monkeyiq/catkin_ws/devel/lib/rgbdslam/rgbdslam
...
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7582a8c in boost::math::lanczos::lanczos_initializer<boost::math::lanczos::lanczos17m64, long double>::init::init() ()
from /usr/lib/libpcl_io.so.1.7
(gdb) bt
#0 0x00007ffff7582a8c in boost::math::lanczos::lanczos_initializer<boost::math::lanczos::lanczos17m64, long double>::init::init() ()
from /usr/lib/libpcl_io.so.1.7
#1 0x00007ffff750d186 in ?? () from /usr/lib/libpcl_io.so.1.7
#2 0x00007ffff7dea13a in call_init (l=<optimised out>, argc=argc@entry=1, argv=argv@entry=0x7fffffffe138, env=env@entry=0x7fffffffe148) at dl-init.c:78
#3 0x00007ffff7dea223 in call_init (env=<optimised out>, argv=<optimised out>, argc=<optimised out>, l=<optimised out>) at dl-init.c:36
#4 _dl_init (main_map=0x7ffff7ffe1c8, argc=1, argv=0x7fffffffe138, env=0x7fffffffe148) at dl-init.c:126
#5 0x00007ffff7ddb30a in _dl_start_user () from /lib64/ld-linux-x86-64.so.2
#6 0x0000000000000001 in ?? ()
#7 0x00007fffffffe3d5 in ?? ()
#8 0x0000000000000000 in ?? ()
(gdb) q
Any thoughts or recommendations are greatly appreciated.
This appears to be a clash with boost and your selected c++ standard during various compiles. Removing the -std=c++0x from catkin_ws/src/rgbdslam_v2/CMakeLists.txt no longer crashes in the same way. Shortly I will verify that the DSLAM as a whole is doing something productive now.
I have a similar problem. May I ask how did you compile without -std=c++0x ? it seems some components are forced to be compiled under C++11.