Closed Chun-Yang1 closed 2 months ago
Can you change the run.launch file into using the GDB debugging and then attach the log here?
<!--node pkg="fast_lio_sam_qn" type="fast_lio_sam_qn_node" name="fast_lio_sam_qn_node" output="screen"/-->
<node pkg="fast_lio_sam_qn" type="fast_lio_sam_qn_node" name="fast_lio_sam_qn_node" output="screen" launch-prefix="gdb -ex run --args"/>
I guess you have plural FLANN libraries on your computer.
fast_lio_sam_qn_node: /build/pcl-gWGA5r/pcl-1.10.0+dfsg/kdtree/include/pcl/kdtree/impl/kdtree_flann.hpp:138: int pcl::KdTreeFLANN<PointT, Dist>::nearestKSearch(const PointT&, int, std::vector
Thread 10 "fast_lio_sam_qn" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffcffff700 (LWP 49595)]
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50 ../sysdeps/unix/sysv/linux/raise.c: 没有那个文件或目录.
(gdb) c
Continuing.
Couldn't get registers: 没有那个进程.
Couldn't get registers: 没有那个进程.
(gdb) [Thread 0x7fff7ffff700 (LWP 49854) exited]
[Thread 0x7fff84ff9700 (LWP 49853) exited]
[Thread 0x7fff85ffb700 (LWP 49852) exited]
[Thread 0x7fff857fa700 (LWP 49851) exited]
[Thread 0x7fff8c7f8700 (LWP 49850) exited]
[Thread 0x7fff867fc700 (LWP 49845) exited]
[Thread 0x7fff86ffd700 (LWP 49844) exited]
[Thread 0x7fff877fe700 (LWP 49843) exited]
[Thread 0x7fff87fff700 (LWP 49842) exited]
[Thread 0x7fff8cff9700 (LWP 49841) exited]
[Thread 0x7fff8d7fa700 (LWP 49840) exited]
[Thread 0x7fff8dffb700 (LWP 49839) exited]
[Thread 0x7fff8e7fc700 (LWP 49838) exited]
[Thread 0x7fff8effd700 (LWP 49837) exited]
[Thread 0x7fff8f7fe700 (LWP 49836) exited]
[Thread 0x7fff8ffff700 (LWP 49835) exited]
[Thread 0x7fffcc7f2700 (LWP 49834) exited]
[Thread 0x7fffccff4700 (LWP 49833) exited]
[Thread 0x7fffccbf3700 (LWP 49832) exited]
[Thread 0x7fffcd3f5700 (LWP 49831) exited]
[Thread 0x7fffcdff8700 (LWP 49829) exited]
[Thread 0x7fffcdbf7700 (LWP 49830) exited]
[Thread 0x7fffcd7f6700 (LWP 49828) exited]
[Thread 0x7fffce3f9700 (LWP 49827) exited]
[Thread 0x7fffceffc700 (LWP 49826) exited]
[Thread 0x7fffce7fa700 (LWP 49825) exited]
[Thread 0x7fffcebfb700 (LWP 49824) exited]
[Thread 0x7fffcf3fd700 (LWP 49823) exited]
[Thread 0x7fffcf7fe700 (LWP 49822) exited]
[Thread 0x7fffe47f8700 (LWP 49821) exited]
[Thread 0x7fffe4ff9700 (LWP 49594) exited]
[Thread 0x7fffe57fa700 (LWP 49593) exited]
[Thread 0x7fffe5ffb700 (LWP 49592) exited]
[Thread 0x7fffe67fc700 (LWP 49591) exited]
[Thread 0x7fffe6ffd700 (LWP 49590) exited]
[Thread 0x7fffe77fe700 (LWP 49589) exited]
[Thread 0x7fffe7fff700 (LWP 49588) exited]
[Thread 0x7fffecc14700 (LWP 49587) exited]
[Thread 0x7fffed6b0900 (LWP 49539) exited]
--Type
Program terminated with signal SIGABRT, Aborted. The program no longer exists.
GDB debug log is this?
You should type "bt" and enter after you get the error in GDB debug. Then, GDB will give you the more details of the error including which lines and reasons of the error
(gdb) bt
fmt=0x7ffff73c3588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
assertion=0x7ffff4213620 "point_representation_->isValid (point) && \"Invalid (NaN, Inf) point coordinates given to nearestKSearch!\"",
file=0x7ffff42135c8 "/build/pcl-gWGA5r/pcl-1.10.0+dfsg/kdtree/include/pcl/kdtree/impl/kdtree_flann.hpp", line=138, function=<optimized out>) at assert.c:92
assertion=0x7ffff4213620 "point_representation_->isValid (point) && \"Invalid (NaN, Inf) point coordinates given to nearestKSearch!\"",
file=0x7ffff42135c8 "/build/pcl-gWGA5r/pcl-1.10.0+dfsg/kdtree/include/pcl/kdtree/impl/kdtree_flann.hpp", line=138,
function=0x7ffff4213690 "int pcl::KdTreeFLANN<PointT, Dist>::nearestKSearch(const PointT&, int, std::vector<int>&, std::vector<float>&) const [with PointT = pcl::PointXYZI; Dist = flann::L2_Simple<float>]") at assert.c:101
from /lib/x86_64-linux-gnu/libpcl_kdtree.so.1.10
max_range=max_range@entry=1.7976931348623157e+308)
--Type
Is GDB like this?
--Type
this=this@entry=0x7fffffffc510, front_keyframe=...,
closest_idx=@0x7fffe67f44d4: 0,
keyframes=std::vector of length 2, capacity 2 = {...},
if_converged=@0x7fffe67f44d2: true,
score=@0x7fffe67f44d8: 6.9533346683999927e-310)
at /home/yang/FAST-LIO-SAM-QN/src/FAST-LIO-SAM-QN/fast_lio_sam_qn/src/methods.cpp:136
this=0x7fffffffc510, event=...)
at /home/yang/FAST-LIO-SAM-QN/src/FAST-LIO-SAM-QN/fast_lio_sam_qn/src/callbacks.cpp:159
from /opt/ros/noetic/lib/libroscpp.so
from /opt/ros/noetic/lib/libroscpp.so
from /lib/x86_64-linux-gnu/libboost_thread.so.1.71.0
--Type
The problem is probably from your data. Could you check your data again? NaN
happens from your point cloud.
--Type for more, q to quit, c to continue without paging----键入更多,键入 q 退出,键入 c 继续而不分页-- at /usr/include/c++/9/bits/stl_vector.h:1040位于 /usr/include/c++/9/bits/stl_vector.h:1040 #6 0x00007ffff7cb8bbb in FastLioSamQnClass::coarseToFineKeyToKey (FastLioSamQnClass::coarseToFineKeyToKey 中的 #6 0x00007ffff7cb8bbb ( this=this@entry=0x7fffffffc510, front_keyframe=...,this=this@entry=0x7fffffffc510, front_keyframe=..., closest_idx=@0x7fffe67f44d4: 0, keyframes=std::vector of length 2, capacity 2 = {...},keyframes=std::vector 长度为 2,容量 2 = {...}, if_converged=@0x7fffe67f44d2: true,if_converged=@0x7fffe67f44d2: true, score=@0x7fffe67f44d8: 6.9533346683999927e-310)分数=@0x7fffe67f44d8:6.9533346683999927e-310) at /home/yang/FAST-LIO-SAM-QN/src/FAST-LIO-SAM-QN/fast_lio_sam_qn/src/methods.cpp:136在 /home/yang/FAST-LIO-SAM-QN/src/FAST-LIO-SAM-QN/fast_lio_sam_qn/src/methods.cpp:136 #7 0x00007ffff7cec13f in FastLioSamQnClass::loopTimerFunc (#7 FastLioSamQnClass::loopTimerFunc 中的 0x00007ffff7cec13f ( this=0x7fffffffc510, event=...)this=0x7fffffffc510, event=...) at /home/yang/FAST-LIO-SAM-QN/src/FAST-LIO-SAM-QN/fast_lio_sam_qn/src/callbacks.cpp:159在 /home/yang/FAST-LIO-SAM-QN/src/FAST-LIO-SAM-QN/fast_lio_sam_qn/src/callbacks.cpp:159 #8 0x00007ffff7ef4608 in ros::TimerManager<ros::Time, ros::Duration, ros::TimerEvent>::TimerQueueCallback::call() () from /opt/ros/noetic/lib/libroscpp.so#8 0x00007ffff7ef4608 in ros::TimerManager<ros::Time, ros::D uration, ros::TimerEvent>::TimerQueueCallback::call() () from /opt/ros/noetic/lib/libroscpp.so #9 0x00007ffff7f16172 in ros::CallbackQueue::callOneCB(ros::CallbackQueue::TLS) () from /opt/ros/noetic/lib/libroscpp.so#9 0x00007ffff7f16172 in ros::CallbackQueue::callOneCB(ros::CallbackQueue::TLS) () from /opt/ros/noetic/lib/libroscpp.so #10 0x00007ffff7f16f15 in ros::CallbackQueue::callOne(ros::WallDuration) ()#10 在 ros::CallbackQueue::callOne(ros::WallDuration) () 中0x00007ffff7f16f15 from /opt/ros/noetic/lib/libroscpp.so来自 /opt/ros/noetic/lib/libroscpp.so #11 0x00007ffff7f6a2f5 in ros::AsyncSpinnerImpl::threadFunc() ()#11 在 ros::AsyncSpinnerImpl::threadFunc() () 中0x00007ffff7f6a2f5 from /opt/ros/noetic/lib/libroscpp.so来自 /opt/ros/noetic/lib/libroscpp.so #12 0x00007ffff706043b in ?? ()#12 0x00007ffff706043b 在 ??() from /lib/x86_64-linux-gnu/libboost_thread.so.1.71.0来自 /lib/x86_64-linux-gnu/libboost_thread.so.1.71.0 --Type for more, q to quit, c to continue without paging----键入更多,键入 q 退出,键入 c 继续而不分页--
Hello, I encountered the same issue as you. Initially, I didn't have this problem when I used it, but recently, after recompiling, the issue appeared. Have you managed to solve it?
[New Thread 0x7fff53ff7700 (LWP 1431930)] [新线程0x7fff53ff7700 (LWP 1431930)] [New Thread 0x7fff537f6700 (LWP 1431931)] [新线程0x7fff537f6700 (LWP 1431931)] [New Thread 0x7fff547f8700 (LWP 1431932)] [新线程0x7fff547f8700 (LWP 1431932)] [New Thread 0x7fff51ff3700 (LWP 1431933)] [新线程0x7fff51ff3700 (LWP 1431933)] [New Thread 0x7fff577fe700 (LWP 1431934)] [新线程0x7fff577fe700 (LWP 1431934)] [New Thread 0x7fff56ffd700 (LWP 1431935)] [新线程0x7fff56ffd700 (LWP 1431935)] [New Thread 0x7fff567fc700 (LWP 1431936)] [新线程0x7fff567fc700 (LWP 1431936)] [New Thread 0x7fff55ffb700 (LWP 1431937)] [新线程0x7fff55ffb700 (LWP 1431937)] [New Thread 0x7fff557fa700 (LWP 1431938)] [新线程0x7fff557fa700 (LWP 1431938)] [New Thread 0x7fff54ff9700 (LWP 1431939)] [新线程0x7fff54ff9700 (LWP 1431939)] [New Thread 0x7fff52ff5700 (LWP 1431940)] [新线程0x7fff52ff5700 (LWP 1431940)] [New Thread 0x7fff527f4700 (LWP 1431941)] [新线程0x7fff527f4700 (LWP 1431941)] Starting scale solver (only selecting inliers if scale estimation has been disabled). 启动比例求解器(如果已禁用比例估计,则仅选择内部变量)。 Scale estimation complete. 比例尺估计完成。 Max core number: 2 最大核心数:2 Num vertices: 53 顶点数:53 Max Clique of scale estimation inliers: 尺度估计内部值的最大 Clique: Using chain graph for GNC rotation. 使用链图进行 GNC 旋转。 Starting rotation solver. 启动旋转求解器。 GNC rotation estimation noise bound:0.6 GNC 旋转估计噪声边界:0.6 GNC rotation estimation noise bound squared:0.36 GNC 旋转估计噪声边界平方:0.36 GNC-TLS solver terminated due to cost convergence. GNC-TLS 求解器因成本收敛而终止。 Cost diff: 0 成本差异:0 Iterations: 5 迭代次数:5 Rotation estimation complete. 旋转估计完成。 Starting translation solver. 启动翻译求解器。 Translation estimation complete. 翻译估计完成。 double free or corruption (out) 双重释放或损坏 (out)
Hello, this always appears before each segmentation fault. Do you have any good solutions? 您好,这始终出现在每个分段错误之前。您有什么好的解决方案吗?
@Chun-Yang1 @Guoc0529
I just cloned this repository on the clean computer and tested the algorithm with KITTI and HILTI datasets without any errors or issues. It works well. I wonder if you guys changed any config parameters or source codes and what are your versions of dependencies?
I am using Ubuntu 20.04 with ROS-noetic, ROS-noetic-desktop-full's default PCL. I tested both of GTSAM 4.1 and 4.2
Only one thing came up in my mind is the version of TEASER++. I am using two commits behind the latest version of TEASER++, which is the commit baf69d948d77e8fe496a82e2fa3b1f41a9b1156f of Date: Tue Nov 21 01:07:17 2023 +0100.
If you want to test it,
git clone https://github.com/MIT-SPARK/TEASER-plusplus.git
cd TEASER-plusplus
git reset --hard baf69d948d77e8fe496a82e2fa3b1f41a9b1156f
mkdir build && cd build
cmake .. -DENABLE_DIAGNOSTIC_PRINT=OFF
sudo make install -j16
sudo ldconfig
Then, re-build this repository again. Please tell me if the issues are solved with the TEASER++ version.
Okay, I will test it today. Thank you for your patient response.
I recently replaced a brand new computer, which solved this problem. I don't know the reason either. thank you !!!
fast_lio_sam_qn_node: /build/pcl-gWGA5r/pcl-1.10.0+dfsg/kdtree/include/pcl/kdtree/impl/kdtree_flann.hpp:138: int pcl::KdTreeFLANN<PointT, Dist>::nearestKSearch(const PointT&, int, std::vector&, std::vector&) const [with PointT = pcl::PointXYZI; Dist = flann::L2_Simple]: Assertion `pointrepresentation->isValid (point) && "Invalid (NaN, Inf) point coordinates given to nearestKSearch!"' failed.
[fast_lio_sam_qn_node-3] process has died [pid 38536, exit code -6, cmd /home/yang/FAST-LIO-SAM-QN/devel/lib/fast_lio_sam_qn/fast_lio_sam_qn_node name:=fast_lio_sam_qn_node log:=/home/yang/.ros/log/bd02a41e-7729-11ef-8e1c-0512efef2e98/fast_lio_sam_qn_node-3.log].
log file: /home/yang/.ros/log/bd02a41e-7729-11ef-8e1c-0512efef2e98/fast_lio_sam_qn_node-3*.log
Hello, could you tell me how to solve this problem?