LearnVIORB icon indicating copy to clipboard operation
LearnVIORB copied to clipboard

Shows segmentation fault while trying to run on Ubuntu 16.04

Open arin07 opened this issue 8 years ago • 8 comments

Hi While trying to run the code, I run into SIGSEGV error (probably segmentation fault) and the program exits. I tried debugging in qtcreator and found that it runs into the above problem at line 160 in ros_vio.cc "SLAM.TrackMonoVI(im, vimuData, imageMsg->header.stamp.toSec() - imageMsgDelaySec);" . I am new to this and have not been yet able to figure out what is causing this. Any help would be appreciated .

arin07 avatar Mar 30 '17 11:03 arin07

I just tested on ubuntu14.04... You may need to debug it..

jingpang avatar Apr 01 '17 11:04 jingpang

I am using 16.04 and running into core dumped like you but it's Aborted! not segfault. the result of gdb is shown below. Do you know how to solve this?

... Map scale updated ...

... Map NavState updated ...

LearnVI_Drone: /home/rasp/CLionProjects/LearnVI_Drone/VIORB/src/IMU/so3.cpp:122: Sophus::SO3::SO3(const Quaterniond&): Assertion `unit_quaternion_.squaredNorm() > SMALL_EPS' failed.

Thank you in advance :)

imrasp avatar Jun 29 '17 11:06 imrasp

@imrasp Did you solve this issue?

hitleeleo avatar Dec 27 '17 11:12 hitleeleo

@imrasp @hitleeleo Did you solve this issue?

NCHUPJ avatar Sep 23 '19 12:09 NCHUPJ

@imrasp Hi, i encountered the same problem as yours, it shows segfault on so3, i debug it with gdb but still has no idea where this bug from . Do yo have any idea or have you solved this problem?

iliferobot avatar Oct 22 '19 01:10 iliferobot

@NCHUPJ Hi, dont know whether you fixed this problem and I already fixed it by add EIGEN_MAKE_ALIGNED_OPERATOR_NEW inside the class and also change the type of mv20FramesReloc from vector<Frame> to vector<Frame,Eigen::aligned_allocator<Frame>> image you can have a try to see if it works

ns15417 avatar Oct 26 '19 01:10 ns15417

i encountered the same problem when running the KITTI dataset. Do you know how to deal with it?

yanmengting117 avatar Nov 14 '19 02:11 yanmengting117

@yanmengting117 as i said in the last comment, you need to add EIGEN_MAKE_ALIGNED_OPERATOR_NEW to the file which i forgot which file but it is the file containing the variable mv20FramesReloc; when you find the file, first, add EIGEN_MAKE_ALIGNED_OPERATOR_NEW inside the class, and second, change mv20FramesReloc from vector to vector<Frame,Eigen::aligned_allocator>

ns15417 avatar Dec 03 '19 09:12 ns15417