- 
                Notifications
    
You must be signed in to change notification settings  - Fork 33
 
Description
Hello everyone,
I built SLOAM with debug option to debug it with GDB:
catkin build -DCMAKE_BUILD_TYPE=Debug
And then, I was running SLOAM on: ubuntu 20.04; ros noetic:
roslaunch sloam run_sim.launch
But when LiDAR information came up, it emitted the fatal error: free(): invalid pointer
I debugged it with GDB by add launch-prefix="xterm -fa 'Monospace' -fs 14 -e gdb --args" to sloam node in sloam.launch as following:
... <node pkg="sloam" type="sloam_node" name="sloam" output="screen" launch-prefix="xterm -fa 'Monospace' -fs 14 -e gdb --args"> ...
Through debugging I found out, this error comes from Segmentation::run(..) function, at line 374, in inference.cpp file
it is so strange that

As above figure, when I am at line 445, only with command line: if(_verbose)
the next line should has been line 446 (if _verbose is true) or 448 (end of run(..) function), but it is line 421 (marked red in figure)
Continuing to debug, next line is decreasing (421 -> 420 -> ... -> 385), not increasing
I still DID NOT figure out why the program run so