robofit / but_velodyne

ROS packages for Velodyne 3D LIDARs provided by Robo@FIT group.
GNU Lesser General Public License v3.0
142 stars 98 forks source link

Program crashes after "roslaunch but_calibration_camera_velodyne calibration_coarse.launch" #10

Open WeiyiLi opened 8 years ago

WeiyiLi commented 8 years ago

Hi, when I tried to roslaunch calibration calibration_coarse.launch with valgrind, I got the following error and the process died. I tried to google the problem. One solution is to remove "-std=c++0x" from CMakeLists.txt but it doesn't work.

Since I am using Ubuntu 14.04, I used ROS Indigo instead of hydro. The version of pcl is 1.7. I also downloaded 1.7.1 and change CMakeLists.txt from "find_package(PCL 1.7 REQUIRED) " to find_package(PCL 1.7.1 REQUIRED) but it doesn't solve my problem.

The error is shown below,

... logging to /home/kathy/.ros/log/81df5b74-5442-11e6-9a33-bc305bcb99c7/roslaunch-kathy-PC-24948.log Checking log directory for disk usage. This may take awhile. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://kathy-PC:38970/

SUMMARY

PARAMETERS

NODES / calibration_coarse (but_calibration_camera_velodyne/calibration)

ROS_MASTER_URI=http://localhost:11311

core service [/rosout] found process[calibration_coarse-1]: started with pid [24966] ==24966== Memcheck, a memory error detector ==24966== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al. ==24966== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info ==24966== Command: /home/kathy/workspace/but_velodyne-hydro-devel3/but_calibration_camera_velodyne/build/devel/lib/but_calibration_camera_velodyne/calibration name:=calibration_coarse __log:=/home/kathy/.ros/log/81df5b74-5442-11e6-9a33-bc305bcb99c7/calibration_coarse-1.log ==24966== ==24966== ==24966== Process terminating with default action of signal 11 (SIGSEGV) ==24966== Bad permissions for mapped region at address 0x5ABB28 ==24966== at 0x5CAAAE0: boost::math::lanczos::lanczos_initializer<boost::math::lanczos::lanczos17m64, long double>::init::init() (in /usr/lib/libpcl_sample_consensus.so.1.7.1) ==24966== by 0x5C825CD: ??? (in /usr/lib/libpcl_sample_consensus.so.1.7.1) ==24966== by 0x4010109: call_init.part.0 (dl-init.c:78) ==24966== by 0x40101F2: call_init (dl-init.c:36) ==24966== by 0x40101F2: _dl_init (dl-init.c:126) ==24966== by 0x4001309: ??? (in /lib/x86_64-linux-gnu/ld-2.19.so) ==24966== by 0x2: ??? ==24966== by 0xFFEFFFBFA: ??? ==24966== by 0xFFEFFFC86: ??? ==24966== by 0xFFEFFFCA1: ??? ==24966== ==24966== HEAP SUMMARY: ==24966== in use at exit: 496,265 bytes in 3,512 blocks ==24966== total heap usage: 6,382 allocs, 2,870 frees, 876,519 bytes allocated ==24966== ==24966== LEAK SUMMARY: ==24966== definitely lost: 0 bytes in 0 blocks ==24966== indirectly lost: 0 bytes in 0 blocks ==24966== possibly lost: 28,993 bytes in 363 blocks ==24966== still reachable: 467,272 bytes in 3,149 blocks ==24966== suppressed: 0 bytes in 0 blocks ==24966== Rerun with --leak-check=full to see details of leaked memory ==24966== ==24966== For counts of detected and suppressed errors, rerun with: -v ==24966== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) [calibration_coarse-1] process has died [pid 24966, exit code -9, cmd valgrind /home/kathy/workspace/but_velodyne-hydro-devel3/but_calibration_camera_velodyne/build/devel/lib/but_calibration_camera_velodyne/calibration name:=calibration_coarse __log:=/home/kathy/.ros/log/81df5b74-5442-11e6-9a33-bc305bcb99c7/calibration_coarse-1.log]. log file: /home/kathy/.ros/log/81df5b74-5442-11e6-9a33-bc305bcb99c7/calibration_coarse-1*.log all processes on machine have died, roslaunch will exit shutting down processing monitor... ... shutting down processing monitor complete done

Same problem occurs when roslaunch but_calibration_camera_velodyne calibration_fine.launch

Can anyone help me? I have struggled on this problem for two days....Thank you!

martin-velas commented 8 years ago

Hi WeiyiLi - thanks for reporting this issue!

I think you struggle (same as I did) with problem referred here: http://www.pcl-users.org/Using-non-C-11-PCL-in-C-11-project-td4036998.html. So I would recommend to checkout-build-install latest PCL build.

FYI I'm using PCL ref: e6e986d6b3330a8d765f9bd0cc3f6eae8cdcdd80, ubuntu 14.04 and ROS hydro

Hope it helps, Martin.

WeiyiLi commented 8 years ago

@martin-velas Thank you very much! The link you provided helps me fix the error and it doesn't terminate. However, it stops (not terminate) at "process[calibration_coarse-1]: started with pid [8828]" after I run the program with an usb camera and Velodyne. I wait for minutes but there is no more outputs...I am not sure whether the program is running during this period..

It might be stuck in code "sync.registerCallback(boost::bind(&callback, _1, _2, _3));", which is in main class of calibration-node.cpp because I put three "cout" before and after this sentence, and at beginning of callback function. Only the "cout" before this sentence prints something.

Do you know why the program pauses at this moment? And is there any way to visualize the processing? I opened rviz after I run the program but it shows nothing....Thx for your help again! :)

martin-velas commented 8 years ago

First of all - make sure, that the sensory data are propagated into the proper topics. You can list the topics by rostopic list and also view the data by rviz. The expected names of the topics for particular data (rgb, velodyne, camera info) are set in the configuration file - you can either remap your topics to these ones or change the names in config file directly.

Cheers, M.

WeiyiLi commented 8 years ago

@martin-velas As you said, I checked the topics and finally found out the problem and make it running! Thank you very much! For the configuration file, can I know what is the unit for circles distance and circles radius? Meter or feet?

martin-velas commented 8 years ago

meters

janu0510 commented 3 years ago

@martin-velas As you said, I checked the topics and finally found out the problem and make it running! Thank you very much! For the configuration file, can I know what is the unit for circles distance and circles radius? Meter or feet?

Hello @WeiyiLi , Could you please let me know how you solved your issue? I have checked the topics and changed the config file, but still face the same issue as you had mentioned before.