Segmentation Fault in lsd_slam [closed]
i have installed all nodes and dependencies properly.
when i run with any .bag example, the live_slam throws this error:
$ rosrun lsd_slam_core live_slam image:=/imraw camera_info:=/camera_info
libdc1394 error: Failed to initialize libdc1394
WAITING for ROS camera calibration!
Received ROS Camera Calibration: fx: 254.326950, fy: 375.934387, cx: 267.381897, cy: 231.599091 @ 640x480
RECEIVED ROS camera calibration!
Started mapping thread!
Started optimization thread
Started constraint search thread!
Doing Random initialization!
Segmentation fault (core dumped)
After gdb, the backtrace of live_slam gives:
(gdb) bt
1. 0xb7fdbbe0 in __kernel_vsyscall ()
2. 0xb7e2225c in pthread_cond_wait@@GLIBC_2.3.2 ()
at ../sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187
3. 0xb7d568c1 in void boost::condition_variable_any::waitboost::unique_lock<boost::recursive_mutex >(boost::unique_lockboost::recursive_mutex&) ()
from /home/anand/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/lib/liblsdslam.so
4. 0xb7d55fe3 in lsd_slam::LiveSLAMWrapper::Loop() ()
from /home/anand/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/lib/liblsdslam.so
5. 0x0806138f in main ()
THE ALLEYOOP GIVES:
==1823== Memcheck, a memory error detector
==1823== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==1823== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
==1823== Command: /home/anand/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/bin/live_slam
==1823==
==1823== Invalid read of size 1
==1823== at 0x0402f368: strlen (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==1823== by 0x040b2cda: ros::master::init(std::map, std::allocator > > const&) (in /opt/ros/jade/lib/libroscpp.so)
==1823== by 0x0414a768: ros::init(std::map, std::allocator > > const&, std::string const&, unsigned int) (in /opt/ros/jade/lib/libroscpp.so)
==1823== by 0x0414c5c3: ros::init(int&, char, std::string const&, unsigned int) (in /opt/ros/jade/lib/libroscpp.so)
==1823== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==1823==
==1823== Process terminating with default action of signal 11 (SIGSEGV)
==1823== Access not within mapped region at address 0x0
==1823== at 0x0402f368: strlen (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==1823== by 0x040b2cda: ros::master::init(std::map, std::allocator > > const&) (in /opt/ros/jade/lib/libroscpp.so)
==1823== by 0x0414a768: ros::init(std::map, std::allocator > > const&, std::string const&, unsigned int) (in /opt/ros/jade/lib/libroscpp.so)
==1823== by 0x0414c5c3: ros::init(int&, char, std::string const&, unsigned int) (in /opt/ros/jade/lib/libroscpp.so)
==1823== If you believe this happened as a result of a stack
==1823== overflow in your program's main thread (unlikely but
==1823== possible), you can try to increase the size of the
==1823== main thread stack using the --main-stacksize= flag.
==1823== The main thread stack size used in this run was 8388608.
==1823==
==1823== HEAP SUMMARY:
==1823== in use at exit: 507,924 bytes in 1,880 blocks
==1823== total heap usage: 3,518 allocs, 1,638 frees, 660,264 bytes allocated
==1823==
==1823== For a detailed leak analysis, rerun with: --leak-check=full
==1823==
==1823== For counts of detected and suppressed errors, rerun with: -v
==1823== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
==1823==
I have digged and researched on this issue ...